Revert r176408 and r176407 to address PR15540.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179111 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Nadav Rotem
2013-04-09 18:16:05 +00:00
parent b976e407dc
commit 8e4df489d0
4 changed files with 43 additions and 189 deletions

View File

@@ -256,131 +256,3 @@ xpto:
return:
ret i32 7
}
declare noalias i8* @valloc(i32) nounwind
; CHECK: @test14
; CHECK: ret i32 6
define i32 @test14(i32 %a) nounwind {
switch i32 %a, label %sw.default [
i32 1, label %sw.bb
i32 2, label %sw.bb1
]
sw.bb:
%call = tail call noalias i8* @malloc(i32 6) nounwind
br label %sw.epilog
sw.bb1:
%call2 = tail call noalias i8* @calloc(i32 3, i32 2) nounwind
br label %sw.epilog
sw.default:
%call3 = tail call noalias i8* @valloc(i32 6) nounwind
br label %sw.epilog
sw.epilog:
%b.0 = phi i8* [ %call3, %sw.default ], [ %call2, %sw.bb1 ], [ %call, %sw.bb ]
%1 = tail call i32 @llvm.objectsize.i32(i8* %b.0, i1 false)
ret i32 %1
}
; CHECK: @test15
; CHECK: llvm.objectsize
define i32 @test15(i32 %a) nounwind {
switch i32 %a, label %sw.default [
i32 1, label %sw.bb
i32 2, label %sw.bb1
]
sw.bb:
%call = tail call noalias i8* @malloc(i32 3) nounwind
br label %sw.epilog
sw.bb1:
%call2 = tail call noalias i8* @calloc(i32 2, i32 1) nounwind
br label %sw.epilog
sw.default:
%call3 = tail call noalias i8* @valloc(i32 3) nounwind
br label %sw.epilog
sw.epilog:
%b.0 = phi i8* [ %call3, %sw.default ], [ %call2, %sw.bb1 ], [ %call, %sw.bb ]
%1 = tail call i32 @llvm.objectsize.i32(i8* %b.0, i1 false)
ret i32 %1
}
; CHECK: @test16
; CHECK: llvm.objectsize
define i32 @test16(i8* %a, i32 %n) nounwind {
%b = alloca [5 x i8], align 1
%c = alloca [5 x i8], align 1
switch i32 %n, label %sw.default [
i32 1, label %sw.bb
i32 2, label %sw.bb1
]
sw.bb:
%bp = bitcast [5 x i8]* %b to i8*
br label %sw.epilog
sw.bb1:
%cp = bitcast [5 x i8]* %c to i8*
br label %sw.epilog
sw.default:
br label %sw.epilog
sw.epilog:
%phi = phi i8* [ %a, %sw.default ], [ %cp, %sw.bb1 ], [ %bp, %sw.bb ]
%sz = call i32 @llvm.objectsize.i32(i8* %phi, i1 false)
ret i32 %sz
}
; CHECK: @test17
; CHECK: ret i32 5
define i32 @test17(i32 %n) nounwind {
%b = alloca [5 x i8], align 1
%c = alloca [5 x i8], align 1
%bp = bitcast [5 x i8]* %b to i8*
switch i32 %n, label %sw.default [
i32 1, label %sw.bb
i32 2, label %sw.bb1
]
sw.bb:
br label %sw.epilog
sw.bb1:
%cp = bitcast [5 x i8]* %c to i8*
br label %sw.epilog
sw.default:
br label %sw.epilog
sw.epilog:
%phi = phi i8* [ %bp, %sw.default ], [ %cp, %sw.bb1 ], [ %bp, %sw.bb ]
%sz = call i32 @llvm.objectsize.i32(i8* %phi, i1 false)
ret i32 %sz
}
@globalalias = alias internal [60 x i8]* @a
; CHECK: @test18
; CHECK-NEXT: ret i32 60
define i32 @test18() {
%bc = bitcast [60 x i8]* @globalalias to i8*
%1 = call i32 @llvm.objectsize.i32(i8* %bc, i1 false)
ret i32 %1
}
@globalalias2 = alias weak [60 x i8]* @a
; CHECK: @test19
; CHECK: llvm.objectsize
define i32 @test19() {
%bc = bitcast [60 x i8]* @globalalias2 to i8*
%1 = call i32 @llvm.objectsize.i32(i8* %bc, i1 false)
ret i32 %1
}