diff options
author | Tim Northover <tnorthover@apple.com> | 2016-12-06 18:38:38 +0000 |
---|---|---|
committer | Tim Northover <tnorthover@apple.com> | 2016-12-06 18:38:38 +0000 |
commit | c1a23854f31693b7dde4cb12b53df0b5cde48a1d (patch) | |
tree | 8cc0bd639f80d75dcd0ac3abda37454e262ed444 /llvm/lib/Target/AArch64/AArch64RegisterBankInfo.cpp | |
parent | f50f2f3d3268b016c9940adabcadc1e8378303b5 (diff) | |
download | bcm5719-llvm-c1a23854f31693b7dde4cb12b53df0b5cde48a1d.tar.gz bcm5719-llvm-c1a23854f31693b7dde4cb12b53df0b5cde48a1d.zip |
GlobalISel: handle G_SEQUENCE fallbacks gracefully.
There were two problems:
+ AArch64 was reusing random data from its binary op tables, which is
complete nonsense for G_SEQUENCE.
+ Even when AArch64 gave up and said it couldn't handle G_SEQUENCE,
the generic code asserted.
llvm-svn: 288836
Diffstat (limited to 'llvm/lib/Target/AArch64/AArch64RegisterBankInfo.cpp')
-rw-r--r-- | llvm/lib/Target/AArch64/AArch64RegisterBankInfo.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64RegisterBankInfo.cpp b/llvm/lib/Target/AArch64/AArch64RegisterBankInfo.cpp index ef6c869e3ff..a5fd2fbdde1 100644 --- a/llvm/lib/Target/AArch64/AArch64RegisterBankInfo.cpp +++ b/llvm/lib/Target/AArch64/AArch64RegisterBankInfo.cpp @@ -494,6 +494,10 @@ AArch64RegisterBankInfo::getInstrMapping(const MachineInstr &MI) const { AArch64::getCopyMapping(DstIsGPR, SrcIsGPR, Size), /*NumOperands*/ 2}; } + case TargetOpcode::G_SEQUENCE: + // FIXME: support this, but the generic code is really not going to do + // anything sane. + return InstructionMapping(); default: break; } |