summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* fix a crash in SCCP handling extractvalue of an array, pointed out andChris Lattner2009-11-102-3/+13
| | | | | | tracked down by Stephan Reiter! llvm-svn: 86726
* Teach PHIElimination to split critical edges when -split-phi-edges is enabled.Jakob Stoklund Olesen2009-11-104-5/+133
| | | | | | | | Critical edges leading to a PHI node are split when the PHI source variable is live out from the predecessor block. This help the coalescer eliminate more PHI joins. llvm-svn: 86725
* Refactoring: Extract method PHIElimination::isLiveOut().Jakob Stoklund Olesen2009-11-102-69/+65
| | | | | | | Clean up some whitespace. No functional changes. llvm-svn: 86724
* improve comment.Chris Lattner2009-11-101-2/+5
| | | | llvm-svn: 86723
* Make jump threading eliminate blocks that just contain phi nodes,Chris Lattner2009-11-102-3/+34
| | | | | | | | debug intrinsics, and an unconditional branch when possible. This reuses the TryToSimplifyUncondBranchFromEmptyBlock function split out of simplifycfg. llvm-svn: 86722
* Generalize lsr code that optimize loop to count down towards zero.Evan Cheng2009-11-102-80/+168
| | | | llvm-svn: 86715
* Optimize test more.Dan Gohman2009-11-101-1/+1
| | | | llvm-svn: 86714
* make this handle redefinition of malloc function with different prototype ↵Victor Hernandez2009-11-101-7/+9
| | | | | | correctly llvm-svn: 86712
* Change Thumb1 address mode printing, instead ofEvan Cheng2009-11-101-5/+2
| | | | | | | | | | [r0, #2 * 4] Now [r0, #8] This makes Thumb2 assembly more uniform and frankly the scale doesn't add much. llvm-svn: 86707
* Add a comment.Evan Cheng2009-11-101-0/+2
| | | | llvm-svn: 86706
* Add defensive break.Duncan Sands2009-11-101-0/+1
| | | | llvm-svn: 86705
* Add a monstrous hack to improve X86ISelDAGToDAG compile time.Daniel Dunbar2009-11-101-0/+8
| | | | | | | | | | - Force NDEBUG on in any Release build. This drops the compile time to ~100s from ~600s, in Release mode. - This may just be a temporary workaround, I don't know the true nature of the gcc-4.2 compile time performance problem. llvm-svn: 86695
* Fix obvious typo.Duncan Sands2009-11-101-1/+1
| | | | llvm-svn: 86694
* clarify logic.Chris Lattner2009-11-101-4/+4
| | | | llvm-svn: 86689
* CMake: Add Darwin-specific linker flags for building loadable modulesDouglas Gregor2009-11-101-1/+7
| | | | llvm-svn: 86684
* Teach DSE to eliminate useless trampolines.Duncan Sands2009-11-102-6/+35
| | | | llvm-svn: 86683
* Add brackets to make gcc-4.4 happy.Duncan Sands2009-11-101-3/+3
| | | | llvm-svn: 86681
* Codegen support for the llvm.invariant/lifetime.start/end intrinsics:Duncan Sands2009-11-102-0/+19
| | | | | | just throw them away. llvm-svn: 86678
* Update computeArraySize() to use ComputeMultiple() to determine the array ↵Victor Hernandez2009-11-104-110/+30
| | | | | | size associated with a malloc; also extend PerformHeapAllocSRoA() to check if the optimized malloc's arg had its highest bit set, so that it is safe for ComputeMultiple() to look through sext instructions while determining the optimized malloc's array size llvm-svn: 86676
* Add ComputeMultiple() analysis function that recursively determines if a ↵Victor Hernandez2009-11-102-0/+134
| | | | | | Value V is a multiple of unsigned Base llvm-svn: 86675
* optimize testChris Lattner2009-11-101-1/+1
| | | | llvm-svn: 86672
* unify the code that determines whether it is a good idea to change the typeChris Lattner2009-11-103-29/+38
| | | | | | | of a computation. This fixes some infinite loops when dealing with TD that has no native types. llvm-svn: 86670
* Simplify.Nick Lewycky2009-11-101-3/+1
| | | | llvm-svn: 86668
* Reapply r86359, "Teach dead store elimination that certain intrinsics write toNick Lewycky2009-11-104-63/+198
| | | | | | | memory just like a store" with bug fixed (partial-overwrite.ll is the regression test). llvm-svn: 86667
* refactor TryToSimplifyUncondBranchFromEmptyBlock out of SimplifyCFG.Chris Lattner2009-11-103-165/+181
| | | | llvm-svn: 86666
* CMake: Support for building llvm loadable modules.Oscar Fuentes2009-11-103-2/+17
| | | | llvm-svn: 86656
* lit: Start documentation testing architecture.Daniel Dunbar2009-11-101-0/+116
| | | | llvm-svn: 86655
* lit: Add ExampleTests, for testing lit and demonstrating test suite features.Daniel Dunbar2009-11-1026-0/+555
| | | | llvm-svn: 86654
* lit: Fix bug in --show-suites which accidentally override the list of tests.Daniel Dunbar2009-11-101-2/+2
| | | | llvm-svn: 86653
* Fix PR5445Bruno Cardoso Lopes2009-11-101-1/+1
| | | | llvm-svn: 86651
* I misread the parens, not so redundant after all.Chris Lattner2009-11-101-4/+4
| | | | llvm-svn: 86648
* make jump threading recursively simplify expressions instead of doing it Chris Lattner2009-11-102-20/+74
| | | | | | | | | | | | | | | | | | | just one level deep. On the testcase we go from getting this: F1: ; preds = %T2 %F = and i1 true, %cond ; <i1> [#uses=1] br i1 %F, label %X, label %Y to a fully threaded: F1: ; preds = %T2 br label %Y This changes gets us to the point where we're forming (too many) switch instructions on doug's strswitch testcase. llvm-svn: 86646
* remove some redundant parens.Chris Lattner2009-11-101-4/+4
| | | | llvm-svn: 86645
* CMake: Remove unnecessary `unset' which was not supported by old cmakeOscar Fuentes2009-11-101-1/+0
| | | | | | releases. llvm-svn: 86644
* Remove an unused variable.Dan Gohman2009-11-101-1/+0
| | | | llvm-svn: 86642
* Minor code simplification.Dan Gohman2009-11-101-1/+1
| | | | llvm-svn: 86641
* Trim a bunch of unneeded code from this testcase.Dan Gohman2009-11-101-94/+1
| | | | llvm-svn: 86640
* don't invalidate PN, rewrite of this code is in progress anyway.Chris Lattner2009-11-101-4/+5
| | | | llvm-svn: 86639
* add a new SimplifyInstruction API, which is like ConstantFoldInstruction, Chris Lattner2009-11-103-7/+30
| | | | | | | | except that the result may not be a constant. Switch jump threading to use it so that it gets things like (X & 0) -> 0, which occur when phi preds are deleted and the remaining phi pred was a zero. llvm-svn: 86637
* Fix DenseMap iterator constness.Jeffrey Yasskin2009-11-1014-61/+76
| | | | | | | | | | | | | | | | | | | This patch forbids implicit conversion of DenseMap::const_iterator to DenseMap::iterator which was possible because DenseMapIterator inherited (publicly) from DenseMapConstIterator. Conversion the other way around is now allowed as one may expect. The template DenseMapConstIterator is removed and the template parameter IsConst which specifies whether the iterator is constant is added to DenseMapIterator. Actually IsConst parameter is not necessary since the constness can be determined from KeyT but this is not relevant to the fix and can be addressed later. Patch by Victor Zverovich! llvm-svn: 86636
* factor simplification logic for AND and OR out to InstSimplify from instcombine.Chris Lattner2009-11-103-111/+196
| | | | llvm-svn: 86635
* Fixed to address code review. No functional changes.David Goodwin2009-11-107-23/+40
| | | | llvm-svn: 86634
* Fix MemoryBuffer::getSTDIN to *not* return null if stdin is empty, this is a ↵Daniel Dunbar2009-11-104-41/+33
| | | | | | | | lame API. Also, Stringrefify some more MemoryBuffer functions, and add two performance FIXMEs. llvm-svn: 86630
* Allow targets to specify register classes whose member registers should not ↵David Goodwin2009-11-106-11/+37
| | | | | | be renamed to break anti-dependencies. llvm-svn: 86628
* pull a bunch of logic out of instcombine into instsimplify for compare Chris Lattner2009-11-092-61/+106
| | | | | | simplification, this handles the foldable fcmp x,x cases among many others. llvm-svn: 86627
* Pass the (optional) TargetData object to ConstantFoldInstOperandsDan Gohman2009-11-091-9/+10
| | | | | | and ConstantFoldCompareInstOperands. llvm-svn: 86626
* inline a simple function.Chris Lattner2009-11-091-17/+20
| | | | llvm-svn: 86625
* rename SimplifyCompare -> SimplifyCmpInst and split it into Chris Lattner2009-11-095-14/+65
| | | | | | | Simplify[IF]Cmp pieces. Add some predicates to CmpInst to determine whether a predicate is fp or int. llvm-svn: 86624
* Now that the default is 'enabled,' a separate command line option for ARM isJim Grosbach2009-11-091-8/+1
| | | | | | not necessary. llvm-svn: 86621
* Add testcase for recent checkin.Mike Stump2009-11-091-0/+55
| | | | llvm-svn: 86620
OpenPOWER on IntegriCloud