aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Transforms
Commit message (Collapse)AuthorAgeFilesLines
* Turn calls to trampolines into calls to the underlyingDuncan Sands2007-09-111-0/+138
| | | | | | | nested function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41844 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid negative logic.Devang Patel2007-09-111-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41829 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor code into a separate method.Devang Patel2007-09-111-28/+47
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41826 91177308-0d34-0410-b5e6-96231b3b80d8
* Clear split info object.Devang Patel2007-09-111-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41823 91177308-0d34-0410-b5e6-96231b3b80d8
* Split condition does not have to be ICmpInst in all cases.Devang Patel2007-09-111-5/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41822 91177308-0d34-0410-b5e6-96231b3b80d8
* Check all terminators inside loop.Devang Patel2007-09-101-4/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41821 91177308-0d34-0410-b5e6-96231b3b80d8
* remove some dead code, this is handled by constant folding.Chris Lattner2007-09-101-8/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41819 91177308-0d34-0410-b5e6-96231b3b80d8
* Swap exit condition operands if it works.Devang Patel2007-09-101-5/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41817 91177308-0d34-0410-b5e6-96231b3b80d8
* Prevent tailcallelim from breaking "recursive" calls to builtins.Chris Lattner2007-09-101-0/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41804 91177308-0d34-0410-b5e6-96231b3b80d8
* Filter exit conditions which are not yet handled.Devang Patel2007-09-101-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41800 91177308-0d34-0410-b5e6-96231b3b80d8
* Require SCEV before LCSSA.Devang Patel2007-09-101-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41798 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't zap back to back volatile load/storesChris Lattner2007-09-071-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41759 91177308-0d34-0410-b5e6-96231b3b80d8
* Next round of APFloat changes.Dale Johannesen2007-09-062-12/+17
| | | | | | | | | | | | | | | Use APFloat in UpgradeParser and AsmParser. Change all references to ConstantFP to use the APFloat interface rather than double. Remove the ConstantFP double interfaces. Use APFloat functions for constant folding arithmetic and comparisons. (There are still way too many places APFloat is just a wrapper around host float/double, but we're getting there.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41747 91177308-0d34-0410-b5e6-96231b3b80d8
* Use isTrueWhenEqual. Thanks Chris!Nick Lewycky2007-09-061-8/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41741 91177308-0d34-0410-b5e6-96231b3b80d8
* When the two operands of an icmp are equal, there are five possible predicatesNick Lewycky2007-09-061-1/+3
| | | | | | | that would make the icmp true. Fixes PR1637. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41740 91177308-0d34-0410-b5e6-96231b3b80d8
* Forgot to obey 80 column rule. Fixing that.Chuck Rose III2007-09-051-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41725 91177308-0d34-0410-b5e6-96231b3b80d8
* Added default parameters to GetElementPtrInstr constructor call. Visual ↵Chuck Rose III2007-09-051-1/+1
| | | | | | Studio 2k5 was getting confused and was unable to compile it. Suspected compiler error. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41721 91177308-0d34-0410-b5e6-96231b3b80d8
* Insert cloned loop basic blocks before original loop header.Devang Patel2007-09-041-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41713 91177308-0d34-0410-b5e6-96231b3b80d8
* Update GEP constructors to use an iterator interface to fixDavid Greene2007-09-0410-47/+74
| | | | | | | GLIBCXX_DEBUG issues. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41697 91177308-0d34-0410-b5e6-96231b3b80d8
* Silence warning while compiling with gcc 4.2Anton Korobeynikov2007-09-021-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41676 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a gcroot lowering bug.Evan Cheng2007-09-011-2/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41668 91177308-0d34-0410-b5e6-96231b3b80d8
* Cut off crazy computation. This helps PR1622 slightly.Chris Lattner2007-08-281-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41522 91177308-0d34-0410-b5e6-96231b3b80d8
* Use simpler test to filter loops.Devang Patel2007-08-271-14/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41516 91177308-0d34-0410-b5e6-96231b3b80d8
* Update InvokeInst to work like CallInstDavid Greene2007-08-276-7/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41506 91177308-0d34-0410-b5e6-96231b3b80d8
* Change comments to refer to @malloc and @free instead of %malloc and %free.Dan Gohman2007-08-271-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41488 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't promote volatile loads/stores. This is needed (for example) to handle ↵Anton Korobeynikov2007-08-261-3/+6
| | | | | | | | | setjmp/longjmp properly. This fixes PR1520. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41461 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't DSe volatile stores.Owen Anderson2007-08-261-18/+25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41456 91177308-0d34-0410-b5e6-96231b3b80d8
* Move exit condition and exit branch from exiting block into loop header and ↵Devang Patel2007-08-251-0/+155
| | | | | | dominator info. This avoid execution of dead iteration. Loop is already filter in the beginning such that this change is safe. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41394 91177308-0d34-0410-b5e6-96231b3b80d8
* Constant split values needs upper bound and lower bound check, just like any ↵Devang Patel2007-08-251-6/+0
| | | | | | other split value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41389 91177308-0d34-0410-b5e6-96231b3b80d8
* While calculating upper loop bound for first loop and lower loop bound for ↵Devang Patel2007-08-251-36/+231
| | | | | | second loop, take care of edge cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41387 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix regression that I caused yesterday night while adding logic to select ↵Devang Patel2007-08-241-2/+2
| | | | | | appropriate split condition branch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41365 91177308-0d34-0410-b5e6-96231b3b80d8
* It is not safe to execute split condition's true branch first all the time. ↵Devang Patel2007-08-241-5/+35
| | | | | | | | | If split condition predicate is GT or GE then execute false branch first. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41358 91177308-0d34-0410-b5e6-96231b3b80d8
* Reject ICMP_NE as index split condition.Devang Patel2007-08-241-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41357 91177308-0d34-0410-b5e6-96231b3b80d8
* Tightenup loop filter.Devang Patel2007-08-241-2/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41356 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove incomplete cost analysis.Devang Patel2007-08-241-40/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41354 91177308-0d34-0410-b5e6-96231b3b80d8
* rename APInt::toString -> toStringUnsigned for symmetry with toStringSigned()Chris Lattner2007-08-231-1/+1
| | | | | | | | Add an APSInt::toString() method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41309 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove dead code.Devang Patel2007-08-221-5/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41295 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typo.Devang Patel2007-08-221-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41292 91177308-0d34-0410-b5e6-96231b3b80d8
* Cosmetic changeDevang Patel2007-08-221-84/+102
| | | | | | | | | "True Loop" and "False Loop" naming terminology to refer two loops after loop cloning is confusing. Instead just use A_Loop and B_Loop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41287 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor loop condition check in a separate function.Devang Patel2007-08-221-17/+34
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41282 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix thinko.Devang Patel2007-08-221-3/+3
| | | | | | | | Starting value of second loop's induction variable can not be lower then starting value of original loop's induction variable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41280 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename bunch of variables.Devang Patel2007-08-211-72/+79
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41250 91177308-0d34-0410-b5e6-96231b3b80d8
* Preserve LCSSA.Devang Patel2007-08-211-1/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41246 91177308-0d34-0410-b5e6-96231b3b80d8
* Use SmallVector instead of std::vector.Devang Patel2007-08-217-16/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41207 91177308-0d34-0410-b5e6-96231b3b80d8
* s/ExitBlock/ExitingBlock/gDevang Patel2007-08-201-26/+27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41204 91177308-0d34-0410-b5e6-96231b3b80d8
* Replace indunction variable with split value in loop body.Devang Patel2007-08-201-1/+5
| | | | | | | This fixes art miscompile. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41195 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not split loops rejected by processOneIterationLoop().Devang Patel2007-08-201-5/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41194 91177308-0d34-0410-b5e6-96231b3b80d8
* Oops, remove assert that wasn't meant to be committed.Nick Lewycky2007-08-181-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41170 91177308-0d34-0410-b5e6-96231b3b80d8
* Never insert duplicate edges.Nick Lewycky2007-08-181-13/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41169 91177308-0d34-0410-b5e6-96231b3b80d8
* Typo.Nick Lewycky2007-08-181-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41168 91177308-0d34-0410-b5e6-96231b3b80d8