summaryrefslogtreecommitdiff
path: root/test/Transforms/InstSimplify
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2011-09-05 18:16:19 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2011-09-05 18:16:19 +0000
commitae707bd5594e52a8b385760f99ff58aa8fede948 (patch)
tree3726515bd8ffa642caf5d49316cef37570f1c7ae /test/Transforms/InstSimplify
parentad99ef8bf59adf151ac217e3b2ae6abec41f76e6 (diff)
downloadllvm-ae707bd5594e52a8b385760f99ff58aa8fede948.tar.gz
llvm-ae707bd5594e52a8b385760f99ff58aa8fede948.tar.bz2
llvm-ae707bd5594e52a8b385760f99ff58aa8fede948.tar.xz
InstSimplify: Don't try to replace an extractvalue/insertvalue pair with the original value if types don't match.
Fixes clang selfhost. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139120 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/InstSimplify')
-rw-r--r--test/Transforms/InstSimplify/2011-09-05-InsertExtractValue.ll15
1 files changed, 11 insertions, 4 deletions
diff --git a/test/Transforms/InstSimplify/2011-09-05-InsertExtractValue.ll b/test/Transforms/InstSimplify/2011-09-05-InsertExtractValue.ll
index 4067d5dc76..d10c61fe2c 100644
--- a/test/Transforms/InstSimplify/2011-09-05-InsertExtractValue.ll
+++ b/test/Transforms/InstSimplify/2011-09-05-InsertExtractValue.ll
@@ -1,11 +1,8 @@
; RUN: opt < %s -instsimplify -S | FileCheck %s
-; CHECK-NOT: extractvalue
-; CHECK-NOT: insertvalue
-
declare void @bar()
-define void @foo() {
+define void @test1() {
entry:
invoke void @bar() to label %cont unwind label %lpad
cont:
@@ -17,6 +14,16 @@ lpad:
%exc_ptr2 = insertvalue { i8*, i32 } undef, i8* %exc_ptr, 0
%filter2 = insertvalue { i8*, i32 } %exc_ptr2, i32 %filter, 1
resume { i8*, i32 } %filter2
+; CHECK: @test1
+; CHECK-NOT: extractvalue
+; CHECK-NOT: insertvalue
}
declare i32 @__gxx_personality_v0(i32, i64, i8*, i8*)
+
+define { i8, i32 } @test2({ i8*, i32 } %x) {
+ %ex = extractvalue { i8*, i32 } %x, 1
+ %ins = insertvalue { i8, i32 } undef, i32 %ex, 1
+ ret { i8, i32 } %ins
+; CHECK: @test2
+}