summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
diff options
context:
space:
mode:
authorKristof Beyls <kristof.beyls@arm.com>2017-02-23 12:24:55 +0000
committerKristof Beyls <kristof.beyls@arm.com>2017-02-23 12:24:55 +0000
commit5ac6adbb6d65989973fea4926d90e1c8a06d6262 (patch)
tree4e88ab9a8530ebcd6ced764aab86aff8a2f80e7d /llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
parent858d8e672d0799d3a6e2e2f5015c7b858f656824 (diff)
downloadbcm5719-llvm-5ac6adbb6d65989973fea4926d90e1c8a06d6262.tar.gz
bcm5719-llvm-5ac6adbb6d65989973fea4926d90e1c8a06d6262.zip
Fix assertion failure in ARMConstantIslandPass.
The ARMConstantIslandPass didn't have support for handling accesses to constant island objects through ARM::t2LDRBpci instructions. This adds support for that. This fixes PR31997. llvm-svn: 295964
Diffstat (limited to 'llvm/lib/Target/ARM/ARMConstantIslandPass.cpp')
-rw-r--r--llvm/lib/Target/ARM/ARMConstantIslandPass.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp b/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
index 4f6cde005fc..8b1204f257a 100644
--- a/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
+++ b/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
@@ -805,6 +805,7 @@ initializeFunctionInfo(const std::vector<MachineInstr*> &CPEMIs) {
case ARM::LDRcp:
case ARM::t2LDRpci:
case ARM::t2LDRHpci:
+ case ARM::t2LDRBpci:
Bits = 12; // +-offset_12
NegOk = true;
break;
OpenPOWER on IntegriCloud