summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* restructure the top level non-local ptr dep query to handle Chris Lattner2008-12-091-19/+26
| | | | | | | | the first block of a query specially. This makes the "complete query caching" subsystem more effective, avoiding predecessor queries. This speeds up GVN another 4%. llvm-svn: 60752
* rename getNonLocalPointerDepInternal -> getNonLocalPointerDepFromBBChris Lattner2008-12-091-65/+83
| | | | | | | and split its inner loop out into a new GetNonLocalInfoForBlock function. No functionality change. llvm-svn: 60751
* DisableGVCompilation should not abort on internal GlobalValue's.Evan Cheng2008-12-091-2/+2
| | | | llvm-svn: 60750
* In LegalizeOp, don't change the result type of CONVERT_RNDSAT when promotingMon P Wang2008-12-091-2/+2
| | | | | | one of its operand. llvm-svn: 60749
* It's easy to handle SLE/SGE when the loop has a unit stride.Nick Lewycky2008-12-091-1/+5
| | | | llvm-svn: 60748
* if we have two elements, insert both, don't use std::sort.Chris Lattner2008-12-091-3/+16
| | | | | | This speeds up the new GVN by another 3% llvm-svn: 60747
* If we're only adding one new element to 'Cache', insert it into its knownChris Lattner2008-12-091-1/+12
| | | | | | | position instead of using a full sort. This speeds up GVN by ~4% with the new memdep stuff. llvm-svn: 60746
* convert a couple other places that use pred_iterator to use the cachingChris Lattner2008-12-091-2/+4
| | | | | | pred iterator. llvm-svn: 60745
* use hte new pred cache to speed up the new non-local memdepChris Lattner2008-12-091-4/+24
| | | | | | | queries. This speeds up GVN using the new queries (not yet checked in) by just over 10%. llvm-svn: 60743
* Fix getNode to allow a vector for the shift amount for shifts of vectors.Mon P Wang2008-12-092-9/+33
| | | | | | | | Fix the shift amount when unrolling a vector shift into scalar shifts. Fix problem in getShuffleScalarElt where it assumes that the input of a bit convert must be a vector. llvm-svn: 60740
* Fix a really subtle off-by-one bug that Duncan noticed with valgrindChris Lattner2008-12-091-1/+1
| | | | | | on test/CodeGen/Generic/2007-06-06-CriticalEdgeLandingPad. llvm-svn: 60739
* CellSPU:Scott Michel2008-12-091-2/+5
| | | | | | | | - Change default scheduling preference to list-burr, which produces somewhat better code than the default. Could also use list-tdrr, but need to ask dev list about the appropriate handy mnemonic before commiting. llvm-svn: 60738
* Add initial support for fast-isel of the [SU]ADDO intrinsics. It isn'tBill Wendling2008-12-091-7/+84
| | | | | | | | | | | | | | | | | | | complete. For instance, it lowers the common case into this less-than-optimal code: addl %ecx, %eax seto %cl testb %cl, %cl jne LBB1_2 ## overflow instead of: addl %ecx, %eax jo LBB1_2 ## overflow That will come in a future commit. llvm-svn: 60737
* Don't charge full latency for an anti-dependence, in this simplisticDan Gohman2008-12-091-3/+7
| | | | | | pipeline model. llvm-svn: 60733
* Fix a couple of mistaken switch case fall-throughs. Thanks to BillDan Gohman2008-12-081-0/+2
| | | | | | for spotting these! llvm-svn: 60728
* remove DebugIterations option. Despite the accusations, Chris Lattner2008-12-081-14/+1
| | | | | | | jump threading has been shown to only expose problems not have bugs itself. I'm sure it's completely bug free! ;-) llvm-svn: 60725
* Re-apply 60689 now my head is screwed on right.Evan Cheng2008-12-081-0/+2
| | | | llvm-svn: 60711
* Fix the top-level comments, and fix some 80-column violations.Dan Gohman2008-12-081-7/+9
| | | | llvm-svn: 60707
* Revert 60689. It caused many regressions on Darwin targets.Dan Gohman2008-12-081-3/+1
| | | | llvm-svn: 60705
* Fix spelling. Devang Patel2008-12-081-10/+10
| | | | | | Thanks Duncan! llvm-svn: 60702
* Undo previous patch. Devang Patel2008-12-081-3/+1
| | | | llvm-svn: 60701
* Fix comment typo.Duncan Sands2008-12-081-1/+1
| | | | llvm-svn: 60697
* Factor out the code for sign-extending/truncating gep indicesDan Gohman2008-12-082-26/+35
| | | | | | | | | and use it in x86 address mode folding. Also, make getRegForValue return 0 for illegal types even if it has a ValueMap for them, because Argument values are put in the ValueMap. This fixes PR3181. llvm-svn: 60696
* add another level of caching for non-local pointer queries, keepingChris Lattner2008-12-081-7/+32
| | | | | | | | | track of whether the CachedNonLocalPointerInfo for a block is specific to a block. If so, just return it without any pred scanning. This is good for a 6% speedup on GVN (when it uses this lookup method, which it doesn't right now). llvm-svn: 60695
* consistencyChris Lattner2008-12-081-2/+2
| | | | llvm-svn: 60694
* introduce a new RoundUpAlignment helper function, use it to Chris Lattner2008-12-081-32/+29
| | | | | | | remove some more 64-bit divs and rems from the StructLayout ctor. llvm-svn: 60692
* Make ConstantAggregateZero::get return a ConstantAggregateZero*,Dan Gohman2008-12-081-1/+1
| | | | | | as suggested in PR3182. llvm-svn: 60691
* Update CPP backend for PrintModulePass API changes.Dan Gohman2008-12-081-4/+4
| | | | llvm-svn: 60690
* Perform cheap checks first.Evan Cheng2008-12-081-1/+3
| | | | llvm-svn: 60689
* Some minor optimizations for isObjectSmallerThan.Chris Lattner2008-12-081-7/+12
| | | | llvm-svn: 60687
* Move createVirtualRegister out-of-line.Dan Gohman2008-12-081-0/+18
| | | | llvm-svn: 60684
* Clarify some comments.Dan Gohman2008-12-081-2/+2
| | | | llvm-svn: 60683
* Fixes for Visual Studio users. Patch by OvermindDL1 on llvm-dev!Nick Lewycky2008-12-081-1/+1
| | | | llvm-svn: 60679
* add an assert. the cast<> below would catch this but a message is moreChris Lattner2008-12-071-0/+2
| | | | | | useful. llvm-svn: 60674
* factor some code better.Chris Lattner2008-12-071-17/+17
| | | | llvm-svn: 60673
* factor some code, fixing some fixme's.Chris Lattner2008-12-071-32/+23
| | | | llvm-svn: 60672
* add support for caching pointer dependence queries. Nothing uses this yetChris Lattner2008-12-071-17/+211
| | | | | | so it "can't" break anything. That said, it does appear to work. llvm-svn: 60654
* fix a bug I introduced in simplifycfg handling single entry phi Chris Lattner2008-12-071-1/+0
| | | | | | | nodes. FoldSingleEntryPHINodes deletes the PHI, so there is no need to delete it afterward. llvm-svn: 60653
* Switch to top-down mode and fix a crasher this exposed caused by an error in theOwen Anderson2008-12-071-1/+11
| | | | | | live interval updating. llvm-svn: 60652
* Fix typo, psuedo -> pseudo.Nick Lewycky2008-12-072-35/+35
| | | | llvm-svn: 60651
* Some internal refactoring to make it easier to cache results.Chris Lattner2008-12-071-17/+26
| | | | llvm-svn: 60650
* Introduce a new MemDep::getNonLocalPointerDependencyChris Lattner2008-12-071-13/+82
| | | | | | | | | method. This will eventually take over load/store dep queries from getNonLocalDependency. For now it works fine, but is incredibly slow because it does no caching. Lets not switch GVN to use it until that is fixed :) llvm-svn: 60649
* push the "pointer case" up the analysis stack a bit. This causes Chris Lattner2008-12-071-47/+83
| | | | | | | duplication of logic (in 2 places) to determine what pointer a load/store touches. This will be addressed in a future commit. llvm-svn: 60648
* make clients have to know how to call getCallSiteDependencyFromChris Lattner2008-12-071-2/+13
| | | | | | instead of making getDependencyFrom do it. llvm-svn: 60647
* rename some variables for consistencyChris Lattner2008-12-071-6/+6
| | | | llvm-svn: 60644
* I love how using out of scope variables is not an error with GCC, no really ↵Chris Lattner2008-12-071-3/+3
| | | | | | I do. llvm-svn: 60643
* Rename getCallSiteDependency -> getCallSiteDependencyFrom toChris Lattner2008-12-071-4/+5
| | | | | | | | emphasize the scanning and make it more similar to getDependencyFrom llvm-svn: 60642
* a memdep query on a volatile load/store will always returnChris Lattner2008-12-071-11/+10
| | | | | | | | | clobber with the current implementation. Instead of returning a "precise clobber" just return a fuzzy one. This doesn't matter to any clients anyway and should speed up analysis time very very slightly. llvm-svn: 60641
* don't bother touching volatile stores, they will just return clobber onChris Lattner2008-12-071-0/+5
| | | | | | everything interesting anyway. llvm-svn: 60640
* remove the ability to get memdep info for vaarg. I don't think theChris Lattner2008-12-071-6/+9
| | | | | | original impl was correct and noone actually makes the query anyway. llvm-svn: 60639
OpenPOWER on IntegriCloud