| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | mark adjcallstack up/down as clobbering and using the SP | Chris Lattner | 2006-10-12 | 1 | -2/+2 |
| | | | | | llvm-svn: 30908 | ||||
| * | Move the Imp tblgen class from the X86 backend to common code. | Chris Lattner | 2006-10-12 | 2 | -5/+7 |
| | | | | | llvm-svn: 30907 | ||||
| * | restore my previous patch, now that the X86 backend bug has been fixed: | Chris Lattner | 2006-10-12 | 1 | -17/+32 |
| | | | | | | | http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20061009/038518.html llvm-svn: 30906 | ||||
| * | Mark ADJCALLSTACKUP/DOWN as clobbering ESP so that virtregmap will notice | Chris Lattner | 2006-10-12 | 1 | -2/+6 |
| | | | | | | | that it can't assume ESP is unmodified across the instrs. llvm-svn: 30905 | ||||
| * | D'oh - need to use the rigth kind of store. | Jim Laskey | 2006-10-12 | 1 | -3/+6 |
| | | | | | llvm-svn: 30903 | ||||
| * | Backing out Chris' last commit. It's breaking llvm-gcc bootstrapping. | Evan Cheng | 2006-10-12 | 1 | -32/+17 |
| | | | | | | | | | | | | | | It's turning: movl -24(%ebp), %esp subl $16, %esp movl -24(%ebp), %ecx into movl -24(%ebp), %esp subl $16, %esp movl %esp, (%esp) llvm-svn: 30902 | ||||
| * | fix compilation failure of smg2000 | Chris Lattner | 2006-10-12 | 1 | -1/+1 |
| | | | | | llvm-svn: 30900 | ||||
| * | If we see a load from a stack slot into a physreg, consider it as providing | Chris Lattner | 2006-10-12 | 1 | -17/+32 |
| | | | | | | | the stack slot. This fixes PR943. llvm-svn: 30898 | ||||
| * | Prior load folding check on chain operand was too strict. It requires the | Evan Cheng | 2006-10-12 | 1 | -3/+43 |
| | | | | | | | | | | chain operand to point to the load being folded. Now we relax this, traversing up the chain, if it doesn't reach the load, then it's ok. We will create a TokenFactor (of all the chain operands and the load's chain) to capture all the control flow dependencies. llvm-svn: 30897 | ||||
| * | Replace custom dispatch code with two uses of InstVisitor. Improves | Nick Lewycky | 2006-10-12 | 1 | -93/+113 |
| | | | | | | | compile-time performance. llvm-svn: 30896 | ||||
| * | Update tests. | Evan Cheng | 2006-10-12 | 3 | -6/+11 |
| | | | | | llvm-svn: 30895 | ||||
| * | Fold "zero extending vector loads" now that evan added the chain manip stuff. | Chris Lattner | 2006-10-11 | 1 | -5/+52 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This compiles both tests in X86/vec_ss_load_fold.ll into: _test1: movss 4(%esp), %xmm0 subss LCPI1_0, %xmm0 mulss LCPI1_1, %xmm0 minss LCPI1_2, %xmm0 xorps %xmm1, %xmm1 maxss %xmm1, %xmm0 cvttss2si %xmm0, %eax andl $65535, %eax ret instead of: _test1: movss LCPI1_0, %xmm0 movss 4(%esp), %xmm1 subss %xmm0, %xmm1 movss LCPI1_1, %xmm0 mulss %xmm0, %xmm1 movss LCPI1_2, %xmm0 minss %xmm0, %xmm1 xorps %xmm0, %xmm0 maxss %xmm0, %xmm1 cvttss2si %xmm1, %eax andl $65535, %eax ret llvm-svn: 30894 | ||||
| * | new testcase | Chris Lattner | 2006-10-11 | 1 | -0/+46 |
| | | | | | llvm-svn: 30893 | ||||
| * | ComplexPatterns sse_load_f32 and sse_load_f64 returns in / out chain operands. | Evan Cheng | 2006-10-11 | 2 | -9/+14 |
| | | | | | llvm-svn: 30892 | ||||
| * | Add properties to ComplexPattern. | Evan Cheng | 2006-10-11 | 6 | -13/+16 |
| | | | | | llvm-svn: 30891 | ||||
| * | Added properties such as SDNPHasChain to ComplexPattern. | Evan Cheng | 2006-10-11 | 4 | -29/+73 |
| | | | | | llvm-svn: 30890 | ||||
| * | Alias analysis of TRUNCSTORE. | Jim Laskey | 2006-10-11 | 1 | -1/+28 |
| | | | | | llvm-svn: 30889 | ||||
| * | regenerate | Chris Lattner | 2006-10-11 | 2 | -100/+116 |
| | | | | | llvm-svn: 30888 | ||||
| * | Add support for let expressions around an mdef. This implements a new part | Chris Lattner | 2006-10-11 | 1 | -2/+10 |
| | | | | | | | of Regression/TableGen/MultiClass.td. llvm-svn: 30887 | ||||
| * | add test for mdef in a let | Chris Lattner | 2006-10-11 | 1 | -1/+8 |
| | | | | | llvm-svn: 30886 | ||||
| * | Clean-up of formatting and spelling. | Bill Wendling | 2006-10-11 | 2 | -41/+41 |
| | | | | | llvm-svn: 30885 | ||||
| * | Typo | Jim Laskey | 2006-10-11 | 1 | -1/+1 |
| | | | | | llvm-svn: 30884 | ||||
| * | Handle aliasing of loadext. | Jim Laskey | 2006-10-11 | 1 | -15/+19 |
| | | | | | llvm-svn: 30883 | ||||
| * | Explict processor. | Jim Laskey | 2006-10-11 | 1 | -1/+1 |
| | | | | | llvm-svn: 30882 | ||||
| * | Reduce the amount of state in the lowering code and drop old pattern ISel ↵ | Andrew Lenharth | 2006-10-11 | 3 | -28/+27 |
| | | | | | | | functions llvm-svn: 30881 | ||||
| * | Fix regression in combiner alias analysis. | Jim Laskey | 2006-10-11 | 1 | -22/+33 |
| | | | | | llvm-svn: 30880 | ||||
| * | Make sure combiner alias analysis does it's thing. | Jim Laskey | 2006-10-11 | 1 | -0/+25 |
| | | | | | llvm-svn: 30879 | ||||
| * | Naming consistency. | Evan Cheng | 2006-10-11 | 8 | -40/+40 |
| | | | | | llvm-svn: 30878 | ||||
| * | Test case for the recently fixed FindModifiedNodeSlot bug. | Evan Cheng | 2006-10-11 | 1 | -0/+31 |
| | | | | | llvm-svn: 30877 | ||||
| * | Put code example inside of "doc_code" divisions. | Bill Wendling | 2006-10-11 | 2 | -100/+377 |
| | | | | | llvm-svn: 30876 | ||||
| * | Use cute tblgen tricks to make zap handling more powerful. Specifically, | Chris Lattner | 2006-10-11 | 2 | -21/+70 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | when the dag combiner simplifies an and mask, notice this and allow those bits to be missing from the zap mask. This compiles Alpha/zapnot4.ll into: sll $16,3,$0 zapnot $0,3,$0 ret $31,($26),1 instead of: ldah $0,1($31) lda $0,-8($0) sll $16,3,$1 and $1,$0,$0 ret $31,($26),1 It would be *really* nice to replace the hunk of code in the AlphaISelDAGToDAG.cpp file that matches (and (srl (x, C), c2) into (SRL (ZAPNOTi)) with a similar pattern, but I've spent enough time poking at alpha. Make andrew will do this. llvm-svn: 30875 | ||||
| * | new testcase, this should turn into zap | Chris Lattner | 2006-10-11 | 1 | -0/+8 |
| | | | | | llvm-svn: 30874 | ||||
| * | Jimptables working again on alpha. | Andrew Lenharth | 2006-10-11 | 11 | -34/+28 |
| | | | | | | | As a bonus, use the GOT node instead of the AlphaISD::GOT for internal stuff. llvm-svn: 30873 | ||||
| * | Remove dead/redundant instructions. These are handled by ZAPNOTi | Chris Lattner | 2006-10-11 | 1 | -6/+1 |
| | | | | | llvm-svn: 30872 | ||||
| * | Special case tblgen generated code for patterns like (and X, 255) or (or X, 42). | Chris Lattner | 2006-10-11 | 1 | -1/+36 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The dag/inst combiners often 'simplify' the masked value based on whether or not the bits are live or known zero/one. This is good and dandy, but often causes special case patterns to fail, such as alpha's CMPBGE pattern, which looks like "(set GPRC:$RC, (setuge (and GPRC:$RA, 255), (and GPRC:$RB, 255)))". Here the pattern for (and X, 255) should match actual dags like (and X, 254) if the dag combiner proved that the missing bits are already zero (one for 'or'). For CodeGen/Alpha/cmpbge.ll:test2 for example, this results in: sll $16,1,$0 cmpbge $0,$17,$0 ret $31,($26),1 instead of: sll $16,1,$0 and $0,254,$0 and $17,255,$1 cmpule $1,$0,$0 ret $31,($26),1 ... and requires no target-specific code. llvm-svn: 30871 | ||||
| * | Both of these functions should turn into cmpbge instructions, even though | Chris Lattner | 2006-10-11 | 1 | -0/+16 |
| | | | | | | | the second has an and of 254 not 255. llvm-svn: 30870 | ||||
| * | add two helper methods. | Chris Lattner | 2006-10-11 | 2 | -1/+94 |
| | | | | | llvm-svn: 30869 | ||||
| * | Split some code out into a new method. The generated code is exactly | Chris Lattner | 2006-10-11 | 1 | -92/+99 |
| | | | | | | | identical, this is just a refactoring. llvm-svn: 30868 | ||||
| * | This entry is done. switched to the gcc way of doing things. | Andrew Lenharth | 2006-10-11 | 1 | -150/+0 |
| | | | | | llvm-svn: 30867 | ||||
| * | FindModifiedNodeSlot needs to add LoadSDNode ivars to create proper ↵ | Evan Cheng | 2006-10-11 | 1 | -0/+9 |
| | | | | | | | SelectionDAGCSEMap ID. llvm-svn: 30866 | ||||
| * | new testcase for zap generation, from the alpha readme | Chris Lattner | 2006-10-11 | 1 | -0/+14 |
| | | | | | llvm-svn: 30865 | ||||
| * | This has apparently been fixed | Chris Lattner | 2006-10-11 | 1 | -30/+0 |
| | | | | | llvm-svn: 30864 | ||||
| * | Make the bugpoint reduction heuristics more effective. Patch submitted by | Chris Lattner | 2006-10-10 | 1 | -2/+58 |
| | | | | | | | Domagoj Babic, thanks! llvm-svn: 30863 | ||||
| * | uint <-> double conversion | Rafael Espindola | 2006-10-10 | 3 | -0/+38 |
| | | | | | llvm-svn: 30862 | ||||
| * | Also update getNodeLabel for LoadSDNode. | Evan Cheng | 2006-10-10 | 1 | -0/+21 |
| | | | | | llvm-svn: 30861 | ||||
| * | SDNode::dump should also print out extension type and VT. | Evan Cheng | 2006-10-10 | 1 | -0/+21 |
| | | | | | llvm-svn: 30860 | ||||
| * | add fp sub | Rafael Espindola | 2006-10-10 | 2 | -4/+24 |
| | | | | | llvm-svn: 30859 | ||||
| * | add double <-> int conversion | Rafael Espindola | 2006-10-10 | 3 | -2/+40 |
| | | | | | llvm-svn: 30858 | ||||
| * | Fix another bug in extload promotion. | Chris Lattner | 2006-10-10 | 1 | -1/+2 |
| | | | | | llvm-svn: 30857 | ||||
| * | compare doubles | Rafael Espindola | 2006-10-10 | 3 | -3/+16 |
| | | | | | llvm-svn: 30856 | ||||

