aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Transforms/Scalar
Commit message (Collapse)AuthorAgeFilesLines
* Fix spelling.Misha Brukman2003-10-107-15/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9027 91177308-0d34-0410-b5e6-96231b3b80d8
* Update commentChris Lattner2003-10-081-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8965 91177308-0d34-0410-b5e6-96231b3b80d8
* Use a set to keep track of which edges have been noticed as executable alreadyChris Lattner2003-10-081-15/+27
| | | | | | | | to avoid reprocessing PHI nodes needlessly. This speeds up the big bad PHI testcase 43%: from 104.9826 to 73.5157s git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8964 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor fixes here and thereChris Lattner2003-10-081-22/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8963 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid building data structures we don't really need. This improves the runtimeChris Lattner2003-10-081-10/+39
| | | | | | | | | of a test that Bill Wendling sent me from 228.5s to 105s. Obviously there is more improvement to be had, but this is a nice speedup which should be "felt" by many programs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8962 91177308-0d34-0410-b5e6-96231b3b80d8
* whoops, don't accidentally lose variable namesChris Lattner2003-10-071-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8955 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug: InstCombine/cast.ll:test11 / PR#7Chris Lattner2003-10-071-1/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8954 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor code a bitChris Lattner2003-10-071-4/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8952 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug in previous checkinChris Lattner2003-10-071-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8922 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor speedups for the instcombine passChris Lattner2003-10-061-17/+26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8894 91177308-0d34-0410-b5e6-96231b3b80d8
* Change the interface to PromoteMemToReg to also take a DominatorTreeChris Lattner2003-10-052-3/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8883 91177308-0d34-0410-b5e6-96231b3b80d8
* simplify-cfg is really a function passChris Lattner2003-10-051-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8868 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement InstCombine/add.ll:test17 & 18Chris Lattner2003-10-021-0/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8817 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug: IndVarsSimplify/2003-09-23-NotAtTop.llChris Lattner2003-09-231-2/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8689 91177308-0d34-0410-b5e6-96231b3b80d8
* Credits now go into the top-level CREDITS.TXTMisha Brukman2003-09-221-3/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8662 91177308-0d34-0410-b5e6-96231b3b80d8
* Squelch warningChris Lattner2003-09-221-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8659 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename Function::getEntryNode -> getEntryBlockChris Lattner2003-09-204-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8625 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a really obvious huge gaping bug, add a commentChris Lattner2003-09-201-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8620 91177308-0d34-0410-b5e6-96231b3b80d8
* Expose the TCE passChris Lattner2003-09-201-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8619 91177308-0d34-0410-b5e6-96231b3b80d8
* New transformation: tail recursion eliminationChris Lattner2003-09-201-0/+96
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8618 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement InstCombine/and.ll:test(15|16)Chris Lattner2003-09-191-0/+27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8607 91177308-0d34-0410-b5e6-96231b3b80d8
* pull a large nested conditional out into its own functionChris Lattner2003-09-191-70/+91
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8605 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement InstCombine/add.ll:test(15|16)Chris Lattner2003-09-191-0/+37
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8604 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure to cannonicalize loops before running indvar simplifyChris Lattner2003-09-121-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8502 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not return success after checking only the FIRST USE of a gep instruction.Chris Lattner2003-09-121-3/+7
| | | | | | | | | Instead, check all uses. This fixes bug: ScalarRepl/2003-09-12-IncorrectPromote.ll This also fixes the miscompilation of Ptrdist/bc git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8493 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor optimization efficiency improvement:Chris Lattner2003-09-121-7/+9
| | | | | | | | - Run mem2reg promotion first - Only rerun passes if the previous thing changed something git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8490 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify codeChris Lattner2003-09-111-9/+6
| | | | | | | Implement InstCombine/mul.ll:test9 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8488 91177308-0d34-0410-b5e6-96231b3b80d8
* Apostrophes are only used for possession and quoting.Misha Brukman2003-09-111-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8473 91177308-0d34-0410-b5e6-96231b3b80d8
* Integrate functionality of the mem2reg pass directly into this pass to makeChris Lattner2003-09-111-7/+62
| | | | | | | the combination more effective git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8471 91177308-0d34-0410-b5e6-96231b3b80d8
* Renamed DominatorTree::Node::getNode() -> getBlock()Chris Lattner2003-09-114-14/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8469 91177308-0d34-0410-b5e6-96231b3b80d8
* Spell `definite' correctly.Misha Brukman2003-09-111-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8467 91177308-0d34-0410-b5e6-96231b3b80d8
* Unwind instructions are intrinsically alive, just like returnsChris Lattner2003-09-101-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8462 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix spell-o'sChris Lattner2003-09-104-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8431 91177308-0d34-0410-b5e6-96231b3b80d8
* Spelling fixes. I think that "cannonical" is ok, but "canonical" appears toChris Lattner2003-09-101-21/+21
| | | | | | | be the canonical form for the word git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8430 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix up file headerChris Lattner2003-09-101-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8428 91177308-0d34-0410-b5e6-96231b3b80d8
* Spell `occurrence' correctly.Misha Brukman2003-09-091-59/+58
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8425 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for the unwind instructionChris Lattner2003-09-081-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8408 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not hoist volatile loadsChris Lattner2003-09-081-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8399 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug: TailDuplicate/2003-08-31-UnreachableBlocks.llChris Lattner2003-08-311-2/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8276 91177308-0d34-0410-b5e6-96231b3b80d8
* ScalarRepl does not modify the CFG. Say so!Chris Lattner2003-08-311-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8243 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug: SCCP/2003-08-26-InvokeHandling.llChris Lattner2003-08-271-1/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8152 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug: TailDup/2003-08-23-InvalidatedPointers.llChris Lattner2003-08-231-16/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8078 91177308-0d34-0410-b5e6-96231b3b80d8
* The word `dependent' has no `a'.Misha Brukman2003-08-211-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8030 91177308-0d34-0410-b5e6-96231b3b80d8
* Spell `necessary' correctly.Misha Brukman2003-08-183-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7944 91177308-0d34-0410-b5e6-96231b3b80d8
* Factory methods for function passes now return type FunctionPass *.Brian Gaeke2003-08-141-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7839 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement instcombine optimizations:Chris Lattner2003-08-131-1/+97
| | | | | | | | | (A <setcc1> B) logicalop (A <setcc2> B) -> (A <setcc3> B) or true or false Where setcc[123] is one of the 6 setcc instructions, and logicalop is one of: And, Or, Xor git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7828 91177308-0d34-0410-b5e6-96231b3b80d8
* Generalize some of the add tests to allow for reassociation to take placeChris Lattner2003-08-131-10/+130
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7825 91177308-0d34-0410-b5e6-96231b3b80d8
* Assign arguments different ranks so they get grouped togetherChris Lattner2003-08-131-4/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7813 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement InstCombine/2003-08-12-AllocaNonNull.llChris Lattner2003-08-131-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7807 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not cannonicalize (X != 0) into (cast X to bool)Chris Lattner2003-08-131-79/+68
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7806 91177308-0d34-0410-b5e6-96231b3b80d8