mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 12:43:36 +01:00
Don't forget that strcpy and friends return a pointer to the destination, so
it's not a dead store if that pointer is used. Whoops! llvm-svn: 164583
This commit is contained in:
parent
9900dd8c89
commit
7b751873f1
@ -266,8 +266,8 @@ static bool isRemovable(Instruction *I) {
|
||||
}
|
||||
}
|
||||
|
||||
if (CallSite(I)) // If we assume hasMemoryWrite(I) is true,
|
||||
return true; // then there's nothing left to check.
|
||||
if (CallSite CS = I)
|
||||
return CS.getInstruction()->use_empty();
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@ -44,3 +44,13 @@ define void @test4(i8* %src) {
|
||||
ret void
|
||||
}
|
||||
|
||||
define void @test5(i8* nocapture %src) {
|
||||
; CHECK: @test5
|
||||
%dest = alloca [100 x i8], align 16
|
||||
%arraydecay = getelementptr inbounds [100 x i8]* %dest, i64 0, i64 0
|
||||
%call = call i8* @strcpy(i8* %arraydecay, i8* %src)
|
||||
; CHECK: %call = call i8* @strcpy
|
||||
%arrayidx = getelementptr inbounds i8* %call, i64 10
|
||||
store i8 97, i8* %arrayidx, align 1
|
||||
ret void
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user