diff options
author | Chris Lattner <sabre@nondot.org> | 2005-03-25 05:49:37 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-03-25 05:49:37 +0000 |
commit | 2958eeabcf436aaa4e988a98621d81f45cdd4871 (patch) | |
tree | 8da46e8d561be00630998f19d86e48444120a521 /lib/Analysis/AliasSetTracker.cpp | |
parent | a92076d475ed51d3ced5f2ec077f33d97aa8c8bb (diff) |
Treat free operations as volatile, since they cannot be moved. This fixes
Transforms/LICM/2005-03-24-LICM-Aggregate-Crash.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20830 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/AliasSetTracker.cpp')
-rw-r--r-- | lib/Analysis/AliasSetTracker.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/Analysis/AliasSetTracker.cpp b/lib/Analysis/AliasSetTracker.cpp index 4b36f4089c..73baf4a1b1 100644 --- a/lib/Analysis/AliasSetTracker.cpp +++ b/lib/Analysis/AliasSetTracker.cpp @@ -288,6 +288,9 @@ 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(); return NewPtr; } |