mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-20 11:33:24 +02:00
tighten test2, add a test that it doesn't get transformed in the invalid edge case.
llvm-svn: 84401
This commit is contained in:
parent
671ca16583
commit
aff491fab6
@ -40,7 +40,7 @@ define i8 @test1() {
|
|||||||
|
|
||||||
define i8 @test2(i8* %P) {
|
define i8 @test2(i8* %P) {
|
||||||
; CHECK: @test2
|
; CHECK: @test2
|
||||||
%P2 = getelementptr i8* %P, i32 1000
|
%P2 = getelementptr i8* %P, i32 127
|
||||||
store i8 1, i8* %P2 ;; Not dead across memset
|
store i8 1, i8* %P2 ;; Not dead across memset
|
||||||
call void @llvm.memset.i8(i8* %P, i8 2, i8 127, i32 0)
|
call void @llvm.memset.i8(i8* %P, i8 2, i8 127, i32 0)
|
||||||
%A = load i8* %P2
|
%A = load i8* %P2
|
||||||
@ -48,6 +48,17 @@ define i8 @test2(i8* %P) {
|
|||||||
; CHECK: ret i8 1
|
; CHECK: ret i8 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
define i8 @test2a(i8* %P) {
|
||||||
|
; CHECK: @test2
|
||||||
|
%P2 = getelementptr i8* %P, i32 126
|
||||||
|
store i8 1, i8* %P2 ;; Dead, clobbered by memset.
|
||||||
|
call void @llvm.memset.i8(i8* %P, i8 2, i8 127, i32 0)
|
||||||
|
%A = load i8* %P2
|
||||||
|
ret i8 %A
|
||||||
|
; CHECK: %A = load i8* %P2
|
||||||
|
; CHECK: ret i8 %A
|
||||||
|
}
|
||||||
|
|
||||||
define void @test3(i8* %P) {
|
define void @test3(i8* %P) {
|
||||||
; CHECK: @test3
|
; CHECK: @test3
|
||||||
%P2 = getelementptr i8* %P, i32 2
|
%P2 = getelementptr i8* %P, i32 2
|
||||||
|
Loading…
Reference in New Issue
Block a user