[llvm-commits] [llvm] r84676 - /llvm/trunk/test/Transforms/SCCP/ipsccp-basic.ll
Chris Lattner
sabre at nondot.org
Tue Oct 20 14:04:26 PDT 2009
Author: lattner
Date: Tue Oct 20 16:04:26 2009
New Revision: 84676
URL: http://llvm.org/viewvc/llvm-project?rev=84676&view=rev
Log:
add a real testcase for PR4313
Modified:
llvm/trunk/test/Transforms/SCCP/ipsccp-basic.ll
Modified: llvm/trunk/test/Transforms/SCCP/ipsccp-basic.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/SCCP/ipsccp-basic.ll?rev=84676&r1=84675&r2=84676&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/SCCP/ipsccp-basic.ll (original)
+++ llvm/trunk/test/Transforms/SCCP/ipsccp-basic.ll Tue Oct 20 16:04:26 2009
@@ -102,3 +102,35 @@
}
; CHECK: define internal i64 @test4c
; CHECK: ret i64 undef
+
+
+
+;;======================== test5
+
+; PR4313
+define internal {i64,i64} @test5a() {
+ %a = insertvalue {i64,i64} undef, i64 4, 1
+ %b = insertvalue {i64,i64} %a, i64 5, 0
+ ret {i64,i64} %b
+}
+
+define i64 @test5b() {
+ %a = invoke {i64,i64} @test5a()
+ to label %A unwind label %B
+A:
+ %c = call i64 @test5c({i64,i64} %a)
+ ret i64 %c
+B:
+ ret i64 0
+}
+
+; CHECK: define i64 @test5b()
+; CHECK: A:
+; CHECK-NEXT: %c = call i64 @test5c(%0 %a)
+; CHECK-NEXT: ret i64 %c
+
+define internal i64 @test5c({i64,i64} %a) {
+ %b = extractvalue {i64,i64} %a, 0
+ ret i64 %b
+}
+
More information about the llvm-commits
mailing list