diff options
| author | Chris Lattner <sabre@nondot.org> | 2010-08-29 18:42:23 +0000 | 
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2010-08-29 18:42:23 +0000 | 
| commit | f58382ed87a6d4716f47d115e5fed994c5233bcb (patch) | |
| tree | d3481303a9c590562c693aafc2e3ac8854aced60 /llvm/lib/Transforms | |
| parent | 263f804699810dba5457e37a92db69afe3986601 (diff) | |
| download | bcm5719-llvm-f58382ed87a6d4716f47d115e5fed994c5233bcb.tar.gz bcm5719-llvm-f58382ed87a6d4716f47d115e5fed994c5233bcb.zip | |
two changes: 1) make AliasSet hold the list of call sites with an
assertingvh so we get a violent explosion if the pointer dangles.
2) Fix AliasSetTracker::deleteValue to remove call sites with
   by-pointer comparisons instead of by-alias queries.  Using
   findAliasSetForCallSite can cause alias sets to get merged
   when they shouldn't, and can also miss alias sets when the
   call is readonly.
#2 fixes PR6889, which only repros with a .c file :(
llvm-svn: 112452
Diffstat (limited to 'llvm/lib/Transforms')
| -rw-r--r-- | llvm/lib/Transforms/Scalar/LICM.cpp | 1 | 
1 files changed, 1 insertions, 0 deletions
| diff --git a/llvm/lib/Transforms/Scalar/LICM.cpp b/llvm/lib/Transforms/Scalar/LICM.cpp index aa842e3183b..aed6a209fca 100644 --- a/llvm/lib/Transforms/Scalar/LICM.cpp +++ b/llvm/lib/Transforms/Scalar/LICM.cpp @@ -315,6 +315,7 @@ void LICM::SinkRegion(DomTreeNode *N) {      // If the instruction is dead, we would try to sink it because it isn't used      // in the loop, instead, just delete it.      if (isInstructionTriviallyDead(&I)) { +      DEBUG(dbgs() << "LICM deleting dead inst: " << I << '\n');        ++II;        CurAST->deleteValue(&I);        I.eraseFromParent(); | 

