Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | fix PR5733, a case where we'd replace an add with a lexically identical | Chris Lattner | 2009-12-09 | 1 | -1/+2 | |
| | | | | | | binary operator that wasn't an add. In this case, a xor. Whoops. llvm-svn: 90971 | |||||
* | enhance NonLocalDepEntry to keep the per-block phi translated address | Chris Lattner | 2009-12-09 | 1 | -15/+17 | |
| | | | | | | of the query. llvm-svn: 90958 | |||||
* | change NonLocalDepEntry from being a typedef for an std::pair to be its | Chris Lattner | 2009-12-09 | 1 | -53/+53 | |
| | | | | | | own small class. No functionality change. llvm-svn: 90956 | |||||
* | Switch GVN and memdep to use PHITransAddr, which correctly handles | Chris Lattner | 2009-12-09 | 1 | -303/+34 | |
| | | | | | | | | | | | | | | | | | | | | | | | phi translation of complex expressions like &A[i+1]. This has the following benefits: 1. The phi translation logic is all contained in its own class with a strong interface and verification that it is self consistent. 2. The logic is more correct than before. Previously, if intermediate expressions got PHI translated, we'd miss the update and scan for the wrong pointers in predecessor blocks. @phi_trans2 is a testcase for this. 3. We have a lot less code in memdep. We can handle phi translation across blocks of things like @phi_trans3, which is pretty insane :). This patch should fix the miscompiles of 255.vortex, and I tested it with a bootstrap of llvm-gcc, llvm-test and dejagnu of course. llvm-svn: 90926 | |||||
* | fix a nasty variable that was shadowing the real CurBB but with the wrong value. | Chris Lattner | 2009-12-09 | 1 | -1/+0 | |
| | | | | llvm-svn: 90920 | |||||
* | fix many input tracking bugs. | Chris Lattner | 2009-12-09 | 1 | -33/+30 | |
| | | | | llvm-svn: 90915 | |||||
* | Fix a typo in a comment, and adjust SmallSet and SmallVector sizes, | Dan Gohman | 2009-12-09 | 1 | -7/+7 | |
| | | | | | | that Chris noticed. llvm-svn: 90910 | |||||
* | fix PHI translation to take the PHI out of the instinputs set and add | Chris Lattner | 2009-12-09 | 1 | -9/+7 | |
| | | | | | | the translated value back to it if an instruction. llvm-svn: 90909 | |||||
* | instructions defined in CurBB may be intermediate nodes of the computation. | Chris Lattner | 2009-12-09 | 1 | -14/+14 | |
| | | | | llvm-svn: 90908 | |||||
* | add dumping and sanity checking support. | Chris Lattner | 2009-12-09 | 1 | -0/+69 | |
| | | | | llvm-svn: 90906 | |||||
* | Put a threshold on the number of users PointerMayBeCaptured | Dan Gohman | 2009-12-08 | 1 | -0/+16 | |
| | | | | | | | | | | | | examines; fall back to a conservative answer if there are more. This works around some several compile time problems resulting from BasicAliasAnalysis calling PointerMayBeCaptured. The value has been chosen arbitrarily. This fixes rdar://7438917 and may partially address PR5708. llvm-svn: 90905 | |||||
* | make sure that PHITransAddr keeps its 'InstInputs' list up to | Chris Lattner | 2009-12-08 | 1 | -3/+42 | |
| | | | | | | date when instsimplify kicks in. llvm-svn: 90901 | |||||
* | Revert 90858 90875 and 90805 for now. | Devang Patel | 2009-12-08 | 1 | -28/+0 | |
| | | | | llvm-svn: 90898 | |||||
* | fix a typo (and -> add) and fix GetAvailablePHITranslatedSubExpr to not | Chris Lattner | 2009-12-08 | 1 | -3/+6 | |
| | | | | | | side-effect the current object. llvm-svn: 90837 | |||||
* | Rename DIFactory::InsertValue() as DIFactory::InsertDbgValueIntrinsic() | Victor Hernandez | 2009-12-07 | 1 | -6/+8 | |
| | | | | llvm-svn: 90807 | |||||
* | Add support to emit debug info for c++ style namespaces. | Devang Patel | 2009-12-07 | 1 | -0/+28 | |
| | | | | llvm-svn: 90805 | |||||
* | fix typo | Chris Lattner | 2009-12-07 | 1 | -1/+1 | |
| | | | | llvm-svn: 90793 | |||||
* | add accessor, improve comment. | Chris Lattner | 2009-12-07 | 1 | -1/+1 | |
| | | | | llvm-svn: 90792 | |||||
* | Introduce the "@llvm.dbg.value" debug intrinsic. | Victor Hernandez | 2009-12-07 | 1 | -0/+29 | |
| | | | | | | | | | | | The semantics of llvm.dbg.value are that starting from where it is executed, an offset into the specified user source variable is specified to get a new value. An example: call void @llvm.dbg.value(metadata !{ i32 7 }, i64 0, metadata !2) Here the user source variable associated with metadata #2 gets the value "i32 7" at offset 0. llvm-svn: 90788 | |||||
* | add support for phi translation and incorpation of new expression. | Chris Lattner | 2009-12-07 | 1 | -121/+144 | |
| | | | | llvm-svn: 90782 | |||||
* | checkpoint of the new PHITransAddr code, still not done and not used by | Chris Lattner | 2009-12-07 | 1 | -29/+257 | |
| | | | | | | anything. llvm-svn: 90779 | |||||
* | Fix indentation in switch statement. | Nick Lewycky | 2009-12-05 | 1 | -15/+16 | |
| | | | | llvm-svn: 90650 | |||||
* | Fix PR5551 by not ignoring the top level constantexpr when | Chris Lattner | 2009-12-04 | 1 | -1/+1 | |
| | | | | | | folding a load from constant. llvm-svn: 90545 | |||||
* | add to cmake | Chris Lattner | 2009-12-04 | 1 | -0/+1 | |
| | | | | llvm-svn: 90539 | |||||
* | add the start of a class used to handle phi translation in memdep and | Chris Lattner | 2009-12-04 | 1 | -0/+71 | |
| | | | | | | | gvn (this is just a skeleton so far). This will ultimately be used to fix a nasty miscompilation with GVN. llvm-svn: 90518 | |||||
* | Fix a comment typo. | Bob Wilson | 2009-12-04 | 1 | -1/+1 | |
| | | | | llvm-svn: 90511 | |||||
* | Add support to emit debug info for virtual functions and virtual base classes. | Devang Patel | 2009-12-03 | 1 | -5/+13 | |
| | | | | llvm-svn: 90474 | |||||
* | Fix MSVC build. | Benjamin Kramer | 2009-12-03 | 1 | -1/+1 | |
| | | | | llvm-svn: 90454 | |||||
* | Convert ProfileVerifier to template so it can be used for different types of ↵ | Andreas Neustifter | 2009-12-03 | 1 | -243/+276 | |
| | | | | | | ProfileInfo. llvm-svn: 90451 | |||||
* | Do not create negative edge weights in ProfileEstimator. | Andreas Neustifter | 2009-12-03 | 1 | -21/+125 | |
| | | | | | | | Use integer values for weights to prevent rounding errors. Make ProfileEstimator more robust in general CFGs. llvm-svn: 90449 | |||||
* | Use ProfileInfo-API in ProfileInfo Loader and do more assertions. | Andreas Neustifter | 2009-12-03 | 1 | -46/+10 | |
| | | | | llvm-svn: 90446 | |||||
* | Converted ProfileInfo to template, added more API for ProfileInfo-preserving. | Andreas Neustifter | 2009-12-03 | 1 | -40/+925 | |
| | | | | llvm-svn: 90445 | |||||
* | fix PR5673 by being more careful about pointers to functions. | Chris Lattner | 2009-12-03 | 1 | -3/+10 | |
| | | | | llvm-svn: 90369 | |||||
* | improve portability to avoid conflicting with std::next in c++'0x. | Chris Lattner | 2009-12-03 | 1 | -2/+2 | |
| | | | | | | Patch by Howard Hinnant! llvm-svn: 90365 | |||||
* | Silence compiler warnings. | Benjamin Kramer | 2009-12-02 | 1 | -2/+2 | |
| | | | | llvm-svn: 90319 | |||||
* | Cleanup/remove some parts of the lifetime region handling code in memdep and ↵ | Owen Anderson | 2009-12-02 | 1 | -16/+13 | |
| | | | | | | | | GVN, per Chris' comments. Adjust testcases to match. llvm-svn: 90304 | |||||
* | Fixed an assertion failure for tracking sext of a vector of integers | Mon P Wang | 2009-12-02 | 1 | -1/+1 | |
| | | | | llvm-svn: 90290 | |||||
* | Add utility routine to create subprogram definition entry from subprogram ↵ | Devang Patel | 2009-12-01 | 1 | -0/+23 | |
| | | | | | | declaration entry. llvm-svn: 90282 | |||||
* | rename some variables. | Chris Lattner | 2009-12-01 | 1 | -13/+13 | |
| | | | | llvm-svn: 90258 | |||||
* | tidy | Chris Lattner | 2009-12-01 | 1 | -1/+3 | |
| | | | | llvm-svn: 90257 | |||||
* | fix 255.vortex again, third time's the charm. | Chris Lattner | 2009-12-01 | 1 | -2/+35 | |
| | | | | llvm-svn: 90217 | |||||
* | Remove ShortNames from getNodeLabel in DOTGraphTraits | Tobias Grosser | 2009-11-30 | 1 | -16/+15 | |
| | | | | llvm-svn: 90134 | |||||
* | Instantiate DefaultDOTGraphTraits | Tobias Grosser | 2009-11-30 | 1 | -0/+10 | |
| | | | | llvm-svn: 90133 | |||||
* | Small PostDominatorTree improvements | Tobias Grosser | 2009-11-30 | 1 | -3/+9 | |
| | | | | | | | * Do not SEGFAULT if tree entryNode() is NULL * Print function names in dotty printer llvm-svn: 90130 | |||||
* | Revert r90107, fixing test/Transforms/GVN/2009-11-29-ReverseMap.ll and the | Nick Lewycky | 2009-11-30 | 1 | -15/+2 | |
| | | | | | | llvm-gcc build. llvm-svn: 90113 | |||||
* | reapply r90093 with an addition of keeping the forward | Chris Lattner | 2009-11-30 | 1 | -2/+15 | |
| | | | | | | | and reverse nonlocal memdep maps in synch, this should fix 255.vortex. llvm-svn: 90107 | |||||
* | Teach ConstantFolding to do a better job when folding gep(bitcast). | Nick Lewycky | 2009-11-29 | 1 | -0/+1 | |
| | | | | | | This permits the devirtualization of llvm.org/PR3100#c9 when compiled by clang. llvm-svn: 90099 | |||||
* | revert this patch for now, it causes failures of: | Chris Lattner | 2009-11-29 | 1 | -12/+2 | |
| | | | | | | | LLVM::Transforms/GVN/2009-02-17-LoadPRECrash.ll LLVM::Transforms/GVN/2009-06-17-InvalidPRE.ll llvm-svn: 90096 | |||||
* | Fix a really nasty caching bug I introduced in memdep. An entry | Chris Lattner | 2009-11-29 | 1 | -2/+12 | |
| | | | | | | | | | | | | was being added to the Result vector, but not being put in the cache. This means that if the cache was reused wholesale for a later query that it would be missing this entry and we'd do an incorrect load elimination. Unfortunately, it's not really possible to write a useful testcase for this, but this unbreaks 255.vortex. llvm-svn: 90093 | |||||
* | Detabify. | Nick Lewycky | 2009-11-29 | 1 | -1/+1 | |
| | | | | llvm-svn: 90085 |