| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | new testcase | Chris Lattner | 2006-01-30 | 1 | -0/+11 |
| | | | | | llvm-svn: 25813 | ||||
| * | Clear the OpAction field before setting it. This allows a target to set | Chris Lattner | 2006-01-30 | 1 | -0/+1 |
| | | | | | | | an instruction operation action to Expand, then set it to Legal later. llvm-svn: 25812 | ||||
| * | If the target has V9 instructions, this pass is a noop, don't bother | Chris Lattner | 2006-01-30 | 1 | -8/+16 |
| | | | | | | | running it. llvm-svn: 25811 | ||||
| * | When in v9 mode, emit fabsd/fnegd/fmovd | Chris Lattner | 2006-01-30 | 1 | -8/+30 |
| | | | | | llvm-svn: 25810 | ||||
| * | First step towards V9 instructions in the V8 backend, two conditional move | Chris Lattner | 2006-01-30 | 3 | -7/+44 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | patterns. This allows emission of this code: t1: save -96, %o6, %o6 subcc %i0, %i1, %l0 move %icc, %i0, %i2 or %g0, %i2, %i0 restore %g0, %g0, %g0 retl nop instead of this: t1: save -96, %o6, %o6 subcc %i0, %i1, %l0 be .LBBt1_2 ! nop .LBBt1_1: ! or %g0, %i2, %i0 .LBBt1_2: ! restore %g0, %g0, %g0 retl nop for this: int %t1(int %a, int %b, int %c) { %tmp.2 = seteq int %a, %b %tmp3 = select bool %tmp.2, int %a, int %c ret int %tmp3 } llvm-svn: 25809 | ||||
| * | Two changes: | Chris Lattner | 2006-01-30 | 1 | -0/+11 |
| | | | | | | | | 1. Default to having V9 instructions, instead of just V8. 2. unless -enable-sparc-v9-insts is passed, disable V9 (for use with llcbeta) llvm-svn: 25807 | ||||
| * | When lowering SELECT_CC, see if the input is a lowered SETCC. If so, fold | Chris Lattner | 2006-01-30 | 1 | -0/+18 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the two operations together. This allows us to compile this: void %two(int %a, int* %b) { %tmp.2 = seteq int %a, 0 %tmp.0.0 = select bool %tmp.2, int 10, int 20 store int %tmp.0.0, int* %b ret void } into: two: save -96, %o6, %o6 or %g0, 20, %l0 or %g0, 10, %l1 subcc %i0, 0, %l2 be .LBBtwo_2 ! entry nop .LBBtwo_1: ! entry or %g0, %l0, %l1 .LBBtwo_2: ! entry st %l1, [%i1] restore %g0, %g0, %g0 retl nop instead of: two: save -96, %o6, %o6 sethi 0, %l0 or %g0, 1, %l1 or %g0, 20, %l2 or %g0, 10, %l3 subcc %i0, 0, %l4 be .LBBtwo_2 ! entry nop .LBBtwo_1: ! entry or %g0, %l0, %l1 .LBBtwo_2: ! entry subcc %l1, 0, %l0 bne .LBBtwo_4 ! entry nop .LBBtwo_3: ! entry or %g0, %l2, %l3 .LBBtwo_4: ! entry st %l3, [%i1] restore %g0, %g0, %g0 retl nop llvm-svn: 25806 | ||||
| * | Add AddSymbol() method to DynamicLibrary to work around Windows limitation | Jeff Cohen | 2006-01-30 | 3 | -0/+35 |
| | | | | | | | | of being unable to search for symbols in an EXE. It will also allow other existing hacks to be improved. llvm-svn: 25805 | ||||
| * | don't insert an and node if it isn't needed here, this can prevent folding | Chris Lattner | 2006-01-30 | 1 | -1/+3 |
| | | | | | | | of lowered target nodes. llvm-svn: 25804 | ||||
| * | Move MaskedValueIsZero from the DAGCombiner to the TargetLowering ↵ | Chris Lattner | 2006-01-30 | 5 | -132/+134 |
| | | | | | | | interface,making isMaskedValueZeroForTargetNode simpler, and useable from other partsof the compiler. llvm-svn: 25803 | ||||
| * | Move MaskedValueIsZero from the DAGCombiner to the TargetLowering interface, | Chris Lattner | 2006-01-30 | 1 | -6/+14 |
| | | | | | | | | making isMaskedValueZeroForTargetNode simpler, and useable from other parts of the compiler. llvm-svn: 25802 | ||||
| * | Add _CRT_SECURE_NO_DEPRECATE preprocessor symbol to make VS2005 happy. | Jeff Cohen | 2006-01-30 | 30 | -59/+59 |
| | | | | | llvm-svn: 25801 | ||||
| * | Implement isMaskedValueZeroForTargetNode for the various v8 selectcc nodes, | Chris Lattner | 2006-01-30 | 1 | -0/+26 |
| | | | | | | | allowing redundant and's to be eliminated by the dag combiner. llvm-svn: 25800 | ||||
| * | pass the address of MaskedValueIsZero into isMaskedValueZeroForTargetNode, | Chris Lattner | 2006-01-30 | 1 | -1/+1 |
| | | | | | | | to permit recursion llvm-svn: 25799 | ||||
| * | adjust prototype | Chris Lattner | 2006-01-30 | 3 | -3/+6 |
| | | | | | llvm-svn: 25798 | ||||
| * | Pass the address of the main MaskedValueIsZero function to allow recursion. | Chris Lattner | 2006-01-30 | 1 | -3/+5 |
| | | | | | llvm-svn: 25797 | ||||
| * | fix make install/uninstall of libcrtend. | Chris Lattner | 2006-01-30 | 1 | -0/+19 |
| | | | | | llvm-svn: 25796 | ||||
| * | Fix indentation. | Jeff Cohen | 2006-01-29 | 1 | -4/+4 |
| | | | | | llvm-svn: 25795 | ||||
| * | Fix RET of promoted values on targets that custom expand RET to a target node. | Chris Lattner | 2006-01-29 | 1 | -8/+9 |
| | | | | | llvm-svn: 25794 | ||||
| * | Functions that are lazily streamed in from the .bc file are *not* external. | Chris Lattner | 2006-01-29 | 2 | -2/+4 |
| | | | | | | | | This fixes llvm-test/SingleSource/UnitTests/2006-01-29-SimpleIndirectCall.c and PR704 llvm-svn: 25793 | ||||
| * | simplify some code | Chris Lattner | 2006-01-29 | 1 | -10/+7 |
| | | | | | llvm-svn: 25791 | ||||
| * | Remove extra qualifier. | Jim Laskey | 2006-01-29 | 1 | -1/+1 |
| | | | | | llvm-svn: 25790 | ||||
| * | add another note | Chris Lattner | 2006-01-29 | 1 | -0/+4 |
| | | | | | llvm-svn: 25789 | ||||
| * | add some performance notes from looking at sgefa | Chris Lattner | 2006-01-29 | 1 | -0/+34 |
| | | | | | llvm-svn: 25788 | ||||
| * | add a high-priority SSE issue from sgefa | Chris Lattner | 2006-01-29 | 1 | -0/+34 |
| | | | | | llvm-svn: 25787 | ||||
| * | add a missed optimization | Chris Lattner | 2006-01-29 | 1 | -0/+10 |
| | | | | | llvm-svn: 25786 | ||||
| * | cleanups to the ValueTypeActions interface | Chris Lattner | 2006-01-29 | 1 | -7/+5 |
| | | | | | llvm-svn: 25785 | ||||
| * | Now that OpActions is big enough, we can specify actions for vector types | Chris Lattner | 2006-01-29 | 1 | -2/+2 |
| | | | | | llvm-svn: 25784 | ||||
| * | clean up interface to ValueTypeActions | Chris Lattner | 2006-01-29 | 1 | -3/+3 |
| | | | | | llvm-svn: 25783 | ||||
| * | Clean up the interface to ValueTypeActions, allowing Legalize to use a copy | Chris Lattner | 2006-01-29 | 1 | -11/+36 |
| | | | | | | | | of it more cleanly. Double the size of OpActions, allowing it to hold actions for any VT. llvm-svn: 25782 | ||||
| * | revert an accidental commit | Chris Lattner | 2006-01-29 | 1 | -5/+1 |
| | | | | | llvm-svn: 25781 | ||||
| * | Remove some special case hacks for CALLSEQ_*, using UpdateNodeOperands | Chris Lattner | 2006-01-29 | 2 | -60/+27 |
| | | | | | | | instead. llvm-svn: 25780 | ||||
| * | remove some methods | Chris Lattner | 2006-01-29 | 1 | -5/+0 |
| | | | | | llvm-svn: 25779 | ||||
| * | disable this for now | Chris Lattner | 2006-01-29 | 1 | -2/+2 |
| | | | | | llvm-svn: 25778 | ||||
| * | Add a note about lowering llvm.memset, llvm.memcpy, and llvm.memmove to a | Reid Spencer | 2006-01-29 | 1 | -0/+7 |
| | | | | | | | few stores under certain conditions. llvm-svn: 25777 | ||||
| * | remove now-dead code, the legalizer takes care of this for us | Chris Lattner | 2006-01-29 | 1 | -6/+1 |
| | | | | | llvm-svn: 25776 | ||||
| * | The FP stack doesn't support UNDEF, ask the legalizer to legalize it | Chris Lattner | 2006-01-29 | 2 | -5/+3 |
| | | | | | | | instead of lying and saying we have it. llvm-svn: 25775 | ||||
| * | Allow custom expansion of ConstantVec nodes. PPC will use this in the future. | Chris Lattner | 2006-01-29 | 1 | -22/+35 |
| | | | | | llvm-svn: 25774 | ||||
| * | Request expansion of ConstantVec nodes. | Chris Lattner | 2006-01-29 | 1 | -0/+5 |
| | | | | | llvm-svn: 25773 | ||||
| * | Legalize ConstantFP into TargetConstantFP when the target allows. Implement | Chris Lattner | 2006-01-29 | 2 | -2/+39 |
| | | | | | | | custom expansion of ConstantFP nodes. llvm-svn: 25772 | ||||
| * | Targets all now request ConstantFP to be legalized into TargetConstantFP. | Chris Lattner | 2006-01-29 | 5 | -3/+13 |
| | | | | | | | 'fpimm' in .td files is now TargetConstantFP. llvm-svn: 25771 | ||||
| * | Update alpha to reflect recent constantfp legalize changes. It's not clear | Chris Lattner | 2006-01-29 | 2 | -16/+18 |
| | | | | | | | why all this code isn't autogenerated. :( llvm-svn: 25770 | ||||
| * | Make ConstantFP legalize into TargetConstantFP like other leaf nodes do. Allow | Chris Lattner | 2006-01-29 | 3 | -6/+16 |
| | | | | | | | | | targets to register custom legalizers for ConstantFP in case there isn't a fixed list of constants that can be generated. On some architectures (ia64?) all fp immediates are legal. llvm-svn: 25769 | ||||
| * | remove the getBR2Way_CC method | Chris Lattner | 2006-01-29 | 1 | -15/+0 |
| | | | | | llvm-svn: 25768 | ||||
| * | eliminate uses of SelectionDAG::getBR2Way_CC | Chris Lattner | 2006-01-29 | 2 | -9/+24 |
| | | | | | llvm-svn: 25767 | ||||
| * | it is nice not to chop off bits for those blessed with lots of bits | Andrew Lenharth | 2006-01-29 | 1 | -1/+1 |
| | | | | | llvm-svn: 25766 | ||||
| * | make the casts actually cast to the variable type | Andrew Lenharth | 2006-01-29 | 1 | -7/+10 |
| | | | | | llvm-svn: 25765 | ||||
| * | start of the 64bit safety cleanup | Andrew Lenharth | 2006-01-29 | 1 | -1/+1 |
| | | | | | llvm-svn: 25764 | ||||
| * | Emit series of conditionals with &&, emitting stuff like this: | Chris Lattner | 2006-01-29 | 1 | -13/+48 |
| | | | | | | | | | | | | | | | | | if (N1.getOpcode() == ISD::LOAD && N1.hasOneUse() && !CodeGenMap.count(N1.getValue(0)) && !CodeGenMap.count(N1.getValue(1))) { instead of this: if (N1.getOpcode() == ISD::LOAD) { if (N1.hasOneUse()) { if (!CodeGenMap.count(N1.getValue(0))) { if (!CodeGenMap.count(N1.getValue(1))) { llvm-svn: 25763 | ||||
| * | Factor matching code that is common between patterns. This works around | Chris Lattner | 2006-01-29 | 2 | -35/+112 |
| | | | | | | | | GCC not jump-threading across this common code, and produces far nicer output. llvm-svn: 25762 | ||||

