summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
Commit message (Collapse)AuthorAgeFilesLines
...
* Preserve canonical loop form.Devang Patel2007-04-091-5/+55
| | | | llvm-svn: 35829
* Don't link against System or Support library. These things will alreadyReid Spencer2007-04-091-1/+1
| | | | | | be in the opt tool. llvm-svn: 35827
* Do not create new pre-header. Reuse original pre-header.Devang Patel2007-04-091-73/+57
| | | | llvm-svn: 35825
* Simpler for() loops.Devang Patel2007-04-091-23/+17
| | | | llvm-svn: 35822
* Fix future bug. Of course, Chris spotted this.Devang Patel2007-04-091-11/+12
| | | | | | Handle Argument or Undef as an incoming PHI value. llvm-svn: 35821
* More cosmetic changes.Devang Patel2007-04-091-14/+18
| | | | llvm-svn: 35820
* Only cosmetic changes. Zero functionality Change.Devang Patel2007-04-091-97/+100
| | | | llvm-svn: 35819
* Fix PR1304 and Transforms/InstCombine/2007-04-08-SingleEltVectorCrash.llChris Lattner2007-04-091-2/+10
| | | | llvm-svn: 35792
* Eliminate useless insertelement instructions. This implementsChris Lattner2007-04-091-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Transforms/InstCombine/vec_insertelt.ll and fixes PR1286. We now compile the code from that bug into: _foo: movl 4(%esp), %eax movdqa (%eax), %xmm0 movl 8(%esp), %ecx psllw (%ecx), %xmm0 movdqa %xmm0, (%eax) ret instead of: _foo: subl $4, %esp movl %ebp, (%esp) movl %esp, %ebp movl 12(%ebp), %eax movdqa (%eax), %xmm0 #IMPLICIT_DEF %eax pinsrw $2, %eax, %xmm0 xorl %ecx, %ecx pinsrw $3, %ecx, %xmm0 pinsrw $4, %eax, %xmm0 pinsrw $5, %ecx, %xmm0 pinsrw $6, %eax, %xmm0 pinsrw $7, %ecx, %xmm0 movl 8(%ebp), %eax movdqa (%eax), %xmm1 psllw %xmm0, %xmm1 movdqa %xmm1, (%eax) movl %ebp, %esp popl %ebp ret woo :) llvm-svn: 35788
* Cleanup some from my DomSet-removal changes. Add a newOwen Anderson2007-04-091-4/+4
| | | | | | | isReachableFromEntry test to ETForest to factor a common test out of code. llvm-svn: 35786
* Fix a typo that broke SimplifyLibCalls/SPrintF.ll (pr1315)Chris Lattner2007-04-081-1/+1
| | | | llvm-svn: 35768
* reenable this xform, whoops :)Chris Lattner2007-04-081-1/+2
| | | | llvm-svn: 35765
* Fix regression on Instcombine/apint-or2.llChris Lattner2007-04-081-30/+29
| | | | llvm-svn: 35763
* Generalize the code that handles (A&B)|(A&C) to work where B/C are not ↵Chris Lattner2007-04-081-30/+83
| | | | | | | | constants. Add a new xform to simplify (A&B)|(~A&C). THis implements InstCombine/or2.ll:test1 llvm-svn: 35760
* implement a fixme: move optimizations for fwrite out of fputs into a newChris Lattner2007-04-081-26/+56
| | | | | | fwrite optimizer. llvm-svn: 35758
* Remove DominatorSet usage from LoopSimplify. Patch from Owen Anderson.Nick Lewycky2007-04-081-89/+54
| | | | llvm-svn: 35757
* Significantly simplify the clients of GetConstantStringInfo, by having itChris Lattner2007-04-071-235/+154
| | | | | | just return the string itself. llvm-svn: 35755
* Fix problems in the sprintf optimizerChris Lattner2007-04-071-81/+60
| | | | llvm-svn: 35754
* Change CastToCStr to take a pointer instead of a reference.Chris Lattner2007-04-071-82/+76
| | | | | | Fix some miscompilations in fprintf optimizer. llvm-svn: 35753
* Fix an off-by-one error that broke Prolangs/deriv2 with llc on x86Chris Lattner2007-04-071-1/+1
| | | | | | and Prolangs-C/cdecl llvm-svn: 35749
* Add DomSet back, and revert the changes to LoopSimplify. Apparently theOwen Anderson2007-04-071-48/+85
| | | | | | | ETForest updating mechanisms don't work as I thought they did. These changes will be reapplied once the issue is worked out. llvm-svn: 35741
* Add support for cast instructions.Nick Lewycky2007-04-071-17/+75
| | | | llvm-svn: 35734
* Completely purge DomSet. This is the (hopefully) final patch for PR1171.Owen Anderson2007-04-071-1/+0
| | | | llvm-svn: 35731
* Completely purge DomSet from LoopSimplify. This is part of theOwen Anderson2007-04-071-82/+46
| | | | | | continuing work on PR1171. llvm-svn: 35730
* BreakCriticalEdges does still preserve DominatorTree.Owen Anderson2007-04-071-0/+1
| | | | llvm-svn: 35729
* Expunge DomSet from BreakCriticalEdges. This is part of the continuingOwen Anderson2007-04-071-52/+18
| | | | | | work for PR 1171. llvm-svn: 35728
* Expunge DomSet from CodeExtractor. This is part of the continuing workOwen Anderson2007-04-072-24/+28
| | | | | | on PR1171. llvm-svn: 35726
* Support NE inequality in ValueRanges.Nick Lewycky2007-04-071-3/+58
| | | | llvm-svn: 35724
* Expunge a bunch of uses of DomSet from LoopSimplify. Many more remain.Owen Anderson2007-04-071-3/+2
| | | | | | This is the beginning of work for PR1171. llvm-svn: 35720
* Cleanup. Refactor out the applying of value ranges to its own method.Nick Lewycky2007-04-071-30/+35
| | | | llvm-svn: 35719
* Use TargetData to find the size of a type.Nick Lewycky2007-04-071-13/+34
| | | | llvm-svn: 35718
* Strengthen icmp snuggling by doing 'compare-or-equal-to' to 'compare'Nick Lewycky2007-04-071-16/+23
| | | | | | first and then range testing second. llvm-svn: 35715
* Add loop rotation pass.Devang Patel2007-04-071-0/+431
| | | | llvm-svn: 35714
* fix a miscompilation in printf optimizer.Chris Lattner2007-04-071-38/+36
| | | | llvm-svn: 35713
* trunc to bool no longer compares against zeroChris Lattner2007-04-071-10/+5
| | | | llvm-svn: 35712
* cleanups for strlen optimizerChris Lattner2007-04-071-34/+21
| | | | llvm-svn: 35711
* Introduce a new ReplaceCallWith method, which simplifies a lot of code.Chris Lattner2007-04-071-186/+86
| | | | llvm-svn: 35710
* fixes for strcpy optimizerChris Lattner2007-04-071-53/+42
| | | | llvm-svn: 35709
* Fix bugs in strncmp.Chris Lattner2007-04-071-62/+52
| | | | llvm-svn: 35708
* fix 3 miscompilations and several compielr crashes in strcmp optimizer.Chris Lattner2007-04-071-44/+35
| | | | llvm-svn: 35707
* Fix several nasty bugs in the strchr optimizer, this fixesChris Lattner2007-04-061-48/+54
| | | | | | SimplifyLibCalls/2007-04-06-strchr-miscompile.ll and PR1307 llvm-svn: 35706
* clean up strcat optimizer, no functionality change.Chris Lattner2007-04-061-28/+21
| | | | llvm-svn: 35704
* rename getConstantStringLength -> GetConstantStringInfo. Make it returnChris Lattner2007-04-061-74/+83
| | | | | | the start index of the array as well as the length. No functionality change. llvm-svn: 35703
* implement Transforms/InstCombine/malloc2.ll and PR1313Chris Lattner2007-04-061-1/+11
| | | | llvm-svn: 35700
* Fix Transforms/GlobalOpt/2007-04-05-Crash.llChris Lattner2007-04-051-1/+1
| | | | llvm-svn: 35689
* Use a worklist-driven algorithm instead of a recursive one.Chris Lattner2007-04-051-27/+36
| | | | llvm-svn: 35680
* Prevent transformConstExprCastCall from generating conversions that assertDale Johannesen2007-04-041-0/+35
| | | | | | elsewhere. llvm-svn: 35668
* Fix 2007-04-04-BadFoldBitcastIntoMalloc.llJeff Cohen2007-04-041-4/+5
| | | | llvm-svn: 35665
* Fix comment.Duncan Sands2007-04-041-1/+1
| | | | llvm-svn: 35655
* Fix a bug I introduced with my patch yesterday which broke Qt (I convertedChris Lattner2007-04-031-1/+1
| | | | | | | | some constant exprs to apints). Thanks to Anton for tracking down a small testcase that triggered this! llvm-svn: 35633
OpenPOWER on IntegriCloud