mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-24 22:24:54 +00:00
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:
@@ -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
|
||||
}
|
||||
|
Reference in New Issue
Block a user