summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
Commit message (Collapse)AuthorAgeFilesLines
* Minor comment tweaksChris Lattner2006-07-201-6/+5
| | | | llvm-svn: 29226
* Make it fit into 80 cols.Devang Patel2006-07-201-2/+2
| | | | llvm-svn: 29223
* Add new constructor to accept vector of exported names while creatingDevang Patel2006-07-201-0/+12
| | | | | | InternalizePass. llvm-svn: 29222
* Add an assertion.Owen Anderson2006-07-191-0/+2
| | | | llvm-svn: 29199
* Make LoopUnroll not die on LCSSA Phis. This makes lencod work again.Owen Anderson2006-07-191-0/+6
| | | | llvm-svn: 29198
* Fix a error that hadn't yet cause any problems, but I'm sure it would haveOwen Anderson2006-07-191-1/+1
| | | | | | somewhere down the road. llvm-svn: 29197
* silence warnings in a release buildChris Lattner2006-07-181-1/+1
| | | | llvm-svn: 29189
* Only reuse a previous IV if it would not require a type conversion.Evan Cheng2006-07-181-14/+17
| | | | llvm-svn: 29186
* eliminate some ugly code, using ConstantExpr::getWithOperands instead.Chris Lattner2006-07-141-35/+4
| | | | llvm-svn: 29149
* Hopefully the final attempt at making IndVars preserve LCSSA.Owen Anderson2006-07-141-2/+30
| | | | | | This should fix PR 831. llvm-svn: 29141
* Revert this patch temporarily until PR831 is fixed.Chris Lattner2006-07-131-31/+15
| | | | llvm-svn: 29134
* Handle instructions in the map, but that map to a null pointer.Chris Lattner2006-07-121-1/+2
| | | | | | This unbreaks smg2000. llvm-svn: 29127
* IndVars now (correctly) preserves LCSSA form.Owen Anderson2006-07-121-15/+31
| | | | llvm-svn: 29126
* In addition to deleting calls, the inliner can constant fold them as well.Chris Lattner2006-07-121-2/+4
| | | | | | | Handle this case, which doesn't require a new callgraph edge. This fixes a crash compiling MallocBench/gs. llvm-svn: 29121
* Change the callgraph representation to store the callsite along with theChris Lattner2006-07-122-39/+48
| | | | | | | | | | | target CG node. This allows the inliner to properly update the callgraph when using the pruning inliner. The pruning inliner may not copy over all call sites from a callee to a caller, so the edges corresponding to those call sites should not be copied over either. This fixes PR827 and Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll llvm-svn: 29120
* Silence a warning produced in assertions-disabled modeChris Lattner2006-07-111-1/+1
| | | | llvm-svn: 29108
* Revert my indvars changes because they were breaking things. Unfortunately thisOwen Anderson2006-07-111-29/+15
| | | | | | didn't start showing up until after the recent instcombine fixes. llvm-svn: 29102
* Add a comment, and fix a typo that broke the build.Owen Anderson2006-07-101-1/+2
| | | | llvm-svn: 29094
* Don't indent the entire function.Owen Anderson2006-07-101-50/+49
| | | | llvm-svn: 29093
* Recognize 16-bit bswaps by relaxing overconstrained pattern.Chris Lattner2006-07-101-2/+5
| | | | | | This implements Transforms/InstCombine/bswap.ll:test[34]. llvm-svn: 29087
* Make instcombine not remove Phi nodes when LCSSA is live.Owen Anderson2006-07-101-47/+51
| | | | llvm-svn: 29083
* Fix typo in the comment.Owen Anderson2006-07-091-1/+1
| | | | llvm-svn: 29078
* Add a fix for an issue where LCSSA would fail to insert undef's in some cornerOwen Anderson2006-07-091-14/+21
| | | | | | | cases. Ideally, this issue will go away in the future as LCSSA gets smarter about which Phi nodes it inserts. llvm-svn: 29076
* Fix PR820 and Transforms/GlobalOpt/2006-07-07-InlineAsmCrash.llChris Lattner2006-07-071-0/+3
| | | | llvm-svn: 29071
* Use hidden visibility to make symbols in an anonymous namespace getChris Lattner2006-06-286-7/+13
| | | | | | dropped. This shrinks libllvmgcc.dylib another 67K llvm-svn: 28975
* Shrink libllvmgcc.dylib by another 23KChris Lattner2006-06-285-6/+12
| | | | llvm-svn: 28972
* Switch to a very conservative heuristic for determining when loop-unswitchingOwen Anderson2006-06-281-5/+5
| | | | | | | | | | will be profitable. This is mainly to remove some cases where excessive unswitching would result in long compile times and/or huge generated code. Once someone comes up with a better heuristic that avoids these cases, this should be switched out. llvm-svn: 28962
* Fix Transforms/InstCombine/2006-06-28-infloop.llChris Lattner2006-06-281-0/+6
| | | | llvm-svn: 28961
* Don't unswitch really large loops even if they are mostly filled with emptyChris Lattner2006-06-281-0/+6
| | | | | | blocks. llvm-svn: 28959
* Catch more function pointer casting problemsAndrew Lenharth2006-06-281-1/+9
| | | | | | | | | Remove the Function pointer cast in these calls, converting it to a cast of argument. %tmp60 = tail call int cast (int (ulong)* %str to int (int)*)( int 10 ) %tmp60 = tail call int cast (int (ulong)* %str to int (int)*)( uint %tmp51 ) llvm-svn: 28953
* Fix for 2006-06-27-DeadSwitchCase.llOwen Anderson2006-06-271-5/+6
| | | | | | | Be more careful when updating Phi nodes after eliminating dead switch cases. Fix proposed by Chris. llvm-svn: 28947
* Fix Transforms/DeadArgElim/2006-06-27-struct-ret.ll. -deadargelim should notChris Lattner2006-06-271-5/+11
| | | | | | | remove the struct return argument of a csret function, even if it is obviously dead. llvm-svn: 28943
* De-pessimize the handling of LCSSA Phi nodes in IndVarSimplify. Hopefully thisOwen Anderson2006-06-271-15/+29
| | | | | | will make Shootout-C/nestedloop faster. llvm-svn: 28924
* random code cleanups, no functionality changeChris Lattner2006-06-261-9/+8
| | | | llvm-svn: 28914
* Make LoopUnswitch able to unswitch loops with live-out values by taking ↵Owen Anderson2006-06-261-53/+63
| | | | | | | | | advantage of LCSSA. This results several times the number of unswitchings occurring on tests such and timberwolfmc, unix-tbl, and ldecod. llvm-svn: 28912
* Fix IndVarsSimplify/2006-06-16-Indvar-LCSSA-Crash.ll, a case where aChris Lattner2006-06-171-4/+19
| | | | | | | | "LCSSA" phi node causes indvars to break dominance properties. This fixes causes indvars to avoid inserting aggressive code in this case, instead indvars should be fixed to be more aggressive in the face of lcssa phi's. llvm-svn: 28850
* Add missing casts. This fixed some regressions.Evan Cheng2006-06-161-2/+2
| | | | llvm-svn: 28834
* More libcall transformations:Evan Cheng2006-06-161-8/+110
| | | | | | | | printf("%s\n", str) -> puts(str) printf("%c", c) -> putchar(c) Also fixed fprintf(file, "%c", c) -> fputc(c, file) llvm-svn: 28815
* Simplify fprintf(file, "%s", str) to fputs(str, file).Evan Cheng2006-06-161-16/+36
| | | | llvm-svn: 28814
* Implement Transforms/InstCombine/bswap.ll, turning common shift/and/or bswapChris Lattner2006-06-151-1/+131
| | | | | | idioms into bswap intrinsics. llvm-svn: 28803
* Fix Transforms/LoopUnswitch/2006-06-13-SingleEntryPHI.ll, a loop unswitchChris Lattner2006-06-141-1/+13
| | | | | | bug exposed by the recent lcssa work. llvm-svn: 28779
* Use the PotDoms map to memoize 'dominating value' lookup. With this patch,Chris Lattner2006-06-141-17/+14
| | | | | | | LCSSA is still the slowest pass when gccas'ing 252.eon, but now it only takes 39s instead of 289s. :) llvm-svn: 28776
* Fix another instance where PHI nodes need special treatment.Owen Anderson2006-06-131-0/+6
| | | | llvm-svn: 28774
* Fix a bug that was causing major slowdowns in povray. This was due to LCSSAOwen Anderson2006-06-131-2/+7
| | | | | | | | | not handling PHI nodes correctly when determining if a value was live-out. This patch reduces the number of detected live-out variables in the testcase from 6565 to 485. llvm-svn: 28771
* Reapply my 6/9 changes. The bug Evan saw no longer occurs.Owen Anderson2006-06-121-1/+7
| | | | llvm-svn: 28759
* Fix an infinite loop on Transforms/SimplifyCFG/2006-06-12-InfLoop.llChris Lattner2006-06-121-1/+10
| | | | llvm-svn: 28758
* Fix for 2006-06-26-MultipleExitsSingleBlock.Owen Anderson2006-06-121-4/+7
| | | | | | | | If a single exit block has multiple predecessors within the loop, it will appear in the exit blocks list more than once. LCSSA needs to take that into account so that it doesn't double process that exit block. llvm-svn: 28750
* Re-commit the safe parts of my 6/9 patch. Still working on fixing the ↵Owen Anderson2006-06-111-0/+2
| | | | | | unsafe parts. llvm-svn: 28748
* Back out Owen's 6/9 changes. They broke ↵Evan Cheng2006-06-112-7/+1
| | | | | | MultiSource/Benchmarks/Prolangs-C/bison (and perhaps others). llvm-svn: 28747
* Add LCSSA as a requirement for LoopUnswitch, and assert that LoopUnswitch ↵Owen Anderson2006-06-091-0/+4
| | | | | | | | preserves LCSSA. llvm-svn: 28739
OpenPOWER on IntegriCloud