| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Reapply LoopStrengthReduce and IVUsers cleanups, excluding the part | Dan Gohman | 2009-12-18 | 1 | -1/+2 |
| | | | | | | | | | of 91296 that caused trouble -- the Processed list needs to be preserved for the livetime of the pass, as AddUsersIfInteresting is called from other passes. llvm-svn: 91641 | ||||
| * | Revert 91280-91283, 91286-91289, 91291, 91293, 91295-91296. It apparently ↵ | Evan Cheng | 2009-12-17 | 1 | -3/+2 |
| | | | | | | | introduced a non-deterministic behavior in the optimizer somewhere. llvm-svn: 91598 | ||||
| * | Fix GetConstantStringInfo to not look into MDString (it works on | Chris Lattner | 2009-12-15 | 2 | -15/+7 |
| | | | | | | | | real data, not metadata) and fix DbgInfoPrinter to not abuse GetConstantStringInfo. llvm-svn: 91444 | ||||
| * | Add support to emit debug info for C++ namespaces. | Devang Patel | 2009-12-15 | 1 | -0/+28 |
| | | | | | llvm-svn: 91440 | ||||
| * | Remove isPod() from DenseMapInfo, splitting it out to its own | Chris Lattner | 2009-12-15 | 1 | -2/+0 |
| | | | | | | | | | isPodLike type trait. This is a generally useful type trait for more than just DenseMap, and we really care about whether something acts like a pod, not whether it really is a pod. llvm-svn: 91421 | ||||
| * | You can't use typedefs to declare template member specializations, and | John McCall | 2009-12-15 | 1 | -35/+49 |
| | | | | | | | clang enforces it. llvm-svn: 91397 | ||||
| * | Clear the Processed set when it is no longer used, and clear the | Dan Gohman | 2009-12-14 | 1 | -1/+2 |
| | | | | | | | IVUses list in releaseMemory(). llvm-svn: 91296 | ||||
| * | Fix a thinko; isNotAlreadyContainedIn had a built-in negative, so the | Dan Gohman | 2009-12-14 | 1 | -1/+1 |
| | | | | | | | condition was inverted when the code was converted to contains(). llvm-svn: 91295 | ||||
| * | Drop Loop::isNotAlreadyContainedIn in favor of Loop::contains. The | Dan Gohman | 2009-12-14 | 1 | -1/+1 |
| | | | | | | | former was just exposing a LoopInfoBase implementation detail. llvm-svn: 91286 | ||||
| * | Make getUniqueExitBlocks's precondition assert more precise, to | Dan Gohman | 2009-12-11 | 1 | -3/+3 |
| | | | | | | | avoid spurious failures. This fixes PR5758. llvm-svn: 91147 | ||||
| * | Reuse the Threshold value to size these containers because it's | Dan Gohman | 2009-12-09 | 1 | -2/+2 |
| | | | | | | | currently somewhat convenient for them to have the same value. llvm-svn: 90980 | ||||
| * | Add a minor optimization: if we haven't changed the operands of an | Chris Lattner | 2009-12-09 | 1 | -0/+4 |
| | | | | | | | | | | | add, there is no need to scan the world to find the same add again. This invalidates the previous testcase, which wasn't wonderful anyway, because it needed a run of instcombine to permute the use-lists in just the right way to before GVN was run (so it was really fragile). Not a big loss. llvm-svn: 90973 | ||||
| * | 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 | ||||

