OSDN Git Service

[MIR] Print target-specific constant pools
authorDiana Picus <diana.picus@linaro.org>
Wed, 2 Aug 2017 11:09:30 +0000 (11:09 +0000)
committerDiana Picus <diana.picus@linaro.org>
Wed, 2 Aug 2017 11:09:30 +0000 (11:09 +0000)
commitbb326e2526455f10c7c464c99c0ab3427096b6ab
tree0877d0e9f8e3f4c25ea238d951ee4ce011734b5b
parente36182d580b46409793c84ab1754f8d396a60880
[MIR] Print target-specific constant pools

This should enable us to test the generation of target-specific constant
pools, e.g. for ARM:

constants:
 - id:              0
   value:           'g(GOT_PREL)-(LPC0+8-.)'
   alignment:       4
   isTargetSpecific: true

I intend to use this to test PIC support in GlobalISel for ARM.

This is difficult to test outside of that context, since the existing
MIR tests usually rely on parser support as well, and that seems a bit
trickier to add. We could try to add a unit test, but the setup for that
seems rather convoluted and overkill.

We do test however that the parser reports a nice error when
encountering a target-specific constant pool.

Differential Revision: https://reviews.llvm.org/D36092

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@309806 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/MIRYamlMapping.h
lib/CodeGen/MIRParser/MIRParser.cpp
lib/CodeGen/MIRPrinter.cpp
test/CodeGen/MIR/ARM/target-constant-pools-error.mir [new file with mode: 0644]
test/CodeGen/MIR/X86/constant-pool.mir