From: Chris Lattner Date: Fri, 25 Mar 2005 05:49:37 +0000 (+0000) Subject: Treat free operations as volatile, since they cannot be moved. This fixes X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=2958eeabcf436aaa4e988a98621d81f45cdd4871;p=oota-llvm.git 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 --- diff --git a/lib/Analysis/AliasSetTracker.cpp b/lib/Analysis/AliasSetTracker.cpp index 4b36f4089c2..73baf4a1b1e 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; }