diff options
author | Duncan Sands <baldrick@free.fr> | 2011-09-09 07:50:37 +0000 |
---|---|---|
committer | Duncan Sands <baldrick@free.fr> | 2011-09-09 07:50:37 +0000 |
commit | 73c8415d90ad5a702538d8bc308411e7b2299f32 (patch) | |
tree | 84a547927ab39254ab2a3f0560201bd60b1e98d8 /test/Transforms/GVN/2011-09-07-TypeIdFor.ll | |
parent | d3be6ecafec0068e70d034f6467b1d6acf1cb806 (diff) | |
download | llvm-73c8415d90ad5a702538d8bc308411e7b2299f32.tar.gz llvm-73c8415d90ad5a702538d8bc308411e7b2299f32.tar.bz2 llvm-73c8415d90ad5a702538d8bc308411e7b2299f32.tar.xz |
Mark the eh.typeid.for intrinsic as being 'const', which it is inside
any given function. As pointed out by John McCall, this is needed to
have redundant eh.typeid.for tests be eliminated in the presence of
cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139360 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/GVN/2011-09-07-TypeIdFor.ll')
-rw-r--r-- | test/Transforms/GVN/2011-09-07-TypeIdFor.ll | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/test/Transforms/GVN/2011-09-07-TypeIdFor.ll b/test/Transforms/GVN/2011-09-07-TypeIdFor.ll index eeaf998e72..314b5bb113 100644 --- a/test/Transforms/GVN/2011-09-07-TypeIdFor.ll +++ b/test/Transforms/GVN/2011-09-07-TypeIdFor.ll @@ -7,6 +7,8 @@ declare void @_Z4barv() +declare void @_Z7cleanupv() + declare i32 @llvm.eh.typeid.for(i8*) nounwind readonly declare i8* @__cxa_begin_catch(i8*) nounwind @@ -50,6 +52,7 @@ ppad2: ; preds = %next br label %return next2: ; preds = %next + call void @_Z7cleanupv() %typeid = tail call i32 @llvm.eh.typeid.for(i8* bitcast (%struct.__fundamental_type_info_pseudo* @_ZTIi to i8*)) ; CHECK-NOT: call i32 @llvm.eh.typeid.for %4 = icmp eq i32 %filter3.i, %typeid |