diff options
| author | Chris Lattner <sabre@nondot.org> | 2009-10-18 04:55:26 +0000 | 
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2009-10-18 04:55:26 +0000 | 
| commit | d2b3a4f7b8e89a3684c949c7a7b52c32f1fa75f3 (patch) | |
| tree | d55153988d4099187207ee0ed30bef8f4d845474 /llvm | |
| parent | 457ecd5dabad70a41ac85283772876ca81eb414c (diff) | |
| download | bcm5719-llvm-d2b3a4f7b8e89a3684c949c7a7b52c32f1fa75f3.tar.gz bcm5719-llvm-d2b3a4f7b8e89a3684c949c7a7b52c32f1fa75f3.zip  | |
tighten up test3, add test3a for the converse 
transform, which isn't happening yet.
llvm-svn: 84402
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/test/Analysis/BasicAA/modref.ll | 25 | 
1 files changed, 22 insertions, 3 deletions
diff --git a/llvm/test/Analysis/BasicAA/modref.ll b/llvm/test/Analysis/BasicAA/modref.ll index a089864271b..07d73a7dde7 100644 --- a/llvm/test/Analysis/BasicAA/modref.ll +++ b/llvm/test/Analysis/BasicAA/modref.ll @@ -51,7 +51,10 @@ define i8 @test2(i8* %P) {  define i8 @test2a(i8* %P) {  ; CHECK: @test2    %P2 = getelementptr i8* %P, i32 126 +   +  ;; FIXME: DSE isn't zapping this dead store.    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 @@ -59,14 +62,30 @@ define i8 @test2a(i8* %P) {  ; CHECK: ret i8 %A  } -define void @test3(i8* %P) { +define void @test3(i8* %P, i8 %X) {  ; CHECK: @test3 +; CHECK-NOT: store +; CHECK-NOT: %Y +  %Y = add i8 %X, 1     ;; Dead, because the only use (the store) is dead. +      %P2 = getelementptr i8* %P, i32 2 -  store i8 1, i8* %P2  ;; Not read by lifetime.end -; CHECK: store +  store i8 %Y, i8* %P2  ;; Not read by lifetime.end, should be removed. +; CHECK: store i8 2, i8* %P2    call void @llvm.lifetime.end(i64 1, i8* %P)    store i8 2, i8* %P2  ; CHECK-NOT: store    ret void  ; CHECK: ret void +} + +define void @test3a(i8* %P, i8 %X) { +; CHECK: @test3a +  %Y = add i8 %X, 1     ;; Dead, because the only use (the store) is dead. +   +  %P2 = getelementptr i8* %P, i32 2 +  store i8 %Y, i8* %P2  ;; FIXME: Killed by llvm.lifetime.end, should be zapped. +; CHECK: store i8 2, i8* %P2 +  call void @llvm.lifetime.end(i64 10, i8* %P) +  ret void +; CHECK: ret void  }
\ No newline at end of file  | 

