mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 03:33:20 +01:00
I already merged partial-overwrite.ll -> PartialStore.ll
Merge context-sensitive.ll -> simple.ll and upgrade it. llvm-svn: 120374
This commit is contained in:
parent
496eacefab
commit
8e2909e4d8
@ -1,15 +0,0 @@
|
||||
; RUN: opt < %s -basicaa -dse -S | not grep DEAD
|
||||
target datalayout = "E-p:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-v64:64:64-v128:128:128"
|
||||
|
||||
declare void @ext()
|
||||
|
||||
define i32* @caller() {
|
||||
%P = malloc i32 ; <i32*> [#uses=4]
|
||||
%DEAD = load i32* %P ; <i32> [#uses=1]
|
||||
%DEAD2 = add i32 %DEAD, 1 ; <i32> [#uses=1]
|
||||
store i32 %DEAD2, i32* %P
|
||||
call void @ext( )
|
||||
store i32 0, i32* %P
|
||||
ret i32* %P
|
||||
}
|
||||
|
@ -1,14 +0,0 @@
|
||||
; RUN: opt -dse -S %s | FileCheck %s
|
||||
; Note that we could do better by merging the two stores into one.
|
||||
|
||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
|
||||
target triple = "x86_64-unknown-linux-gnu"
|
||||
|
||||
define void @test(i32* %P) {
|
||||
store i32 0, i32* %P
|
||||
; CHECK: store i32
|
||||
%Q = bitcast i32* %P to i16*
|
||||
store i16 1, i16* %Q
|
||||
; CHECK: store i16
|
||||
ret void
|
||||
}
|
@ -145,3 +145,23 @@ define void @test12({ i32, i32 }* %x) nounwind {
|
||||
; CHECK: ret void
|
||||
}
|
||||
|
||||
|
||||
; %P doesn't escape, the DEAD instructions should be removed.
|
||||
declare void @test13f()
|
||||
define i32* @test13() {
|
||||
%p = tail call i8* @malloc(i32 4)
|
||||
%P = bitcast i8* %p to i32*
|
||||
%DEAD = load i32* %P
|
||||
%DEAD2 = add i32 %DEAD, 1
|
||||
store i32 %DEAD2, i32* %P
|
||||
call void @test13f( )
|
||||
store i32 0, i32* %P
|
||||
ret i32* %P
|
||||
; CHECK: @test13()
|
||||
; CHECK-NEXT: malloc
|
||||
; CHECK-NEXT: bitcast
|
||||
; CHECK-NEXT: call void
|
||||
}
|
||||
|
||||
declare noalias i8* @malloc(i32)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user