1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 04:22:57 +02:00
llvm-mirror/test/CodeGen/MIR/X86
Tim Northover e0dc000a0d GlobalISel: move type information to MachineRegisterInfo.
We want each register to have a canonical type, which means the best place to
store this is in MachineRegisterInfo rather than on every MachineInstr that
happens to use or define that register.

Most changes following from this are pretty simple (you need an MRI anyway if
you're going to be doing any transformations, so just check the type there).
But legalization doesn't really want to check redundant operands (when, for
example, a G_ADD only ever has one type) so I've made use of MCInstrDesc's
operand type field to encode these constraints and limit legalization's work.

As an added bonus, more validation is possible, both in MachineVerifier and
MachineIRBuilder (coming soon).

llvm-svn: 281035
2016-09-09 11:46:34 +00:00
..
basic-block-liveins.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
basic-block-not-at-start-of-line-error.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
block-address-operands.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
callee-saved-info.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
cfi-def-cfa-offset.mir MIRParser: Use shorter cfi identifiers 2016-07-26 18:20:00 +00:00
cfi-def-cfa-register.mir MIRParser: Use shorter cfi identifiers 2016-07-26 18:20:00 +00:00
cfi-offset.mir MIRParser: Use shorter cfi identifiers 2016-07-26 18:20:00 +00:00
constant-pool-item-redefinition-error.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
constant-pool.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
constant-value-error.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
dead-register-flag.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
def-register-already-tied-error.mir MIRParser/MIRPrinter: Compute HasInlineAsm instead of printing/parsing it 2016-08-24 22:34:06 +00:00
duplicate-memory-operand-flag.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
duplicate-register-flag-error.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
early-clobber-register-flag.mir MIRParser/MIRPrinter: Compute HasInlineAsm instead of printing/parsing it 2016-08-24 22:34:06 +00:00
expected-align-in-memory-operand.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
expected-alignment-after-align-in-memory-operand.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
expected-basic-block-at-start-of-body.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
expected-block-reference-in-blockaddress.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
expected-comma-after-cfi-register.mir MIRParser: Use shorter cfi identifiers 2016-07-26 18:20:00 +00:00
expected-comma-after-memory-operand.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
expected-different-implicit-operand.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
expected-different-implicit-register-flag.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
expected-function-reference-after-blockaddress.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
expected-global-value-after-blockaddress.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
expected-integer-after-offset-sign.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
expected-integer-after-tied-def.mir MIRParser/MIRPrinter: Compute HasInlineAsm instead of printing/parsing it 2016-08-24 22:34:06 +00:00
expected-integer-in-successor-weight.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
expected-load-or-store-in-memory-operand.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
expected-machine-operand.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
expected-metadata-node-after-debug-location.mir MIRParser/MIRPrinter: Compute isSSA instead of printing/parsing it. 2016-08-24 01:32:41 +00:00
expected-metadata-node-after-exclaim.mir MIRParser/MIRPrinter: Compute isSSA instead of printing/parsing it. 2016-08-24 01:32:41 +00:00
expected-metadata-node-in-stack-object.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
expected-named-register-in-allocation-hint.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
expected-named-register-in-callee-saved-register.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
expected-named-register-in-functions-livein.mir MIRParser/MIRPrinter: Compute isSSA instead of printing/parsing it. 2016-08-24 01:32:41 +00:00
expected-named-register-livein.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
expected-newline-at-end-of-list.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
expected-number-after-bb.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
expected-offset-after-cfi-operand.mir MIRParser: Use shorter cfi identifiers 2016-07-26 18:20:00 +00:00
expected-pointer-value-in-memory-operand.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
expected-positive-alignment-after-align.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
expected-register-after-cfi-operand.mir MIRParser: Use shorter cfi identifiers 2016-07-26 18:20:00 +00:00
expected-register-after-flags.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
expected-size-integer-after-memory-operation.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
expected-stack-object.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
expected-subregister-after-colon.mir MIRParser/MIRPrinter: Compute isSSA instead of printing/parsing it. 2016-08-24 01:32:41 +00:00
expected-target-flag-name.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
expected-tied-def-after-lparen.mir MIRParser/MIRPrinter: Compute HasInlineAsm instead of printing/parsing it 2016-08-24 22:34:06 +00:00
expected-value-in-memory-operand.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
expected-virtual-register-in-functions-livein.mir MIRParser/MIRPrinter: Compute isSSA instead of printing/parsing it. 2016-08-24 01:32:41 +00:00
external-symbol-operands.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
fixed-stack-memory-operands.mir MIRParser: Use shorter cfi identifiers 2016-07-26 18:20:00 +00:00
fixed-stack-object-redefinition-error.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
fixed-stack-objects.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
frame-info-save-restore-points.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
frame-info-stack-references.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
frame-setup-instruction-flag.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
function-liveins.mir MIRParser/MIRPrinter: Compute isSSA instead of printing/parsing it. 2016-08-24 01:32:41 +00:00
generic-instr-type.mir GlobalISel: move type information to MachineRegisterInfo. 2016-09-09 11:46:34 +00:00
global-value-operands.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
immediate-operands.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
implicit-register-flag.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
inline-asm-registers.mir MIRParser/MIRPrinter: Compute HasInlineAsm instead of printing/parsing it 2016-08-24 22:34:06 +00:00
instructions-debug-location.mir MIRParser/MIRPrinter: Compute isSSA instead of printing/parsing it. 2016-08-24 01:32:41 +00:00
invalid-constant-pool-item.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
invalid-metadata-node-type.mir MIRParser/MIRPrinter: Compute isSSA instead of printing/parsing it. 2016-08-24 01:32:41 +00:00
invalid-target-flag-name.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
invalid-tied-def-index-error.mir MIRParser/MIRPrinter: Compute HasInlineAsm instead of printing/parsing it 2016-08-24 22:34:06 +00:00
jump-table-info.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
jump-table-redefinition-error.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
killed-register-flag.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
large-cfi-offset-number-error.mir MIRParser: Use shorter cfi identifiers 2016-07-26 18:20:00 +00:00
large-immediate-operand-error.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
large-index-number-error.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
large-offset-number-error.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
large-size-in-memory-operand-error.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
lit.local.cfg
liveout-register-mask.mir MIRParser: Use shorter cfi identifiers 2016-07-26 18:20:00 +00:00
machine-basic-block-operands.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
machine-instructions.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
machine-verifier.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
memory-operands.mir MIRParser: Use shorter cfi identifiers 2016-07-26 18:20:00 +00:00
metadata-operands.mir MIRParser/MIRPrinter: Compute isSSA instead of printing/parsing it. 2016-08-24 01:32:41 +00:00
missing-closing-quote.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
missing-comma.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
missing-implicit-operand.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
named-registers.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
newline-handling.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
null-register-operands.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
register-mask-operands.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
register-operands-target-flag-error.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
simple-register-allocation-hints.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
spill-slot-fixed-stack-object-aliased.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
spill-slot-fixed-stack-object-immutable.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
spill-slot-fixed-stack-objects.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
stack-object-debug-info.mir MIRParser/MIRPrinter: Compute isSSA instead of printing/parsing it. 2016-08-24 01:32:41 +00:00
stack-object-invalid-name.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
stack-object-operand-name-mismatch-error.mir MIRParser/MIRPrinter: Compute isSSA instead of printing/parsing it. 2016-08-24 01:32:41 +00:00
stack-object-operands.mir MIRParser/MIRPrinter: Compute isSSA instead of printing/parsing it. 2016-08-24 01:32:41 +00:00
stack-object-redefinition-error.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
stack-objects.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
standalone-register-error.mir MIRParser/MIRPrinter: Compute isSSA instead of printing/parsing it. 2016-08-24 01:32:41 +00:00
subreg-on-physreg.mir MIRParser: Use dot instead of colon to mark subregisters 2016-07-26 21:49:34 +00:00
subregister-index-operands.mir MIRParser/MIRPrinter: Compute isSSA instead of printing/parsing it. 2016-08-24 01:32:41 +00:00
subregister-operands.mir MIRParser/MIRPrinter: Compute isSSA instead of printing/parsing it. 2016-08-24 01:32:41 +00:00
successor-basic-blocks-weights.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
successor-basic-blocks.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
tied-def-operand-invalid.mir MIRParser/MIRPrinter: Compute HasInlineAsm instead of printing/parsing it 2016-08-24 22:34:06 +00:00
undef-register-flag.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
undefined-fixed-stack-object.mir MIRParser/MIRPrinter: Compute isSSA instead of printing/parsing it. 2016-08-24 01:32:41 +00:00
undefined-global-value.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
undefined-ir-block-in-blockaddress.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
undefined-ir-block-slot-in-blockaddress.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
undefined-jump-table-id.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
undefined-named-global-value.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
undefined-register-class.mir MIRParser/MIRPrinter: Compute isSSA instead of printing/parsing it. 2016-08-24 01:32:41 +00:00
undefined-stack-object.mir MIRParser/MIRPrinter: Compute isSSA instead of printing/parsing it. 2016-08-24 01:32:41 +00:00
undefined-value-in-memory-operand.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
undefined-virtual-register.mir MIRParser/MIRPrinter: Compute isSSA instead of printing/parsing it. 2016-08-24 01:32:41 +00:00
unexpected-size-non-generic-register-phys.mir MIRParser/MIRPrinter: Compute isSSA instead of printing/parsing it. 2016-08-24 01:32:41 +00:00
unexpected-size-non-generic-register.mir MIRParser/MIRPrinter: Compute isSSA instead of printing/parsing it. 2016-08-24 01:32:41 +00:00
unknown-instruction.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
unknown-machine-basic-block.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
unknown-metadata-keyword.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
unknown-metadata-node.mir MIRParser/MIRPrinter: Compute isSSA instead of printing/parsing it. 2016-08-24 01:32:41 +00:00
unknown-named-machine-basic-block.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
unknown-register.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
unknown-subregister-index-op.mir MIRParser/MIRPrinter: Compute isSSA instead of printing/parsing it. 2016-08-24 01:32:41 +00:00
unknown-subregister-index.mir MIRParser/MIRPrinter: Compute isSSA instead of printing/parsing it. 2016-08-24 01:32:41 +00:00
unrecognized-character.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
used-physical-register-info.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
variable-sized-stack-object-size-error.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
variable-sized-stack-objects.mir llc: Add support for -run-pass none 2016-07-16 02:24:59 +00:00
virtual-register-redefinition-error.mir MIRParser/MIRPrinter: Compute isSSA instead of printing/parsing it. 2016-08-24 01:32:41 +00:00
virtual-registers.mir MIRParser/MIRPrinter: Compute isSSA instead of printing/parsing it. 2016-08-24 01:32:41 +00:00