aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix broken CellSPU lowering, re-instate braces in LegalizeNate Begeman2008-07-292-6/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54168 91177308-0d34-0410-b5e6-96231b3b80d8
* Added floating point lowering for select.Bruno Cardoso Lopes2008-07-294-86/+185
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54167 91177308-0d34-0410-b5e6-96231b3b80d8
* Set the executable bit - means it can actuallyDuncan Sands2008-07-291-0/+0
| | | | | | | | be run when installing on sparc sun. Set the mime type to text/x-sh while there. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54165 91177308-0d34-0410-b5e6-96231b3b80d8
* Disable a fix in the previous patch, since it breaks CellSPU.Nate Begeman2008-07-291-2/+4
| | | | | | | | The CellSPU codegen is broken, but needs to be fixed before we can put this back in. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54164 91177308-0d34-0410-b5e6-96231b3b80d8
* Add vector shifts to the IR, patch by Eli Friedman.Nate Begeman2008-07-2911-319/+361
| | | | | | | CodeGen & Clang work coming next. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54161 91177308-0d34-0410-b5e6-96231b3b80d8
* Add -unroll-allow-partial command line option that enabled the loop unroller toMatthijs Kooijman2008-07-292-4/+41
| | | | | | | | | partially unroll a loop when fully unrolling would not fit under the threshold. Patch by Mikael Lepistö. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54160 91177308-0d34-0410-b5e6-96231b3b80d8
* Restructure ArgumentPromotion a bit. Instead of just having a single booleanMatthijs Kooijman2008-07-292-99/+260
| | | | | | | | | | | | | | | that says "unconditional loads from this argument are safe", we now keep track of the safety per set of indices from which loads happen. This prevents ArgPromotion from promoting loads that aren't really valid. As an added effect, this will now disregard the the type of the indices passed to a GEP, so "load GEP %A, i32 1" and "load GEP %A, i64 1" will result in a single argument, not two. This fixes PR2598, for which a testcase has been added as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54159 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve bugpoint output a bit by outputting the actual instructions instead ofMatthijs Kooijman2008-07-291-2/+1
| | | | | | | | just it's name, which is often empty. Also remove a newline from the output that wasn't really needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54158 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a GetElementPtrInst::getIndexedType that accepts uint64_t's instead of ↵Matthijs Kooijman2008-07-292-7/+27
| | | | | | just Value*'s. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54157 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix for PR2578. Do not split off a block whose size is less than ↵Evan Cheng2008-07-291-0/+3
| | | | | | FreeRangeHeader::getMinBlockSize(). Patch by Damien. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54152 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert 54147.Dan Gohman2008-07-295-98/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54148 91177308-0d34-0410-b5e6-96231b3b80d8
* Add x86 isel patterns to match what would be a ZERO_EXTEND_INREG operation,Dan Gohman2008-07-285-0/+98
| | | | | | | | | which is represented in codegen as an 'and' operation. This matches them with movz instructions, instead of leaving them to be matched by and instructions with an immediate field. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54147 91177308-0d34-0410-b5e6-96231b3b80d8
* Fold the useful features of alist and alist_node into ilist, andDan Gohman2008-07-2833-815/+340
| | | | | | | | | | | | | | | | | a new ilist_node class, and remove them. Unlike alist_node, ilist_node doesn't attempt to manage storage itself, so it avoids the associated problems, including being opaque in gdb. Adjust the Recycler class so that it doesn't depend on alist_node. Also, change it to use explicit Size and Align parameters, allowing it to work when the largest-sized node doesn't have the greatest alignment requirement. Change MachineInstr's MachineMemOperand list from a pool-backed alist to a std::list for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54146 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't remove volatile loads. Thanks to Duncan for noticing this one.Owen Anderson2008-07-281-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54144 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove extra linesBill Wendling2008-07-281-3/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54143 91177308-0d34-0410-b5e6-96231b3b80d8
* Disable gp_rel relocation for constant pools access for now.Bruno Cardoso Lopes2008-07-281-7/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54142 91177308-0d34-0410-b5e6-96231b3b80d8
* Since build_vector is a variadic node, the numberDuncan Sands2008-07-281-1/+1
| | | | | | | of operands should be -1 not 0. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54141 91177308-0d34-0410-b5e6-96231b3b80d8
* This is not a binary file.Duncan Sands2008-07-280-0/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54140 91177308-0d34-0410-b5e6-96231b3b80d8
* Added floating point lowering for setcc and brcond.Bruno Cardoso Lopes2008-07-287-30/+158
| | | | | | | | Fixed COMM asm directive usage. ConstantPool using custom FourByteConstantSection. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54139 91177308-0d34-0410-b5e6-96231b3b80d8
* Test this differently: I saw this test failDuncan Sands2008-07-281-1/+1
| | | | | | | | | | because opt exited while llvm-as was still writing to the pipe, causing it to get a SIGPIPE. It seems best to change things to avoid the race altogether. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54138 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't build with 4.0.Bill Wendling2008-07-281-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54137 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a typo in a comment.Dan Gohman2008-07-281-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54136 91177308-0d34-0410-b5e6-96231b3b80d8
* Reword a comment to be less ambiguous.Dan Gohman2008-07-281-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54135 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bashism in TestRunner.sh.Dan Gohman2008-07-281-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54134 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for eliminating stores that store the same value that was just ↵Owen Anderson2008-07-282-2/+49
| | | | | | | | | loaded. This fixes PR2599. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54133 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a subtle bug when removing instructions from memdep. In very specific Owen Anderson2008-07-281-0/+4
| | | | | | | | | circumstances we could end up remapping a dependee to the same instruction that we're trying to remove. Handle this properly by just falling back to a conservative solution. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54132 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove <iostream> include.Bill Wendling2008-07-271-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54131 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't use reinterpret_cast when it isn't needed.Dan Gohman2008-07-271-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54130 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the ScheduleDAG's GraphRoot edge be blue and dashed too, likeDan Gohman2008-07-271-1/+2
| | | | | | | the SelectionDAG's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54129 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename SDOperand to SDValue.Dan Gohman2008-07-2757-5578/+5573
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54128 91177308-0d34-0410-b5e6-96231b3b80d8
* Tidy SDNode::use_iterator, and complete the transition to have itDan Gohman2008-07-2710-82/+67
| | | | | | | | parallel its analogue, Value::value_use_iterator. The operator* method now returns the user, rather than the use. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54127 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix embedded CRLF characters.Dan Gohman2008-07-271-632/+632
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54125 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename isOnlyUseOf to isOnlyUserOf.Dan Gohman2008-07-272-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54124 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve comments for SDNode use-count methods. No functionality change.Dan Gohman2008-07-271-10/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54123 91177308-0d34-0410-b5e6-96231b3b80d8
* Some binary operations were being treated asDuncan Sands2008-07-272-21/+30
| | | | | | | | unary operations! Add support for softening some additional unary operations like fp_to_sint. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54122 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the issues originally addressed in r54070. After thinking about it some ↵Owen Anderson2008-07-251-2/+19
| | | | | | | | | | | more, I realized that the right thing to do is to have StrongPHIElimination use its knowledge of the PHIs before they're erased to update the intervals appropriate. This is both simpler and more accurate than the alternative, which was having LIA figure it out when it renumbered things, plus it's just the right thing to do! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54077 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert my previous patch. In retrospect, this is completely the wrong way ↵Owen Anderson2008-07-251-66/+15
| | | | | | to fix this problem. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54072 91177308-0d34-0410-b5e6-96231b3b80d8
* Special cases are needed in renumbering when dealing with renumbering after ↵Owen Anderson2008-07-251-15/+66
| | | | | | | | | | a PHI has been removed. The interval previously defined by the PHI needs to be extended to the beginning of its basic block, and the intervals that were inputs need to be trimmed to the end of their basic blocks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54070 91177308-0d34-0410-b5e6-96231b3b80d8
* In order to avoid reprocessing a register more than once, we need to add itOwen Anderson2008-07-251-1/+1
| | | | | | | to the handled set so it will get filtered out in future iterations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54065 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove live interval entries for an interval if we're eliminating its only VN.Owen Anderson2008-07-251-1/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54062 91177308-0d34-0410-b5e6-96231b3b80d8
* Properly remap live ranges whose end indices are the end of the function.Owen Anderson2008-07-251-4/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54061 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename the version of CreateRet that's a convenience method for creatingDan Gohman2008-07-251-5/+8
| | | | | | | | multiple-valued return values, so that the name CreateRet is just for creating plain ret statements. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54053 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the remapping of interval indices (particularly ending indices) more ↵Owen Anderson2008-07-251-10/+15
| | | | | | | | | | robust. This is tricky business, and will probably take a few more iterations to get the last kinks out of it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54043 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix error: ‘std::ostream’ has not been declaredDuncan Sands2008-07-251-0/+1
| | | | | | | when compiling with gcc 4.3. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54041 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix test RUN lineNate Begeman2008-07-251-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54040 91177308-0d34-0410-b5e6-96231b3b80d8
* Disable mov{L, LP, HP, HLP, *DUP} shuffles for mmxNate Begeman2008-07-252-15/+31
| | | | | | | | | mmx needs its own fancy shuffle logic based on unpack; for now we get correct but awful code. Also commit Mon Ping's VSETCC patch git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54039 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unnecessary implicit argumentNate Begeman2008-07-252-8/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54031 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix minor issues with VICmp/VFCmp constant expressionsNate Begeman2008-07-253-16/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54030 91177308-0d34-0410-b5e6-96231b3b80d8
* Fit in 80 colsNate Begeman2008-07-251-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54029 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow verifier to be run on partially materialized modules.Nate Begeman2008-07-251-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54028 91177308-0d34-0410-b5e6-96231b3b80d8