| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | remove some more dead special case code | Chris Lattner | 2006-02-12 | 1 | -35/+8 | |
| | | | | | llvm-svn: 26135 | |||||
| * | Eliminate special case hacks that are superceded by general purpose hacks | Chris Lattner | 2006-02-12 | 1 | -139/+51 | |
| | | | | | llvm-svn: 26134 | |||||
| * | Three changes: | Chris Lattner | 2006-02-12 | 1 | -6/+135 | |
| | | | | | | | | | | | | | 1. Teach GetConstantInType to handle boolean constants. 2. Teach instcombine to fold (compare X, CST) when X has known 0/1 bits. Testcase here: set.ll:test22 3. Improve the "(X >> c1) & C2 == 0" folding code to allow a noop cast between the shift and and. More aggressive bitfolding for other reasons was turning signed shr's into unsigned shr's, leaving the noop cast in the way. llvm-svn: 26131 | |||||
| * | Revert my last patch. It too breaks stuff | Chris Lattner | 2006-02-12 | 1 | -12/+6 | |
| | | | | | llvm-svn: 26128 | |||||
| * | Fix for my previously reverted patch | Chris Lattner | 2006-02-11 | 1 | -6/+12 | |
| | | | | | llvm-svn: 26126 | |||||
| * | Port the recent innovations in ComputeMaskedBits to SimplifyDemandedBits. | Chris Lattner | 2006-02-11 | 1 | -211/+425 | |
| | | | | | | | | | | | | This allows us to simplify on conditions where bits are not known, but they are not demanded either! This also fixes a couple of bugs in ComputeMaskedBits that were exposed during this work. In the future, swaths of instcombine should be removed, as this code subsumes a bunch of ad-hockery. llvm-svn: 26122 | |||||
| * | revert my previous change, it exposed other problems. | Chris Lattner | 2006-02-11 | 1 | -1/+1 | |
| | | | | | llvm-svn: 26121 | |||||
| * | fix storing booleans (grawp missed this one) | Duraid Madina | 2006-02-11 | 1 | -3/+3 | |
| | | | | | llvm-svn: 26120 | |||||
| * | now short immediates will get matched (previously constants were all | Duraid Madina | 2006-02-11 | 1 | -5/+3 | |
| | | | | | | | triggering movl 64bit imm fat instructions) llvm-svn: 26119 | |||||
| * | Make this check stricter. Disallow loop exit blocks from being shared by | Chris Lattner | 2006-02-11 | 1 | -4/+7 | |
| | | | | | | | loops and their subloops. llvm-svn: 26118 | |||||
| * | Prevent certain nodes that have already been selected from being folded into | Evan Cheng | 2006-02-11 | 1 | -19/+40 | |
| | | | | | | | | | X86 addressing mode. Currently we do not allow any node whose target node produces a chain as well as any node that is at the root of the addressing mode expression tree. llvm-svn: 26117 | |||||
| * | remove dead expr | Chris Lattner | 2006-02-11 | 1 | -1/+0 | |
| | | | | | llvm-svn: 26116 | |||||
| * | Reorg for integration with gcc4. Old style debug info will not be passed though | Jim Laskey | 2006-02-11 | 2 | -134/+267 | |
| | | | | | | | to SelIDAG. llvm-svn: 26115 | |||||
| * | implement unswitching of loops with switch stmts and selects in them | Chris Lattner | 2006-02-11 | 1 | -94/+135 | |
| | | | | | llvm-svn: 26114 | |||||
| * | Update PHI nodes in successors of exit blocks. | Chris Lattner | 2006-02-10 | 1 | -5/+34 | |
| | | | | | llvm-svn: 26113 | |||||
| * | Reform the unswitching code in terms of edge splitting, not block splitting. | Chris Lattner | 2006-02-10 | 1 | -49/+67 | |
| | | | | | llvm-svn: 26112 | |||||
| * | Nicer code. :-) | Evan Cheng | 2006-02-10 | 1 | -17/+18 | |
| | | | | | llvm-svn: 26111 | |||||
| * | Added X86 isel debugging stuff. | Evan Cheng | 2006-02-10 | 1 | -0/+63 | |
| | | | | | llvm-svn: 26110 | |||||
| * | Fix a case where UnswitchTrivialCondition broke critical edges with | Chris Lattner | 2006-02-10 | 1 | -1/+24 | |
| | | | | | | | phi's in the successors llvm-svn: 26108 | |||||
| * | Use the auto-generated call matcher. Remove a broken impl of the ↵ | Chris Lattner | 2006-02-10 | 3 | -61/+34 | |
| | | | | | | | | | | | frameaddr/returnaddr intrinsics. Autogen frameindex matcher llvm-svn: 26107 | |||||
| * | Update to new-style flags usage, simplifying the .td file | Chris Lattner | 2006-02-10 | 2 | -36/+25 | |
| | | | | | llvm-svn: 26106 | |||||
| * | Remove a completed entry; add a new entry about fisttp op | Evan Cheng | 2006-02-10 | 1 | -4/+3 | |
| | | | | | llvm-svn: 26105 | |||||
| * | add some notes, move some code around. Implement unswitching of loops | Chris Lattner | 2006-02-10 | 1 | -19/+64 | |
| | | | | | | | with branches on partially invariant computations. llvm-svn: 26104 | |||||
| * | Move code around to be more logical, no functionality change. | Chris Lattner | 2006-02-10 | 1 | -26/+32 | |
| | | | | | llvm-svn: 26103 | |||||
| * | When unswitching a trivial loop, do admit we are doing it! :) | Chris Lattner | 2006-02-10 | 1 | -0/+7 | |
| | | | | | llvm-svn: 26102 | |||||
| * | Implement unconditional unswitching of 'trivial' loops, those loops that contain | Chris Lattner | 2006-02-10 | 1 | -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 form | Chris Lattner | 2006-02-09 | 1 | -10/+12 | |
| | | | | | llvm-svn: 26098 | |||||
| * | Match tblgen change. | Evan Cheng | 2006-02-09 | 1 | -2/+2 | |
| | | | | | llvm-svn: 26096 | |||||
| * | Added SelectionDAG::InsertISelMapEntry(). This is used to workaround the gcc | Evan Cheng | 2006-02-09 | 1 | -0/+9 | |
| | | | | | | | | | 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 parameter | Chris Lattner | 2006-02-09 | 1 | -3/+7 | |
| | | | | | llvm-svn: 26093 | |||||
| * | Done | Chris Lattner | 2006-02-09 | 1 | -1/+0 | |
| | | | | | llvm-svn: 26091 | |||||
| * | Enable LSR by default for SPARC: it is a clear win. | Chris Lattner | 2006-02-09 | 1 | -4/+1 | |
| | | | | | llvm-svn: 26090 | |||||
| * | Simplify the loop-unswitch pass, by not even trying to unswitch loops with | Chris Lattner | 2006-02-09 | 1 | -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 violations | Chris Lattner | 2006-02-09 | 1 | -8/+9 | |
| | | | | | llvm-svn: 26088 | |||||
| * | Enhance MVIZ in three ways: | Chris Lattner | 2006-02-09 | 1 | -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 | |||||
| * | Match getTargetNode() changes (now return SDNode* instead of SDOperand). | Evan Cheng | 2006-02-09 | 5 | -206/+247 | |
| | | | | | llvm-svn: 26085 | |||||
| * | More changes to reduce frame size. | Evan Cheng | 2006-02-09 | 1 | -0/+243 | |
| | | | | | | | | | | 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 | |||||
| * | add an option to turn on LSR. | Chris Lattner | 2006-02-09 | 2 | -1/+62 | |
| | | | | | llvm-svn: 26080 | |||||
| * | simplify this code now that each constant pool entry is not separately allocated | Chris Lattner | 2006-02-09 | 1 | -15/+16 | |
| | | | | | llvm-svn: 26079 | |||||
| * | Adjust to MachineConstantPool interface change: instead of keeping a | Chris Lattner | 2006-02-09 | 5 | -13/+60 | |
| | | | | | | | value/alignment pair for each constant, keep a value/offset pair. llvm-svn: 26078 | |||||
| * | rename fields of constant pool entries | Chris Lattner | 2006-02-09 | 4 | -14/+12 | |
| | | | | | llvm-svn: 26076 | |||||
| * | Simplify code, alignment must be specified now. | Chris Lattner | 2006-02-09 | 1 | -10/+1 | |
| | | | | | llvm-svn: 26074 | |||||
| * | Make MachineConstantPool entries alignments explicit | Chris Lattner | 2006-02-09 | 1 | -2/+12 | |
| | | | | | llvm-svn: 26071 | |||||
| * | Always pass in an alignment. | Chris Lattner | 2006-02-09 | 1 | -1/+2 | |
| | | | | | llvm-svn: 26070 | |||||
| * | provide an explicit alignment for cp entries | Chris Lattner | 2006-02-09 | 1 | -6/+22 | |
| | | | | | llvm-svn: 26069 | |||||
| * | Change Select() from | Evan Cheng | 2006-02-09 | 5 | -240/+391 | |
| | | | | | | | | | SDOperand Select(SDOperand N); to void Select(SDOperand &Result, SDOperand N); llvm-svn: 26067 | |||||
| * | Darwin doesn't support #APP/#NO_APP | Chris Lattner | 2006-02-08 | 2 | -2/+3 | |
| | | | | | llvm-svn: 26066 | |||||
| * | Add support for assembler directives that wrap inline asm | Chris Lattner | 2006-02-08 | 1 | -1/+4 | |
| | | | | | llvm-svn: 26065 | |||||
| * | Rename BSel -> PPCBSel for the benefit of doxygen users. | Chris Lattner | 2006-02-08 | 1 | -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 | |||||
| * | add a simple optimization | Chris Lattner | 2006-02-08 | 1 | -0/+16 | |
| | | | | | llvm-svn: 26062 | |||||

