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(); |

