summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
Commit message (Collapse)AuthorAgeFilesLines
* Fix PR1719, by not marking llvm.noinline internal.Chris Lattner2007-10-031-0/+1
| | | | llvm-svn: 42565
* Fix stride computations for long double arrays.Dale Johannesen2007-10-011-1/+1
| | | | llvm-svn: 42508
* Relax unsafe use check. If there is one unconditional use inside the loop ↵Devang Patel2007-10-011-22/+22
| | | | | | then it is safe to promote value even if there is another conditional use inside the loop. llvm-svn: 42493
* minor long double related changesDale Johannesen2007-09-281-4/+2
| | | | llvm-svn: 42439
* Don't do SRA for unions with long double fields.Dale Johannesen2007-09-281-0/+6
| | | | | | Fixes a SWB crash. llvm-svn: 42422
* Handle multiple induction variables.Devang Patel2007-09-251-7/+14
| | | | | | This fixes PR714. llvm-svn: 42309
* Do not reserve DOM check for GetElementPtrInst.Devang Patel2007-09-251-21/+22
| | | | llvm-svn: 42306
* doh.. Devang Patel2007-09-251-1/+1
| | | | llvm-svn: 42300
* Add transformation to update loop interation space. Now,Devang Patel2007-09-251-7/+148
| | | | | | | | | | | | | | | for (i=A; i<N; i++) { if (i < X && i > Y) do_something(); } is transformed into U=min(N,X); L=max(A,Y); for (i=L;i<U;i++) do_somethihg(); llvm-svn: 42299
* Do not promote null values because it may be unsafe to do so.Devang Patel2007-09-241-0/+4
| | | | llvm-svn: 42270
* explicit keywords.Dan Gohman2007-09-241-1/+1
| | | | llvm-svn: 42262
* Fix PR1692Devang Patel2007-09-211-3/+5
| | | | llvm-svn: 42209
* Add partial caching of non-local memory dependence queries. This provides a ↵Owen Anderson2007-09-211-1/+1
| | | | | | | | modest speedup for GVN. llvm-svn: 42185
* Update aux. info associated with an instruction before erasing instruction.Devang Patel2007-09-201-12/+12
| | | | llvm-svn: 42180
* Don't increment invalid iterator.Devang Patel2007-09-201-1/+2
| | | | llvm-svn: 42178
* Fix optimization. %x = sub %x, %y does not imply that %y is zero.Nick Lewycky2007-09-201-1/+1
| | | | llvm-svn: 42157
* Avoid unsafe promotion.Devang Patel2007-09-191-9/+41
| | | | llvm-svn: 42149
* Improve comment.Duncan Sands2007-09-191-1/+2
| | | | llvm-svn: 42132
* A global variable with external weak linkage can be null, whileDuncan Sands2007-09-191-2/+6
| | | | | | an alias could alias such a global variable. llvm-svn: 42130
* Relax loop ExitCondition predicate restriction.Devang Patel2007-09-191-5/+7
| | | | llvm-svn: 42122
* Filter loops where split condition's false branch is not empty. For exampleDevang Patel2007-09-191-0/+4
| | | | | | | | | | | for (int i = 0; i < N; ++i) { if (i == somevalue) dosomething(); else dosomethingelse(); } llvm-svn: 42121
* Bail out early, before modifying anything.Devang Patel2007-09-191-4/+5
| | | | llvm-svn: 42120
* Work is incomplete. Loop is not modified at all right now.Devang Patel2007-09-191-1/+1
| | | | llvm-svn: 42119
* Fix PR1657Devang Patel2007-09-181-0/+8
| | | | llvm-svn: 42075
* Do not eliminate loop when it is invalid to do so. For example,Devang Patel2007-09-171-14/+35
| | | | | | | | | | | | | | for(int i = 0; i < N; i++) { if ( i == XYZ) { A; else B; } C; D; } llvm-svn: 42058
* Skeleton for transformations to truncate loop's iteration space.Devang Patel2007-09-171-2/+198
| | | | llvm-svn: 42054
* Fix comment.Devang Patel2007-09-171-1/+1
| | | | llvm-svn: 42048
* Merge DenseMapKeyInfo & DenseMapValueInfo into DenseMapInfoChris Lattner2007-09-173-9/+19
| | | | | | | Add a new DenseMapInfo::isEqual method to allow clients to redefine the equality predicate used when probing the hash table. llvm-svn: 42042
* Instcombine x-((x/y)*y) into a remainder operator.Dan Gohman2007-09-171-1/+12
| | | | llvm-svn: 42035
* Factor the trampoline transformation into a subroutine.Duncan Sands2007-09-171-137/+148
| | | | llvm-svn: 42021
* Be more careful when constant-folding PHI nodes.Owen Anderson2007-09-161-1/+16
| | | | llvm-svn: 41998
* Remove RLE. It is subsumed by GVN.Owen Anderson2007-09-141-135/+0
| | | | llvm-svn: 41968
* Remove the assumption that FP's are either float orDale Johannesen2007-09-141-3/+6
| | | | | | | | | | | | | double from some of the many places in the optimizers it appears, and do something reasonable with x86 long double. Make APInt::dump() public, remove newline, use it to dump ConstantSDNode's. Allow APFloats in FoldingSet. Expand X86 backend handling of long doubles (conversions to/from int, mostly). llvm-svn: 41967
* Fix a logic error in ValueIsOnlyUsedLocallyOrStoredToOneGlobal that caused Chris Lattner2007-09-141-4/+4
| | | | | | | miscompilation of 188.ammp. Reject select and bitcast in ValueIsOnlyUsedLocallyOrStoredToOneGlobal because RewriteHeapSROALoadUser can't handle it. llvm-svn: 41950
* silence a bogus gcc warning.Chris Lattner2007-09-141-1/+1
| | | | llvm-svn: 41949
* Temporary reverting r41817Bill Wendling2007-09-141-15/+5
| | | | | | | (http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070910/053370.html). It's causing SPASS to fail. llvm-svn: 41938
* Teach GlobalLoadUsesSimpleEnoughForHeapSRA and the SROA rewriter how to handleChris Lattner2007-09-131-14/+62
| | | | | | | a limited form of PHI nodes. This finally fixes PR1639, speeding 179.art up from 7.84s to 3.13s on PPC. llvm-svn: 41933
* be tolerant of PHI nodes when rewriting heap SROA code. This is a stepChris Lattner2007-09-131-26/+50
| | | | | | along the way of PR1639 llvm-svn: 41930
* refactor some code, no functionality change. On the path to PR1639Chris Lattner2007-09-131-50/+56
| | | | llvm-svn: 41929
* Make ValueIsOnlyUsedLocallyOrStoredToOneGlobal smart enough to see throughChris Lattner2007-09-131-5/+16
| | | | | | bitcasts and phis. This is a step to fixing PR1639. llvm-svn: 41928
* Make AllUsesOfLoadedValueWillTrapIfNull strong enough to see through PHIChris Lattner2007-09-131-6/+15
| | | | | | nodes. This is the first step of the fix for PR1639. llvm-svn: 41927
* Change llvm.gcroot to not init the root to null at runtime, this preventsChris Lattner2007-09-121-4/+1
| | | | | | using it for live-in values etc. llvm-svn: 41879
* Turn calls to trampolines into calls to the underlyingDuncan Sands2007-09-111-0/+138
| | | | | | nested function. llvm-svn: 41844
* Avoid negative logic.Devang Patel2007-09-111-4/+4
| | | | llvm-svn: 41829
* Refactor code into a separate method.Devang Patel2007-09-111-28/+47
| | | | llvm-svn: 41826
* Clear split info object.Devang Patel2007-09-111-0/+1
| | | | llvm-svn: 41823
* Split condition does not have to be ICmpInst in all cases.Devang Patel2007-09-111-5/+8
| | | | llvm-svn: 41822
* Check all terminators inside loop.Devang Patel2007-09-101-4/+3
| | | | llvm-svn: 41821
* remove some dead code, this is handled by constant folding.Chris Lattner2007-09-101-8/+1
| | | | llvm-svn: 41819
* Swap exit condition operands if it works.Devang Patel2007-09-101-5/+15
| | | | llvm-svn: 41817
OpenPOWER on IntegriCloud