mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-03 17:39:48 +00:00
Free and vaarg are not really volatile.
llvm-svn: 51407
This commit is contained in:
parent
fd83f89e21
commit
5a09a5fb88
@ -284,20 +284,13 @@ bool AliasSetTracker::add(StoreInst *SI) {
|
||||
|
||||
bool AliasSetTracker::add(FreeInst *FI) {
|
||||
bool NewPtr;
|
||||
AliasSet &AS = addPointer(FI->getOperand(0), ~0,
|
||||
AliasSet::Mods, NewPtr);
|
||||
|
||||
// Free operations are volatile ops (cannot be moved).
|
||||
AS.setVolatile();
|
||||
addPointer(FI->getOperand(0), ~0, AliasSet::Mods, NewPtr);
|
||||
return NewPtr;
|
||||
}
|
||||
|
||||
bool AliasSetTracker::add(VAArgInst *VAAI) {
|
||||
bool NewPtr;
|
||||
AliasSet &AS = addPointer(VAAI->getOperand(0), ~0, AliasSet::ModRef, NewPtr);
|
||||
|
||||
// Treat vaarg instructions as volatile (not to be moved).
|
||||
AS.setVolatile();
|
||||
addPointer(VAAI->getOperand(0), ~0, AliasSet::ModRef, NewPtr);
|
||||
return NewPtr;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user