mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 02:33:06 +01:00
Relax volatile stores (always return)
This commit partially reverts 2211738092
That commit caused performance regression in RPCS3
This commit is contained in:
parent
a670c459ea
commit
1c0ca194dc
@ -690,10 +690,6 @@ bool Instruction::isSafeToRemove() const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool Instruction::willReturn() const {
|
bool Instruction::willReturn() const {
|
||||||
// Volatile store isn't guaranteed to return; see LangRef.
|
|
||||||
if (auto *SI = dyn_cast<StoreInst>(this))
|
|
||||||
return !SI->isVolatile();
|
|
||||||
|
|
||||||
if (const auto *CB = dyn_cast<CallBase>(this))
|
if (const auto *CB = dyn_cast<CallBase>(this))
|
||||||
// FIXME: Temporarily assume that all side-effect free intrinsics will
|
// FIXME: Temporarily assume that all side-effect free intrinsics will
|
||||||
// return. Remove this workaround once all intrinsics are appropriately
|
// return. Remove this workaround once all intrinsics are appropriately
|
||||||
|
Loading…
Reference in New Issue
Block a user