diff options
author | Chris Lattner <sabre@nondot.org> | 2008-05-20 22:05:28 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2008-05-20 22:05:28 +0000 |
commit | b76ad168dcd46552240d85d6ebe4314da9b05e39 (patch) | |
tree | 221a2104a3d309e0003447e61a48fee17d3e3ebb /llvm/lib/Analysis/AliasSetTracker.cpp | |
parent | 0843435b3611cd5ea0087a57856473610514de6d (diff) | |
download | bcm5719-llvm-b76ad168dcd46552240d85d6ebe4314da9b05e39.tar.gz bcm5719-llvm-b76ad168dcd46552240d85d6ebe4314da9b05e39.zip |
Fix PR2346 by marking vaarg as volatile so that licm doesn't try to
hoist them.
llvm-svn: 51356
Diffstat (limited to 'llvm/lib/Analysis/AliasSetTracker.cpp')
-rw-r--r-- | llvm/lib/Analysis/AliasSetTracker.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/Analysis/AliasSetTracker.cpp b/llvm/lib/Analysis/AliasSetTracker.cpp index 68603e53b64..228bb80ae3b 100644 --- a/llvm/lib/Analysis/AliasSetTracker.cpp +++ b/llvm/lib/Analysis/AliasSetTracker.cpp @@ -294,7 +294,10 @@ bool AliasSetTracker::add(FreeInst *FI) { bool AliasSetTracker::add(VAArgInst *VAAI) { bool NewPtr; - addPointer(VAAI->getOperand(0), ~0, AliasSet::ModRef, NewPtr); + AliasSet &AS = addPointer(VAAI->getOperand(0), ~0, AliasSet::ModRef, NewPtr); + + // Treat vaarg instructions as volatile (not to be moved). + AS.setVolatile(); return NewPtr; } |