summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
Commit message (Collapse)AuthorAgeFilesLines
* Dest type is always i8 *. This allows some simplification.Devang Patel2007-10-121-33/+12
| | | | | | Do not filter memmove. llvm-svn: 42930
* Fix a bug in my patch last night that broke InstCombine/2007-10-12-Crash.llChris Lattner2007-10-121-1/+7
| | | | llvm-svn: 42920
* eliminate warningGabor Greif2007-10-121-1/+1
| | | | llvm-svn: 42892
* Fix some 80 column violations.Chris Lattner2007-10-121-35/+42
| | | | | | | | Fix DecomposeSimpleLinearExpr to handle simple constants better. Don't nuke gep(bitcast(allocation)) if the bitcast(allocation) will fold the allocation. This fixes PR1728 and Instcombine/malloc3.ll llvm-svn: 42891
* Lower memcpy if it makes sense.Devang Patel2007-10-111-0/+46
| | | | llvm-svn: 42864
* Do not walk invalid iterator.Devang Patel2007-10-091-2/+2
| | | | llvm-svn: 42812
* Fix bug in updating dominance frontier after loop Devang Patel2007-10-051-27/+117
| | | | | | | unswitch when frontier includes basic blocks that are not inside loop. llvm-svn: 42654
* Fix 80 col violation.Devang Patel2007-10-031-3/+3
| | | | llvm-svn: 42591
* Refactor code in a separate method.Devang Patel2007-10-031-33/+46
| | | | llvm-svn: 42590
* Use empty() member functions when that's what's being tested for insteadDan Gohman2007-10-034-6/+6
| | | | | | of comparing begin() and end(). llvm-svn: 42585
* Tone down an overzealous optimization.Dale Johannesen2007-10-031-3/+21
| | | | llvm-svn: 42582
* Fix PR1719, by not marking llvm.global.annotations internal.Tanya Lattner2007-10-031-0/+1
| | | | llvm-svn: 42578
* 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
OpenPOWER on IntegriCloud