| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Use DenseMap instead of std::map in local register allocation. This ↵ | Owen Anderson | 2008-07-10 | 1 | -3/+16 | |
| | | | | | | | improves the time on instcombine from .31s to .22s llvm-svn: 53390 | |||||
| * | Fix 403.gcc. Finally got the check for two-address-ness correct. | Owen Anderson | 2008-07-10 | 1 | -10/+14 | |
| | | | | | llvm-svn: 53389 | |||||
| * | Revert r53367, which was breaking things. | Owen Anderson | 2008-07-09 | 1 | -1/+3 | |
| | | | | | llvm-svn: 53378 | |||||
| * | Simplify hasNUsesOfValue and hasAnyUsesOfValue even more. This | Dan Gohman | 2008-07-09 | 1 | -14/+2 | |
| | | | | | | | | | | | | makes their special-case checks of use_size() less beneficial, so remove them. This eliminates all but one use of use_size(), which is in AssignTopologicalOrder, which uses it only once for each node, and so can reasonably afford to recompute it, as this allows the UsesSize field of SDNode to be removed altogether. llvm-svn: 53377 | |||||
| * | hasAnyUseOfValue can check SDUse nodes of its users directly instead | Dan Gohman | 2008-07-09 | 1 | -13/+3 | |
| | | | | | | | of examining every operand of every user. llvm-svn: 53374 | |||||
| * | Move MemoryVT out of LSBaseNode into MemSDNode, allowing the | Dan Gohman | 2008-07-09 | 1 | -28/+16 | |
| | | | | | | | | getMemOperand function to be moved into the base class as well and made non-virtual. llvm-svn: 53372 | |||||
| * | Avoid creating expensive comment string if it's not going to be printed. | Evan Cheng | 2008-07-09 | 1 | -1/+4 | |
| | | | | | llvm-svn: 53369 | |||||
| * | Loosen our check here. Local regalloc only cares that the reg is used and ↵ | Owen Anderson | 2008-07-09 | 1 | -3/+1 | |
| | | | | | | | | | def'd by the same instruction, but about the details of the relationship. llvm-svn: 53367 | |||||
| * | Move the IsVolatile and SVOffset fields into the MemSDNode base | Dan Gohman | 2008-07-09 | 1 | -0/+11 | |
| | | | | | | | | | | | class, and store IsVolatile and Alignment in a more compact form. This makes AtomicSDNode slightly larger, but it shrinks LoadSDNode and StoreSDNode, which are much more common and are the largest of the SDNode subclasses. Also, this lets the isVolatile() and getAlignment() accessors be non-virtual. llvm-svn: 53361 | |||||
| * | Don't use an expensive check for two-address-ness when we have the ↵ | Owen Anderson | 2008-07-09 | 1 | -2/+13 | |
| | | | | | | | | | information sitting around to determine it much more quickly, This speeds up the local register allocator from 0.37s to 0.31s on instcombine. llvm-svn: 53359 | |||||
| * | Factor local liveness computation out into its own function. | Owen Anderson | 2008-07-09 | 1 | -28/+36 | |
| | | | | | llvm-svn: 53352 | |||||
| * | Reuse the MO variable instead of recomputing it in RegAllocLocal. | Dan Gohman | 2008-07-09 | 2 | -9/+9 | |
| | | | | | | | Keep RegAllocSimple in sync. llvm-svn: 53351 | |||||
| * | Give RegAllocSimple a TargetInstrInfo member to keep it consistent | Dan Gohman | 2008-07-09 | 1 | -2/+2 | |
| | | | | | | | with RegAllocLocal. llvm-svn: 53347 | |||||
| * | RegAllocLocal has a TargetInstrInfo data member. Use it instead | Dan Gohman | 2008-07-09 | 1 | -5/+1 | |
| | | | | | | | of having local variables duplicate it. llvm-svn: 53346 | |||||
| * | Use find with std::map, when that's what's needed, instead of lower_bound | Dan Gohman | 2008-07-09 | 2 | -5/+4 | |
| | | | | | | | with extra checks. llvm-svn: 53344 | |||||
| * | Switch to new section name handling facility | Anton Korobeynikov | 2008-07-09 | 1 | -4/+7 | |
| | | | | | llvm-svn: 53316 | |||||
| * | Remove some unneeded includes. | Duncan Sands | 2008-07-09 | 2 | -4/+0 | |
| | | | | | llvm-svn: 53289 | |||||
| * | Redo LegalizeTypes soft float support for | Duncan Sands | 2008-07-09 | 2 | -96/+103 | |
| | | | | | | | | | | SINT_TO_FP and UINT_TO_FP. This now produces the same code as LegalizeDAG (the previous code was based on a mistaken idea of what LegalizeDAG did in this case). llvm-svn: 53288 | |||||
| * | Forgot to update the chain result when softening | Duncan Sands | 2008-07-09 | 1 | -12/+21 | |
| | | | | | | | loads. llvm-svn: 53287 | |||||
| * | LegalizeTypes soft float support for FP_TO_SINT and | Duncan Sands | 2008-07-09 | 2 | -4/+134 | |
| | | | | | | | FP_TO_UINT. llvm-svn: 53286 | |||||
| * | LegalizeTypes support for powi soft float. | Duncan Sands | 2008-07-09 | 2 | -3/+16 | |
| | | | | | llvm-svn: 53285 | |||||
| * | Make the role of MVT::i32 clearer here, and add a | Duncan Sands | 2008-07-09 | 1 | -3/+4 | |
| | | | | | | | note since it is not clear whether it is correct. llvm-svn: 53284 | |||||
| * | Missed alignment argument on stores lowered from memcpy. | Evan Cheng | 2008-07-09 | 1 | -1/+1 | |
| | | | | | llvm-svn: 53281 | |||||
| * | Make the DICountVisitor not a visitor. This keeps us from calling virtual | Bill Wendling | 2008-07-09 | 1 | -33/+154 | |
| | | | | | | | functions and junk. llvm-svn: 53279 | |||||
| * | const-ify SelectionDAG::getNodeValueTypes. | Dan Gohman | 2008-07-09 | 1 | -2/+2 | |
| | | | | | llvm-svn: 53264 | |||||
| * | It's no longer necessary to test if a MachineBasicBlock's | Dan Gohman | 2008-07-08 | 1 | -2/+1 | |
| | | | | | | | parent is non-null. It now always is. llvm-svn: 53263 | |||||
| * | Verify that MachineMemOperand alignment is a non-zero power of 2. | Dan Gohman | 2008-07-08 | 1 | -0/+1 | |
| | | | | | llvm-svn: 53262 | |||||
| * | Factor out the code for computing an alignment value, and make it | Dan Gohman | 2008-07-08 | 1 | -38/+32 | |
| | | | | | | | | available to getAtomic in addition to just getLoad and getStore, to prevent MachineMemOperands with 0 alignment. llvm-svn: 53261 | |||||
| * | Fix the build. Apparently MachineInstr& is no longer implicitly convertable ↵ | Owen Anderson | 2008-07-08 | 1 | -1/+1 | |
| | | | | | | | to MachineBasicBlock::iterator. llvm-svn: 53260 | |||||
| * | Make the local register allocator compute (purely local) liveness ↵ | Owen Anderson | 2008-07-08 | 1 | -4/+118 | |
| | | | | | | | | | | information for itself rather than depending on LiveVariables. This decreases compile time from: 0.5909s (LV + Regalloc) to 0.421s (just regalloc). llvm-svn: 53256 | |||||
| * | Remove some dead code. | Dale Johannesen | 2008-07-08 | 1 | -2/+0 | |
| | | | | | llvm-svn: 53253 | |||||
| * | Do not CSE DEBUG_LOC, DBG_LABEL, DBG_STOPPOINT, DECLARE, and EH_LABEL ↵ | Evan Cheng | 2008-07-08 | 2 | -45/+74 | |
| | | | | | | | SDNode's. This improves compile time slightly at -O0 -g. llvm-svn: 53246 | |||||
| * | Remove custom expansion from LegalizeTypes when doing | Duncan Sands | 2008-07-08 | 4 | -42/+40 | |
| | | | | | | | | | | soft float: experiments show that targets aren't expecting this for results or for operands. Add support select/select_cc result soft float and correct operand soft float for these. llvm-svn: 53245 | |||||
| * | Add missing select_cc libcall line, somehow omitted | Duncan Sands | 2008-07-08 | 1 | -0/+1 | |
| | | | | | | | in LegalizeTypes. llvm-svn: 53244 | |||||
| * | Unbreak C++ tests on x86 Darwin. | Evan Cheng | 2008-07-08 | 1 | -5/+14 | |
| | | | | | llvm-svn: 53237 | |||||
| * | LegalizeTypes support for FP_ROUND and FP_EXTEND | Duncan Sands | 2008-07-08 | 2 | -2/+46 | |
| | | | | | | | soft float. llvm-svn: 53231 | |||||
| * | Avoid unnecessary string construction during asm printing. | Evan Cheng | 2008-07-08 | 1 | -3/+7 | |
| | | | | | llvm-svn: 53215 | |||||
| * | Pool-allocation for MachineInstrs, MachineBasicBlocks, and | Dan Gohman | 2008-07-07 | 10 | -122/+207 | |
| | | | | | | | | | | | | MachineMemOperands. The pools are owned by MachineFunctions. This drastically reduces the number of calls to malloc/free made during the "Emit" phase of scheduling, as well as later phases in CodeGen. Combined with other changes, this speeds up the "instruction selection" phase of CodeGen by 10% in some cases. llvm-svn: 53212 | |||||
| * | Pool-allocation for SDNodes. The pool is allocated once for each function, | Dan Gohman | 2008-07-07 | 2 | -88/+153 | |
| | | | | | | | | | | and reused across SelectionDAGs. This drastically reduces the number of calls to malloc/free made during instruction selection, and improves memory locality. llvm-svn: 53211 | |||||
| * | Use the canonical way to get an empty structure. | Bill Wendling | 2008-07-07 | 1 | -3/+2 | |
| | | | | | llvm-svn: 53206 | |||||
| * | Use StringMap for greater justice! | Bill Wendling | 2008-07-07 | 1 | -1/+1 | |
| | | | | | llvm-svn: 53202 | |||||
| * | Fix SDNode::MorphNodeTo (a function used by by SelectNodeTo) to | Dan Gohman | 2008-07-07 | 1 | -43/+50 | |
| | | | | | | | | properly track dead nodes that are on the original SDNode's operand list but not the new one, and have no other uses. llvm-svn: 53201 | |||||
| * | Move MachineMemOperand's constructor out of line, to avoid a | Dan Gohman | 2008-07-07 | 1 | -0/+11 | |
| | | | | | | | #include dependency on Support/MathExtras.h in the header file. llvm-svn: 53200 | |||||
| * | Use of operator* is redundant and confusing here. | Dan Gohman | 2008-07-07 | 1 | -1/+1 | |
| | | | | | llvm-svn: 53197 | |||||
| * | Minor const-correctness fixes. | Dan Gohman | 2008-07-07 | 1 | -1/+1 | |
| | | | | | llvm-svn: 53196 | |||||
| * | Assert that all MachineInstrs update PhysRegUseDefLists in | Dan Gohman | 2008-07-07 | 1 | -0/+3 | |
| | | | | | | | their cleanup code. llvm-svn: 53194 | |||||
| * | Remove most of the uses of SDOperandPtr, usually replacing it with a | Dan Gohman | 2008-07-07 | 1 | -38/+69 | |
| | | | | | | | | | | | | | | | simple const SDOperand*, which is what's usually needed. For AddNodeIDOperands, which is small, just duplicate the function to accept an SDUse*. For SelectionDAG::getNode - Add an overload that accepts SDUse* that copies the operands into a temporary SDOperand array, but also has special-case checks for 0 through 3 operands to avoid the copy in the common cases. llvm-svn: 53183 | |||||
| * | Add explicit keywords. | Dan Gohman | 2008-07-07 | 2 | -3/+2 | |
| | | | | | llvm-svn: 53179 | |||||
| * | Make DenseMap's insert return a pair, to more closely resemble std::map. | Dan Gohman | 2008-07-07 | 2 | -9/+14 | |
| | | | | | llvm-svn: 53177 | |||||
| * | LegalizeSetCCOperands should legalize the result of ExpandLibCall. Patch by ↵ | Evan Cheng | 2008-07-07 | 1 | -1/+1 | |
| | | | | | | | Richard Osborne. llvm-svn: 53169 | |||||

