From eef9b03395ccd2908718585e2b6d17c392e6ccd5 Mon Sep 17 00:00:00 2001 From: Daniel Jasper Date: Wed, 15 Feb 2017 09:56:08 +0000 Subject: Revert r295110 and r295144. This fails under ASAN: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap/builds/798/steps/check-llvm%20asan/logs/stdio llvm-svn: 295162 --- llvm/test/Transforms/WholeProgramDevirt/unique-retval.ll | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) (limited to 'llvm/test/Transforms/WholeProgramDevirt/unique-retval.ll') diff --git a/llvm/test/Transforms/WholeProgramDevirt/unique-retval.ll b/llvm/test/Transforms/WholeProgramDevirt/unique-retval.ll index e9ae176fe8a..50b938c43e4 100644 --- a/llvm/test/Transforms/WholeProgramDevirt/unique-retval.ll +++ b/llvm/test/Transforms/WholeProgramDevirt/unique-retval.ll @@ -33,8 +33,8 @@ define i1 @call1(i8* %obj) { ret i1 %result } -; CHECK: define i32 @call2 -define i32 @call2(i8* %obj) { +; CHECK: define i1 @call2 +define i1 @call2(i8* %obj) { %vtableptr = bitcast i8* %obj to [1 x i8*]** %vtable = load [1 x i8*]*, [1 x i8*]** %vtableptr ; CHECK: [[VT2:%[^ ]*]] = bitcast [1 x i8*]* {{.*}} to i8* @@ -43,13 +43,10 @@ define i32 @call2(i8* %obj) { call void @llvm.assume(i1 %p) %fptrptr = getelementptr [1 x i8*], [1 x i8*]* %vtable, i32 0, i32 0 %fptr = load i8*, i8** %fptrptr - ; Intentional type mismatch to test zero extend. - %fptr_casted = bitcast i8* %fptr to i32 (i8*)* - ; CHECK: [[RES2:%[^ ]*]] = icmp ne i8* [[VT1]], bitcast ([1 x i8*]* @vt2 to i8*) - %result = call i32 %fptr_casted(i8* %obj) - ; CHECK: [[ZEXT2:%[^ ]*]] = zext i1 [[RES2]] to i32 - ; CHECK: ret i32 [[ZEXT2:%[^ ]*]] - ret i32 %result + %fptr_casted = bitcast i8* %fptr to i1 (i8*)* + ; CHECK: [[RES1:%[^ ]*]] = icmp ne i8* [[VT1]], bitcast ([1 x i8*]* @vt2 to i8*) + %result = call i1 %fptr_casted(i8* %obj) + ret i1 %result } declare i1 @llvm.type.test(i8*, metadata) -- cgit v1.2.3