summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Update PHI nodes in successors of exit blocks.Chris Lattner2006-02-101-5/+34
| | | | llvm-svn: 26113
* Reform the unswitching code in terms of edge splitting, not block splitting.Chris Lattner2006-02-101-49/+67
| | | | llvm-svn: 26112
* Nicer code. :-)Evan Cheng2006-02-101-17/+18
| | | | llvm-svn: 26111
* Added X86 isel debugging stuff.Evan Cheng2006-02-101-0/+63
| | | | llvm-svn: 26110
* Remove a level of indirection.Chris Lattner2006-02-101-9/+8
| | | | llvm-svn: 26109
* Fix a case where UnswitchTrivialCondition broke critical edges withChris Lattner2006-02-101-1/+24
| | | | | | phi's in the successors llvm-svn: 26108
* Use the auto-generated call matcher. Remove a broken impl of the ↵Chris Lattner2006-02-103-61/+34
| | | | | | | | | | frameaddr/returnaddr intrinsics. Autogen frameindex matcher llvm-svn: 26107
* Update to new-style flags usage, simplifying the .td fileChris Lattner2006-02-102-36/+25
| | | | llvm-svn: 26106
* Remove a completed entry; add a new entry about fisttp opEvan Cheng2006-02-101-4/+3
| | | | llvm-svn: 26105
* add some notes, move some code around. Implement unswitching of loopsChris Lattner2006-02-101-19/+64
| | | | | | with branches on partially invariant computations. llvm-svn: 26104
* Move code around to be more logical, no functionality change.Chris Lattner2006-02-101-26/+32
| | | | llvm-svn: 26103
* When unswitching a trivial loop, do admit we are doing it! :)Chris Lattner2006-02-101-0/+7
| | | | llvm-svn: 26102
* Implement unconditional unswitching of 'trivial' loops, those loops that containChris Lattner2006-02-101-18/+149
| | | | | | branches in their entry block that control whether or not the loop is a noop or not. llvm-svn: 26101
* Simplify control flow a bit, note that unswitch preserves canonical loop formChris Lattner2006-02-091-10/+12
| | | | llvm-svn: 26098
* Match tblgen change.Evan Cheng2006-02-091-2/+2
| | | | llvm-svn: 26096
* Call InsertISelMapEntry rather than map insertion operator to prevent overlyEvan Cheng2006-02-091-45/+64
| | | | | | aggrssive inlining. This reduces Select_store frame size from 24k to 10k. llvm-svn: 26095
* Added SelectionDAG::InsertISelMapEntry(). This is used to workaround the gccEvan Cheng2006-02-092-2/+17
| | | | | | | | problem where it inline the map insertion call too aggressively. Before this change it was producing a frame size of 24k for Select_store(), now it's down to 10k (by calling this method rather than calling the map insertion operator). llvm-svn: 26094
* Make the threshold a parameterChris Lattner2006-02-091-3/+7
| | | | llvm-svn: 26093
* DoneChris Lattner2006-02-091-1/+0
| | | | llvm-svn: 26091
* Enable LSR by default for SPARC: it is a clear win.Chris Lattner2006-02-091-4/+1
| | | | llvm-svn: 26090
* Simplify the loop-unswitch pass, by not even trying to unswitch loops withChris Lattner2006-02-091-86/+74
| | | | | | | uses of loop values outside the loop. We need loop-closed SSA form to do this right, or to use SSA rewriting if we really care. llvm-svn: 26089
* Fix 80-column violationsChris Lattner2006-02-091-8/+9
| | | | llvm-svn: 26088
* Enhance MVIZ in three ways:Chris Lattner2006-02-091-55/+157
| | | | | | | | | | | 1. Teach it new tricks: in particular how to propagate through signed shr and sexts. 2. Teach it to return a bitset of known-1 and known-0 bits, instead of just zero. 3. Teach instcombine (AND X, C) to fold when we know all C bits of X. This implements Regression/Transforms/InstCombine/bittest.ll, and allows future things to be simplified. llvm-svn: 26087
* new testcaseChris Lattner2006-02-091-0/+29
| | | | llvm-svn: 26086
* Match getTargetNode() changes (now return SDNode* instead of SDOperand).Evan Cheng2006-02-095-206/+247
| | | | llvm-svn: 26085
* Match getTargetNode() changes (now returns SDNode* instead of SDOperand).Evan Cheng2006-02-092-40/+47
| | | | llvm-svn: 26084
* More changes to reduce frame size.Evan Cheng2006-02-092-236/+315
| | | | | | | | | Move all getTargetNode() out of SelectionDAG.h into SelectionDAG.cpp. This prevents them from being inlined. Change getTargetNode() so they return SDNode * instead of SDOperand to prevent copying. It should also help compilation speed. llvm-svn: 26083
* this apparently passes on linuxChris Lattner2006-02-091-1/+1
| | | | llvm-svn: 26082
* add an option to turn on LSR.Chris Lattner2006-02-092-1/+62
| | | | llvm-svn: 26080
* simplify this code now that each constant pool entry is not separately allocatedChris Lattner2006-02-091-15/+16
| | | | llvm-svn: 26079
* Adjust to MachineConstantPool interface change: instead of keeping aChris Lattner2006-02-095-13/+60
| | | | | | value/alignment pair for each constant, keep a value/offset pair. llvm-svn: 26078
* instead of keeping track of Constant/alignment pairs, actually compute theChris Lattner2006-02-091-17/+15
| | | | | | offset of each entry from the start of the constant pool. llvm-svn: 26077
* rename fields of constant pool entriesChris Lattner2006-02-094-14/+12
| | | | llvm-svn: 26076
* Use a MachineConstantPoolEntry struct instead of a pair to holdChris Lattner2006-02-091-5/+15
| | | | | | constant pool entries. llvm-svn: 26075
* Simplify code, alignment must be specified now.Chris Lattner2006-02-091-10/+1
| | | | llvm-svn: 26074
* Assert invariantsChris Lattner2006-02-091-0/+3
| | | | llvm-svn: 26073
* Require an alignment.Chris Lattner2006-02-091-6/+3
| | | | llvm-svn: 26072
* Make MachineConstantPool entries alignments explicitChris Lattner2006-02-091-2/+12
| | | | llvm-svn: 26071
* Always pass in an alignment.Chris Lattner2006-02-091-1/+2
| | | | llvm-svn: 26070
* provide an explicit alignment for cp entriesChris Lattner2006-02-091-6/+22
| | | | llvm-svn: 26069
* Add a comment: value is log2Chris Lattner2006-02-091-0/+3
| | | | llvm-svn: 26068
* Change Select() fromEvan Cheng2006-02-096-309/+489
| | | | | | | | SDOperand Select(SDOperand N); to void Select(SDOperand &Result, SDOperand N); llvm-svn: 26067
* Darwin doesn't support #APP/#NO_APPChris Lattner2006-02-082-2/+3
| | | | llvm-svn: 26066
* Add support for assembler directives that wrap inline asmChris Lattner2006-02-082-1/+9
| | | | llvm-svn: 26065
* Rename BSel -> PPCBSel for the benefit of doxygen users.Chris Lattner2006-02-081-105/+115
| | | | | | | | Move the methods out of line. Remove unused Debug.h stuff. Teach getNumBytesForInstruction to know the size of an inline asm. llvm-svn: 26064
* Disable this test for the time being as debug is brought up to speed.Jim Laskey2006-02-081-0/+1
| | | | llvm-svn: 26063
* add a simple optimizationChris Lattner2006-02-081-0/+16
| | | | llvm-svn: 26062
* Mention that delta can be used to reduce some Front-end problems.Chris Lattner2006-02-081-1/+4
| | | | | | Patch by Marco Matthies, thanks! llvm-svn: 26061
* Add SRoA to the lexicon. Patch by Marco Matthies!Chris Lattner2006-02-081-0/+3
| | | | llvm-svn: 26060
* Added options -cflag, -cxxflags, and -ldflags to override the default CEvan Cheng2006-02-081-0/+15
| | | | | | | | compilation, C++ compilation, and linker options. e.g. This is the options I use for testing on my x86 iMac: nice ./NightlyTest.pl -release -cflags "-Os -DNDEBUG -fomit-frame-pointer" -cxxflags "-Os -DNDEBUG -finline-functions -felide-constructors -fomit-frame-pointer" llvm-svn: 26057
OpenPOWER on IntegriCloud