summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
Commit message (Collapse)AuthorAgeFilesLines
...
* Use DominatorTree instead of ETForest.Devang Patel2007-06-071-23/+25
| | | | llvm-svn: 37498
* Use DominatorTree instead of ETForest.Devang Patel2007-06-071-3/+1
| | | | llvm-svn: 37495
* Use DominatorTree instead of ETForest.Devang Patel2007-06-071-3/+3
| | | | llvm-svn: 37494
* Maintain ETNode as part of DomTreeNode.Devang Patel2007-06-072-2/+2
| | | | | | This adds redundancy for now. llvm-svn: 37492
* Formating fixes.Tanya Lattner2007-06-071-4/+4
| | | | llvm-svn: 37491
* Instruct the inliner to obey the noinline attribute. Add test case.Tanya Lattner2007-06-061-1/+43
| | | | llvm-svn: 37481
* simplify this code and fix PR1493, now that llvm-gcc3 is dead.Chris Lattner2007-06-061-17/+2
| | | | llvm-svn: 37478
* Fix PR1499.Lauro Ramos Venancio2007-06-061-0/+4
| | | | llvm-svn: 37472
* Inform ScalarEvolutions that we're deleting Values.Nick Lewycky2007-06-061-0/+2
| | | | | | This is the obviously correct part of the fix for PR1487. llvm-svn: 37457
* Add simple full redundancy elimination.Owen Anderson2007-06-061-12/+38
| | | | llvm-svn: 37455
* Fix PR1495 and CodeGen/X86/2007-06-05-LSR-Dominator.llChris Lattner2007-06-061-0/+6
| | | | llvm-svn: 37454
* Avoid non-trivial loop unswitching while optimizing for size.Devang Patel2007-06-061-3/+12
| | | | llvm-svn: 37446
* Fix a misunderstanding of the algorithm. Really, we should be tracking valuesOwen Anderson2007-06-051-14/+17
| | | | | | | and expression separately. We can get around this, however, by only keeping opaque values in TMP_GEN. llvm-svn: 37443
* Don't leak memory.Owen Anderson2007-06-051-3/+6
| | | | llvm-svn: 37442
* Fix a small bug, some 80 cols violations, and add some more debugging output.Owen Anderson2007-06-051-2/+8
| | | | llvm-svn: 37436
* Allow insertelement, extractelement, and shufflevector to be hoisted/sunkDan Gohman2007-06-051-1/+3
| | | | | | by LICM. llvm-svn: 37435
* Patches by Chuck Rose to unbreak V Studio builds.Bill Wendling2007-06-041-0/+15
| | | | | | Thanks Chuck! llvm-svn: 37428
* s/ETNode::getChildren/ETNode::getETNodeChildren/gDevang Patel2007-06-041-1/+1
| | | | llvm-svn: 37426
* Don't use std::set_difference when the two sets are sorted differently. ComputeOwen Anderson2007-06-041-7/+6
| | | | | | | | | the difference manually instead. This allows GVNPRE to produce correct analysis for the example in the GVNPRE paper. llvm-svn: 37425
* Fix a bunch of small bugs, and improve the debugging output significantly.Owen Anderson2007-06-041-26/+44
| | | | llvm-svn: 37424
* When rebuilding constant structs, make sure to honor the isPacked bit.Chris Lattner2007-06-041-1/+1
| | | | | | This fixes PR1491 and GlobalOpt/2007-06-04-PackedStruct.ll llvm-svn: 37423
* Make phi_translate correct.Owen Anderson2007-06-041-47/+50
| | | | llvm-svn: 37418
* s/DominatorTree::createNewNode/DominatorTree::addNewBlock/gDevang Patel2007-06-043-4/+3
| | | | llvm-svn: 37415
* Add basic block level interface to change immediate dominatorDevang Patel2007-06-041-2/+2
| | | | | | and create new node. llvm-svn: 37414
* s/llvm::DominatorTreeBase::DomTreeNode/llvm::DomTreeNode/gDevang Patel2007-06-048-41/+41
| | | | llvm-svn: 37407
* Don't use the custom comparator where it's not necessary.Owen Anderson2007-06-031-13/+22
| | | | llvm-svn: 37406
* s/DominatorTreeBase::Node/DominatorTreeBase:DomTreeNode/gDevang Patel2007-06-038-41/+41
| | | | llvm-svn: 37403
* Remove an unused method.Owen Anderson2007-06-031-5/+0
| | | | llvm-svn: 37402
* There's no need to have an Expression class... Value works just as well! ↵Owen Anderson2007-06-031-285/+166
| | | | | | This simplifies a lot of code. llvm-svn: 37401
* Insert new instructions in AliasSet.Devang Patel2007-06-011-1/+5
| | | | llvm-svn: 37390
* clean() needs to process things in topological order.Owen Anderson2007-06-011-26/+19
| | | | llvm-svn: 37389
* Fix Expression comparison, which in turn fixes a value numbering error.Owen Anderson2007-06-011-12/+11
| | | | llvm-svn: 37386
* Add a topological sort function.Owen Anderson2007-05-311-2/+56
| | | | llvm-svn: 37376
* Attempt to fix up phi_translate.Owen Anderson2007-05-311-11/+61
| | | | llvm-svn: 37366
* Fix typo.Devang Patel2007-05-301-1/+1
| | | | llvm-svn: 37360
* Fix Transforms/ScalarRepl/2007-05-29-MemcpyPreserve.ll and the secondChris Lattner2007-05-301-48/+148
| | | | | | | half of PR1421, by not decimating structs with holes that are the source and destination of a memcpy. llvm-svn: 37358
* Fix a typoOwen Anderson2007-05-291-1/+1
| | | | llvm-svn: 37350
* Re-fix a bug, where I was now being too aggressive.Owen Anderson2007-05-291-1/+5
| | | | llvm-svn: 37348
* Use proper debugging facilities so other people don't have to look at my ↵Owen Anderson2007-05-291-14/+18
| | | | | | | | commented-out debugging lines. llvm-svn: 37347
* Comment debug code out that I accidentally uncommented last time.Owen Anderson2007-05-291-2/+2
| | | | llvm-svn: 37346
* Add a place where I missed using the maximal set. Note that using the maximalOwen Anderson2007-05-291-3/+3
| | | | | | set this way is _SLOW_. Somewhere down the line, I'll look at speeding it up. llvm-svn: 37345
* Very first part of a GVN-PRE implementation. It currently performs a bunch ↵Owen Anderson2007-05-291-0/+459
| | | | | | | | of analysis, and nothing more. It is also quite slow for the moment. However, it should give a sense of what's going on. llvm-svn: 37343
* Fix PR1446 by not scalarrepl'ing giant structures.Chris Lattner2007-05-241-1/+5
| | | | llvm-svn: 37326
* Minor comment cleanups.Dan Gohman2007-05-241-1/+1
| | | | llvm-svn: 37321
* fix a miscompilation when passing a float through varargsChris Lattner2007-05-231-2/+1
| | | | llvm-svn: 37297
* Fix Transforms/InstCombine/2007-05-18-CastFoldBug.ll, a bug that devastatesChris Lattner2007-05-191-0/+8
| | | | | | objc code due to the way the FE lowers objc message sends. llvm-svn: 37256
* Handle negative strides much more optimally. This compiles ↵Chris Lattner2007-05-191-3/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | X86/lsr-negative-stride.ll into: _t: movl 8(%esp), %ecx movl 4(%esp), %eax cmpl %ecx, %eax je LBB1_3 #bb17 LBB1_1: #bb cmpl %ecx, %eax jg LBB1_4 #cond_true LBB1_2: #cond_false subl %eax, %ecx cmpl %ecx, %eax jne LBB1_1 #bb LBB1_3: #bb17 ret LBB1_4: #cond_true subl %ecx, %eax cmpl %ecx, %eax jne LBB1_1 #bb jmp LBB1_3 #bb17 instead of: _t: subl $4, %esp movl %esi, (%esp) movl 12(%esp), %ecx movl 8(%esp), %eax cmpl %ecx, %eax je LBB1_4 #bb17 LBB1_1: #bb.outer movl %ecx, %edx negl %edx LBB1_2: #bb cmpl %ecx, %eax jle LBB1_5 #cond_false LBB1_3: #cond_true addl %edx, %eax cmpl %ecx, %eax jne LBB1_2 #bb LBB1_4: #bb17 movl (%esp), %esi addl $4, %esp ret LBB1_5: #cond_false movl %ecx, %edx subl %eax, %edx movl %eax, %esi addl %esi, %esi cmpl %ecx, %esi je LBB1_4 #bb17 LBB1_6: #cond_false.bb.outer_crit_edge movl %edx, %ecx jmp LBB1_1 #bb.outer llvm-svn: 37252
* Fix PR1431Devang Patel2007-05-171-1/+1
| | | | | | Test case at Transformations/SCCP/2007-05-16-InvokeCrash.ll llvm-svn: 37185
* selects can also reach hereChris Lattner2007-05-151-2/+3
| | | | llvm-svn: 37081
* Fix Transforms/InstCombine/2007-05-14-Crash.llChris Lattner2007-05-151-7/+16
| | | | llvm-svn: 37057
OpenPOWER on IntegriCloud