Fix an issue where assignments that caused a Sm...
Move some sets and maps to SmallPtrSet and Dens...
Change ValueTable to use a DenseMap for mapping...
Remember to free the heap allocated array if we...
Make val_replace fail early, which reduces the ...
Fix a bug where we were marking GEP expressions...
Have DenseMap auto-shrink itself on clear(). T...
Make the heuristic for shrinking DenseMap smarter.
Fix file header.
Move these tests to use FastDSE instead of old ...
Add FastDLE, the load-elimination counterpart o...
Fix a comment.
Forgot to commit this file.
Don't delete volatile loads. Doing so is not s...
Add testcases for FastDLE.
Rename FastDLE as RedundantLoadElimination.
Rename a lot of things to change FastDLE to Red...
Add a GVN pass, using the value numbering code ...
Make the copy constructor of SmallPtrSet much f...
Add initial support for non-local memory depend...
Add basic support for performing whole-function...
Fix a bug that was causing GVN to crash on 252....
Fix a bug in non-local memdep that was causing ...
Forgot to include this file in my last commit.
Fix an infinite loop on 300.twolf.
My last commit was not correct for nested loops...
Fix what is _hopefully_ the last corner case fo...
Fix a couple more bugs in the phi construction ...
Fix a bug introduced in my last commit.
Allow SmallPtrSet to hold pointers to const data.
Fix a bug caused by indiscriminantly asking for...
Use more caching when computing non-local depen...
Avoid potential iterator invalidation problems.
Fix a misoptimization in aha.
Fix a failure I accidentally caused in my last ...
Don't let the memory allocator outsmart GVN. ;-)
Remove old DSE.
Move FastDSE in to DeadStoreElimination.
Rename FastDSE to just DSE.
Forgot to update these files for the FastDSE ch...
Make non-local memdep not be recursive, and fix...
Fix a bug that was causing several miscompilati...
Fix 80 col. violations.
Fix 80 col. violations.
Fix 80 col. violations.
Fix a subtle iterator invalidation bug in a rec...
Fix a subtle miscompilation. This allows 197.p...
Improve the accuracy of memdep for determining ...
Get rid of unnecessary #include.
Don't insert nearly as many redundant phi nodes.
First round of cleanups from Chris' feedback.
A few more small cleanups.
Add some comments, remove a dead argument, and ...
Make handleEndBlock significantly faster with o...
Global values also don't undead-ify pointers in...
Change the None and NonLocal markers in memdep ...
Add one more comment.
Make memdep fit in 80 cols.
Add more comments to memdep.
Make NonLocal and None const in the right way. :-)
Fix a case where GVN was failing to return true...
Make GVN iterative.
Eliminate PHI nodes with constant values during...
Add a copy constructor and an assignment operat...
Forgot a line.
Cache non-local memory dependence analysis. Th...
Add some more comments to GVN.
Factor out some code into a helper function.
Don't DSe volatile stores.
Add lengthof and endof templates that hide a lo...
Turn GVN on by default.
Remove an un-needed dependence query. This imp...
Fix non-deterministic behavior in the DenseMap ...
Fix a typo in memdep, which was causing PR1648.
Add a ValueInfoT template parameter to DenseMap...
Remove RLE. It is subsumed by GVN.
Remove RLE from the headers, since the pass its...
Be more careful when constant-folding PHI nodes.
Add a flag to mark a dirty cache entry. This i...
Add partial caching of non-local memory depende...
Fix CopyFrom for non-POD data types.
Factor the dominator tree calculation details o...
Fix header.
Move DFSPass back down into DominatorTree. I n...
Merge significant portions of the DomTree and P...
Fix typo.
Fill in the sections about my contributions.
Convert DFSPass into a templated friend functio...
Remove unneeded #include.
Template-ize more of the DomTree internal imple...
Mention memdep in the AA documentation.
Fix typo.
Factor some code from the DomTree and PostDomTr...
Completely merge the implementation details of ...
Begin the process of allowing DomTree on MBB's....
Template DominatorTreeBase by node type. This ...
Fix some formatting.
Move splitBlock into DomTreeBase from DomTree.
Move Split<...>() into DomTreeBase. This shoul...
Allow GVN to eliminate redundant calls to funct...