Changes in directory llvm/lib/Analysis:
AliasSetTracker.cpp updated: 1.37 -> 1.38 --- Log message: Fix a stale pointer issue that caused 300.twolf to fail to build on zion last night. --- Diffs of the changes: (+11 -0) AliasSetTracker.cpp | 11 +++++++++++ 1 files changed, 11 insertions(+) Index: llvm/lib/Analysis/AliasSetTracker.cpp diff -u llvm/lib/Analysis/AliasSetTracker.cpp:1.37 llvm/lib/Analysis/AliasSetTracker.cpp:1.38 --- llvm/lib/Analysis/AliasSetTracker.cpp:1.37 Tue Jan 3 00:05:22 2006 +++ llvm/lib/Analysis/AliasSetTracker.cpp Mon Jun 26 14:20:48 2006 @@ -435,6 +435,17 @@ // Notify the alias analysis implementation that this value is gone. AA.deleteValue(PtrVal); + // If this is a call instruction, remove the callsite from the appropriate + // AliasSet. + CallSite CS = CallSite::get(PtrVal); + if (CS.getInstruction()) { + Function *F = CS.getCalledFunction(); + if (!F || !AA.doesNotAccessMemory(F)) { + if (AliasSet *AS = findAliasSetForCallSite(CS)) + AS->removeCallSite(CS); + } + } + // First, look up the PointerRec for this pointer. hash_map<Value*, AliasSet::PointerRec>::iterator I = PointerMap.find(PtrVal); if (I == PointerMap.end()) return; // Noop _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits