Do better with physical reg operands (typically, from inline asm)
[oota-llvm.git] / lib / Analysis / AliasSetTracker.cpp
index 652ec3b5dd3ccaa97f6d6956b10739d085d5e7e6..66346003739209cc82a623f140a8789d5aef2bc0 100644 (file)
@@ -13,7 +13,6 @@
 
 #include "llvm/Analysis/AliasSetTracker.h"
 #include "llvm/Analysis/AliasAnalysis.h"
-#include "llvm/Analysis/MemoryBuiltins.h"
 #include "llvm/Instructions.h"
 #include "llvm/IntrinsicInst.h"
 #include "llvm/Pass.h"
@@ -154,9 +153,6 @@ bool AliasSet::aliasesPointer(const Value *Ptr, unsigned Size,
 
   // Check the call sites list and invoke list...
   if (!CallSites.empty()) {
-    if (AA.hasNoModRefInfoForCalls())
-      return true;
-
     for (unsigned i = 0, e = CallSites.size(); i != e; ++i)
       if (AA.getModRefInfo(CallSites[i], const_cast<Value*>(Ptr), Size)
                    != AliasAnalysis::NoModRef)
@@ -170,9 +166,6 @@ bool AliasSet::aliasesCallSite(CallSite CS, AliasAnalysis &AA) const {
   if (AA.doesNotAccessMemory(CS))
     return false;
 
-  if (AA.hasNoModRefInfoForCalls())
-    return true;
-
   for (unsigned i = 0, e = CallSites.size(); i != e; ++i)
     if (AA.getModRefInfo(CallSites[i], CS) != AliasAnalysis::NoModRef ||
         AA.getModRefInfo(CS, CallSites[i]) != AliasAnalysis::NoModRef)
@@ -305,13 +298,6 @@ bool AliasSetTracker::add(VAArgInst *VAAI) {
 
 
 bool AliasSetTracker::add(CallSite CS) {
-  Instruction* Inst = CS.getInstruction();
-  if (isFreeCall(Inst)) {
-    bool NewPtr;
-    addPointer(Inst->getOperand(1), ~0, AliasSet::Mods, NewPtr);
-    return NewPtr;
-  }
-  
   if (isa<DbgInfoIntrinsic>(CS.getInstruction())) 
     return true; // Ignore DbgInfo Intrinsics.
   if (AA.doesNotAccessMemory(CS))
@@ -435,14 +421,6 @@ bool AliasSetTracker::remove(VAArgInst *VAAI) {
 }
 
 bool AliasSetTracker::remove(CallSite CS) {
-  Instruction* Inst = CS.getInstruction();
-  if (isFreeCall(Inst)) {
-    AliasSet *AS = findAliasSetForPointer(Inst->getOperand(1), ~0);
-    if (!AS) return false;
-    remove(*AS);
-    return true;
-  }
-
   if (AA.doesNotAccessMemory(CS))
     return false; // doesn't alias anything