summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2009-07-23 18:27:47 +0000
committerEvan Cheng <evan.cheng@apple.com>2009-07-23 18:27:47 +0000
commitd2919a1773109edf5758dd0083a6d79e8769e829 (patch)
tree481b694ab4f5608610fc970da9f9f7bd992f3d31 /llvm/test
parent95a73e2eab47145828ff2dd7cdd9e67a5a1817b9 (diff)
downloadbcm5719-llvm-d2919a1773109edf5758dd0083a6d79e8769e829.tar.gz
bcm5719-llvm-d2919a1773109edf5758dd0083a6d79e8769e829.zip
Fix up ARM constant island pass for Thumb2.
Also fixed up code to fully use the SoImm field for ADR on ARM mode. llvm-svn: 76890
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/CodeGen/Thumb2/2009-07-23-CPIslandBug.ll22
1 files changed, 22 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/Thumb2/2009-07-23-CPIslandBug.ll b/llvm/test/CodeGen/Thumb2/2009-07-23-CPIslandBug.ll
new file mode 100644
index 00000000000..9d208ce08ac
--- /dev/null
+++ b/llvm/test/CodeGen/Thumb2/2009-07-23-CPIslandBug.ll
@@ -0,0 +1,22 @@
+; RUN: llvm-as < %s | llc -mtriple=thumbv7-apple-darwin9 -mattr=+vfp2,+thumb2
+; rdar://7083961
+
+define arm_apcscc i32 @value(i64 %b1, i64 %b2) nounwind readonly {
+entry:
+ %0 = icmp eq i32 undef, 0 ; <i1> [#uses=1]
+ %mod.0.ph.ph = select i1 %0, float -1.000000e+00, float 1.000000e+00 ; <float> [#uses=1]
+ br label %bb7
+
+bb7: ; preds = %bb7, %entry
+ br i1 undef, label %bb86.preheader, label %bb7
+
+bb86.preheader: ; preds = %bb7
+ %1 = fmul float %mod.0.ph.ph, 5.000000e+00 ; <float> [#uses=0]
+ br label %bb79
+
+bb79: ; preds = %bb79, %bb86.preheader
+ br i1 undef, label %bb119, label %bb79
+
+bb119: ; preds = %bb79
+ ret i32 undef
+}
OpenPOWER on IntegriCloud