summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorJyotsna Verma <jverma@codeaurora.org>2013-01-17 18:42:37 +0000
committerJyotsna Verma <jverma@codeaurora.org>2013-01-17 18:42:37 +0000
commit9b60c1d171189df5cd739e45617eb469c4135c4a (patch)
tree69eee1ecb3004cfd6bc538f7c81dbd608a119285 /llvm/lib
parent1d777513e5cedb0f0e7c95683744751f3ed72397 (diff)
downloadbcm5719-llvm-9b60c1d171189df5cd739e45617eb469c4135c4a.tar.gz
bcm5719-llvm-9b60c1d171189df5cd739e45617eb469c4135c4a.zip
Add indexed load/store instructions for offset validation check.
This patch fixes bug 14902 - http://llvm.org/bugs/show_bug.cgi?id=14902 llvm-svn: 172737
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp b/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
index 3b1ae098f81..ab35982cf97 100644
--- a/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
+++ b/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
@@ -2352,7 +2352,9 @@ isValidOffset(const int Opcode, const int Offset) const {
switch(Opcode) {
case Hexagon::LDriw:
+ case Hexagon::LDriw_indexed:
case Hexagon::LDriw_f:
+ case Hexagon::STriw_indexed:
case Hexagon::STriw:
case Hexagon::STriw_f:
assert((Offset % 4 == 0) && "Offset has incorrect alignment");
@@ -2360,8 +2362,10 @@ isValidOffset(const int Opcode, const int Offset) const {
(Offset <= Hexagon_MEMW_OFFSET_MAX);
case Hexagon::LDrid:
+ case Hexagon::LDrid_indexed:
case Hexagon::LDrid_f:
case Hexagon::STrid:
+ case Hexagon::STrid_indexed:
case Hexagon::STrid_f:
assert((Offset % 8 == 0) && "Offset has incorrect alignment");
return (Offset >= Hexagon_MEMD_OFFSET_MIN) &&
OpenPOWER on IntegriCloud