From 2958eeabcf436aaa4e988a98621d81f45cdd4871 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 25 Mar 2005 05:49:37 +0000 Subject: [PATCH] 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 --- lib/Analysis/AliasSetTracker.cpp | 3 +++ 1 file changed, 3 insertions(+) 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; } -- 2.34.1