llvm-project/llvm/test/CodeGen/MIR/X86
Matthias Braun 74ad41c7cd MIRParser: Rewrite register info initialization; mostly NFC
This changes MachineRegisterInfo to be initializes after parsing all
instructions. This is in preparation for upcoming commits that allow the
register class specification on the operand or deduce them from the
MCInstrDesc.

This commit removes the unused feature of having nonsequential register
numbers. This was confusing anyway as the vreg numbers would be
different after parsing when you had "holes" in your numbering.

This patch also introduces the concept of an incomplete virtual
register. An incomplete virtual register may be used during .mir parsing
to construct MachineOperands without knowing the exact register class
(or register bank) yet.

NFC except for some error messages.

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

llvm-svn: 283848
2016-10-11 03:13:01 +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 GlobalISel: disambiguate types when printing MIR 2016-09-12 11:20:10 +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 GlobalISel: disambiguate types when printing MIR 2016-09-12 11:20:10 +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: Rewrite register info initialization; mostly NFC 2016-10-11 03:13:01 +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