summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>2018-02-23 20:33:26 +0000
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>2018-02-23 20:33:26 +0000
commit96690ceceb2e162c43614c934bc7b6a02aaa30b6 (patch)
tree10a33e7c797796819ee8c992873eb72a5ee71d1f /llvm/test
parent97f66af615c26829531967d8657367bbed7e960d (diff)
downloadbcm5719-llvm-96690ceceb2e162c43614c934bc7b6a02aaa30b6.tar.gz
bcm5719-llvm-96690ceceb2e162c43614c934bc7b6a02aaa30b6.zip
[Hexagon] Recognize non-immediate constants in HexagonConstPropagation
llvm-svn: 325954
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/CodeGen/Hexagon/constp-andir-global.mir25
1 files changed, 25 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/Hexagon/constp-andir-global.mir b/llvm/test/CodeGen/Hexagon/constp-andir-global.mir
new file mode 100644
index 00000000000..f50e038c587
--- /dev/null
+++ b/llvm/test/CodeGen/Hexagon/constp-andir-global.mir
@@ -0,0 +1,25 @@
+# RUN: llc -march=hexagon -run-pass hexagon-constp %s -o - | FileCheck %s
+
+# Check that this doesn't crash.
+# CHECK: A2_andir killed %{{[0-9]+}}, @g
+
+--- |
+ @g = external global i32, align 4
+ define void @fred() {
+ ret void
+ }
+...
+
+---
+name: fred
+tracksRegLiveness: true
+body: |
+ bb.0:
+ %1:intregs = IMPLICIT_DEF
+ %0:intregs = L2_loadri_io %1, 0
+ %2:intregs = A2_addi killed %0, -1
+ %3:intregs = A2_subri -1, killed %2
+ %4:intregs = A2_andir killed %3, @g
+ %5:intregs = IMPLICIT_DEF
+ S2_storeri_io %5, 0, killed %4
+...
OpenPOWER on IntegriCloud