DONT_BUILD_RELINKED is gone and implied by BUILD_ARCHIVE now
[oota-llvm.git] / lib / Analysis / IPA / GlobalsModRef.cpp
index 4ffd91ad2ba5a9d39b735ef76516814a379a0692..5b3c953bcdfa25925dc078aa94a5bcd11fd1bc83 100644 (file)
@@ -109,8 +109,8 @@ namespace {
       if (FunctionRecord *FR = getFunctionInfo(F))
         if (FR->FunctionEffect == 0)
           return DoesNotAccessMemory;
-       else if ((FR->FunctionEffect & Mod) == 0)
-         return OnlyReadsMemory;
+        else if ((FR->FunctionEffect & Mod) == 0)
+          return OnlyReadsMemory;
       return AliasAnalysis::getModRefBehavior(F, CS, Info);
     }
 
@@ -310,6 +310,8 @@ void GlobalsModRef::AnalyzeSCC(std::vector<CallGraphNode *> &SCC) {
           FunctionEffect |= Ref;
         else if (isa<StoreInst>(*II))
           FunctionEffect |= Mod;
+        else if (isa<MallocInst>(*II) || isa<FreeInst>(*II))
+          FunctionEffect |= ModRef;
   }
 
   if ((FunctionEffect & Mod) == 0)