| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Add/complete support for integer and float | Duncan Sands | 2008-06-25 | 3 | -38/+282 | |
| | | | | | | | | | select_cc and friends. This code could be factorized a bit but I'm not sure that it's worth it. llvm-svn: 52724 | |||||
| * | Remove the OrigVT member from AtomicSDNode, as it is redundant with | Dan Gohman | 2008-06-25 | 3 | -13/+9 | |
| | | | | | | | the base SDNode's VTList. llvm-svn: 52722 | |||||
| * | Added MemOperands to Atomic operations since Atomics touches memory. | Mon P Wang | 2008-06-25 | 3 | -34/+93 | |
| | | | | | | | | | Added abstract class MemSDNode for any Node that have an associated MemOperand Changed atomic.lcs => atomic.cmp.swap, atomic.las => atomic.load.add, and atomic.lss => atomic.load.sub llvm-svn: 52706 | |||||
| * | Enable two-address remat by default. | Evan Cheng | 2008-06-25 | 1 | -35/+33 | |
| | | | | | llvm-svn: 52701 | |||||
| * | Use SmallVector instead of std::vector for a minor compile time improvement. | Owen Anderson | 2008-06-24 | 1 | -11/+11 | |
| | | | | | llvm-svn: 52689 | |||||
| * | A brief survey of priority_queue usage in the tree turned this up | Dan Gohman | 2008-06-23 | 1 | -1/+1 | |
| | | | | | | | as a questionable case, but the code isn't actually needed. llvm-svn: 52657 | |||||
| * | This situation can occur: | Bill Wendling | 2008-06-23 | 1 | -2/+17 | |
| | | | | | | | | | | | | | | | | | | | | ,------. | | | v | t2 = phi ... t1 ... | | | v | t1 = ... | ... = ... t1 ... | | `------' where there is a use in a PHI node that's a predecessor to the defining block. We don't want to mark all predecessors as having the value "alive" in this case. Also, the assert was too restrictive and didn't handle this case. llvm-svn: 52655 | |||||
| * | Use the new PriorityQueue in ScheduleDAGList too, which also | Dan Gohman | 2008-06-23 | 1 | -19/+3 | |
| | | | | | | | needs arbitrary-element removal. llvm-svn: 52654 | |||||
| * | Use getMBBEndIdx rather than assuming that the end is right after the last ↵ | Owen Anderson | 2008-06-23 | 1 | -1/+1 | |
| | | | | | | | instruction in the block. llvm-svn: 52649 | |||||
| * | Remove option used to debug stack coloring bugs. It's no longer needed since ↵ | Evan Cheng | 2008-06-23 | 1 | -6/+1 | |
| | | | | | | | stack coloring is now bug free. llvm-svn: 52644 | |||||
| * | Move a DenseMap's declaration outside of a loop, and just call | Dan Gohman | 2008-06-23 | 1 | -1/+2 | |
| | | | | | | | | clear() on each iteration. This avoids allocating and deallocating all of DenseMap's memory on each iteration. llvm-svn: 52642 | |||||
| * | Instead of adding an isSS field to LiveInterval to denote stack slot. Use ↵ | Evan Cheng | 2008-06-23 | 2 | -5/+4 | |
| | | | | | | | top bit of 'reg' instead. If the top bit is set, than the LiveInterval represents a stack slot live interval. llvm-svn: 52639 | |||||
| * | Duncan pointed out this code could be tidied. | Dan Gohman | 2008-06-23 | 1 | -6/+3 | |
| | | | | | llvm-svn: 52624 | |||||
| * | Port some integer multiplication fixes from LegalizeDAG. | Duncan Sands | 2008-06-23 | 1 | -8/+24 | |
| | | | | | | | | Bail out with an error if there is no libcall available for the given size of integer. llvm-svn: 52622 | |||||
| * | Support for expanding the result of EXTRACT_ELEMENT. | Duncan Sands | 2008-06-23 | 4 | -7/+24 | |
| | | | | | llvm-svn: 52621 | |||||
| * | Cleanup up LegalizeTypes handling of loads and | Duncan Sands | 2008-06-23 | 5 | -24/+22 | |
| | | | | | | | stores. llvm-svn: 52620 | |||||
| * | Make custom lowering of ADD work correctly. This | Duncan Sands | 2008-06-22 | 1 | -3/+3 | |
| | | | | | | | | | | | fixes PR2476; patch by Richard Osborne. The same problem exists for a bunch of other operators, but I'm ignoring this because they will be automagically fixed when the new LegalizeTypes infrastructure lands, since it already solves this problem centrally. llvm-svn: 52610 | |||||
| * | Simplify some getNode calls. | Dan Gohman | 2008-06-21 | 1 | -6/+3 | |
| | | | | | llvm-svn: 52604 | |||||
| * | canClobberPhysRegDefs shouldn't called without checking hasPhysRegDefs; | Dan Gohman | 2008-06-21 | 1 | -3/+2 | |
| | | | | | | | check this with an assert. llvm-svn: 52603 | |||||
| * | Use clear() to zero an existing APInt. | Dan Gohman | 2008-06-21 | 1 | -1/+1 | |
| | | | | | llvm-svn: 52601 | |||||
| * | Use back() instead of [size()-1]. | Dan Gohman | 2008-06-21 | 1 | -1/+1 | |
| | | | | | llvm-svn: 52600 | |||||
| * | Remove a redundant return. | Dan Gohman | 2008-06-21 | 1 | -2/+0 | |
| | | | | | llvm-svn: 52585 | |||||
| * | Remove ScheduleDAG's SUnitMap altogether. Instead, use SDNode's NodeId | Dan Gohman | 2008-06-21 | 4 | -50/+38 | |
| | | | | | | | | field, which is otherwise unused after instruction selection, as an index into the SUnit array. llvm-svn: 52583 | |||||
| * | Add a priority queue class, which is a wrapper around std::priority_queue | Dan Gohman | 2008-06-21 | 2 | -11/+8 | |
| | | | | | | | | and provides fairly efficient removal of arbitrary elements. Switch ScheduleDAGRRList from std::set to this new priority queue. llvm-svn: 52582 | |||||
| * | Support for load/store of expanded float types. I | Duncan Sands | 2008-06-21 | 3 | -1/+65 | |
| | | | | | | | | don't know if a truncating store is possible here, but added support for it anyway. llvm-svn: 52577 | |||||
| * | Change ScheduleDAG's SUnitMap from DenseMap<SDNode*, vector<SUnit*> > | Dan Gohman | 2008-06-21 | 4 | -34/+46 | |
| | | | | | | | | | to DenseMap<SDNode*, SUnit*>, and adjust the way cloned SUnit nodes are handled so that only the original node needs to be in the map. This speeds up llc on 447.dealII.llvm.bc by about 2%. llvm-svn: 52576 | |||||
| * | Undo spill weight tweak. Need to investigate the performance regressions. | Evan Cheng | 2008-06-21 | 2 | -10/+5 | |
| | | | | | llvm-svn: 52572 | |||||
| * | Simplify some template parameterization. | Dan Gohman | 2008-06-21 | 1 | -19/+12 | |
| | | | | | llvm-svn: 52571 | |||||
| * | Enhanced heuristic to determine the *best* register to spill. Instead of ↵ | Evan Cheng | 2008-06-20 | 1 | -66/+176 | |
| | | | | | | | | | picking the register with the lowest spill weight. Consider (up to) 2 additional registers with spill weights that are close to the lowest spill weight. The one with fewest defs and uses that conflicts with the current interval (weighted by loop depth) is the spill candidate. This is not always a win, but there are much more wins than loses and wins tend to be more noticeable. llvm-svn: 52554 | |||||
| * | Share some code that is common between integer and | Duncan Sands | 2008-06-20 | 6 | -412/+560 | |
| | | | | | | | float expansion (and sometimes vector splitting too). llvm-svn: 52548 | |||||
| * | Rename the operation of turning a float type into an | Duncan Sands | 2008-06-20 | 5 | -77/+76 | |
| | | | | | | | | | | integer of the same type. Before it was "promotion", but this is confusing because it is quite different to promotion of integers. Call it "softening" instead, inspired by "soft float". llvm-svn: 52546 | |||||
| * | Clean up some uses of std::distance, now that we have allnodes_size. | Dan Gohman | 2008-06-20 | 2 | -4/+3 | |
| | | | | | llvm-svn: 52545 | |||||
| * | Teach ReturnInst lowering about aggregate return values. | Dan Gohman | 2008-06-20 | 1 | -22/+28 | |
| | | | | | llvm-svn: 52522 | |||||
| * | Fix the index calculations for the extractvalue lowering code. | Dan Gohman | 2008-06-20 | 1 | -2/+2 | |
| | | | | | llvm-svn: 52517 | |||||
| * | Simplify the ComputeLinearIndex logic and fix a few bugs. | Dan Gohman | 2008-06-20 | 1 | -16/+10 | |
| | | | | | llvm-svn: 52516 | |||||
| * | ISD::UNDEF should be expanded recursively / iteratively. | Evan Cheng | 2008-06-19 | 1 | -1/+0 | |
| | | | | | llvm-svn: 52508 | |||||
| * | Use the transferSuccessors helper function. | Dan Gohman | 2008-06-19 | 1 | -5/+1 | |
| | | | | | llvm-svn: 52495 | |||||
| * | Missed a check. | Evan Cheng | 2008-06-19 | 1 | -1/+1 | |
| | | | | | llvm-svn: 52487 | |||||
| * | Revert my last patch, which was causing regression test failures. | Owen Anderson | 2008-06-19 | 1 | -78/+69 | |
| | | | | | llvm-svn: 52485 | |||||
| * | Coalesce copy from one register class to a sub register class. e.g. ↵ | Evan Cheng | 2008-06-19 | 2 | -25/+98 | |
| | | | | | | | X86::MOV16to16_. llvm-svn: 52480 | |||||
| * | Cosmetic changes. | Evan Cheng | 2008-06-19 | 1 | -3/+5 | |
| | | | | | llvm-svn: 52479 | |||||
| * | Minor spiller tweak to unfavor reload into load/store instructions. | Evan Cheng | 2008-06-19 | 1 | -4/+8 | |
| | | | | | llvm-svn: 52477 | |||||
| * | Insert empty slots into the instruction numbering in live intervals, so that ↵ | Owen Anderson | 2008-06-19 | 1 | -69/+78 | |
| | | | | | | | | | we can more easily add new instructions. llvm-svn: 52475 | |||||
| * | Fix the source line debug information for the Windows platform. | Argyrios Kyrtzidis | 2008-06-18 | 1 | -5/+88 | |
| | | | | | | | | According to DWARF-2 specification, the line information is provided through an offset in the .debug_line section. Replace the label reference that is used with a section offset. llvm-svn: 52468 | |||||
| * | Complete support for two-address pass rematerialization. Now *almost* always ↵ | Evan Cheng | 2008-06-18 | 1 | -49/+128 | |
| | | | | | | | a win. llvm-svn: 52452 | |||||
| * | Cosmetic. | Evan Cheng | 2008-06-18 | 1 | -1/+1 | |
| | | | | | llvm-svn: 52450 | |||||
| * | Live-through live interval is [mbb start, mbb end+1]. | Evan Cheng | 2008-06-17 | 1 | -1/+1 | |
| | | | | | llvm-svn: 52431 | |||||
| * | When extending a liveinterval by commuting, don't throw away the live ranges ↵ | Evan Cheng | 2008-06-17 | 1 | -2/+13 | |
| | | | | | | | that are not affected. llvm-svn: 52430 | |||||
| * | It's not safe to remove SUBREG_TO_REG that looks like identity copies, e.g. ↵ | Evan Cheng | 2008-06-17 | 1 | -11/+6 | |
| | | | | | | | movl %eax, %eax on x86-64 actually does a zero-extend. llvm-svn: 52421 | |||||
| * | Split type expansion into ExpandInteger and ExpandFloat | Duncan Sands | 2008-06-17 | 7 | -1500/+1611 | |
| | | | | | | | | | rather than bundling them together. Rename FloatToInt to PromoteFloat (better, if not perfect). Reorganize files by types rather than by operations. llvm-svn: 52408 | |||||

