summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2012-02-27 02:13:03 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2012-02-27 02:13:03 +0000
commit09a4201d3ca6f03aa59ad504ec0d6a0b63f69de6 (patch)
treeca74bb4d1f5fdce99fdd77ab08e2a4e0bd4e8e30 /llvm/test
parent6491c8020e0b31c66a7c82bd3334106f5c86f203 (diff)
downloadbcm5719-llvm-09a4201d3ca6f03aa59ad504ec0d6a0b63f69de6.tar.gz
bcm5719-llvm-09a4201d3ca6f03aa59ad504ec0d6a0b63f69de6.zip
Fix this assert. IP can point to an instruction with strange dominance
properties (invoke). Just assert that the instruction we return dominates the insertion point. llvm-svn: 151511
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/Transforms/LoopStrengthReduce/dominate-assert.ll30
1 files changed, 30 insertions, 0 deletions
diff --git a/llvm/test/Transforms/LoopStrengthReduce/dominate-assert.ll b/llvm/test/Transforms/LoopStrengthReduce/dominate-assert.ll
index 89f2f603349..b87bf620dec 100644
--- a/llvm/test/Transforms/LoopStrengthReduce/dominate-assert.ll
+++ b/llvm/test/Transforms/LoopStrengthReduce/dominate-assert.ll
@@ -38,3 +38,33 @@ bb8:
bb9:
resume { i8*, i32 } zeroinitializer
}
+
+
+define void @h() {
+bb1:
+ invoke void @g() optsize
+ to label %bb2 unwind label %bb5
+bb2:
+ %arrayctor.cur = phi i8* [ undef, %bb1 ], [ %arrayctor.next, %bb3 ]
+ invoke void @g() optsize
+ to label %bb3 unwind label %bb6
+bb3:
+ %arrayctor.next = getelementptr inbounds i8* %arrayctor.cur, i64 1
+ br label %bb2
+bb4:
+ ret void
+bb5:
+ %tmp = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
+ cleanup
+ invoke void @g() optsize
+ to label %bb4 unwind label %bb7
+bb6:
+ %tmp1 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
+ cleanup
+ %arraydestroy.isempty = icmp eq i8* undef, %arrayctor.cur
+ ret void
+bb7:
+ %lpad.nonloopexit = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
+ catch i8* null
+ ret void
+}
OpenPOWER on IntegriCloud