aboutsummaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Delete unneeeded arguments.Dan Gohman2010-04-142-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101276 91177308-0d34-0410-b5e6-96231b3b80d8
* Delete unused arguments.Dan Gohman2010-04-141-6/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101275 91177308-0d34-0410-b5e6-96231b3b80d8
* Factor out EH landing pad code into a separate function, and constifyDan Gohman2010-04-147-57/+66
| | | | | | | a bunch of stuff to support it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101273 91177308-0d34-0410-b5e6-96231b3b80d8
* Reset the debug location even if the instruction was a terminator.Dan Gohman2010-04-141-5/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101272 91177308-0d34-0410-b5e6-96231b3b80d8
* Refine #includes.Dan Gohman2010-04-141-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101269 91177308-0d34-0410-b5e6-96231b3b80d8
* Pull utility routines with no SelectionDAG dependence out ofDan Gohman2010-04-143-76/+95
| | | | | | | | SelectionDAGBuilder. FunctionLoweringInfo isn't an ideal place for them to live, but it's better than SelectionDAGBuilder for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101267 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typos in comments.Dan Gohman2010-04-142-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101266 91177308-0d34-0410-b5e6-96231b3b80d8
* performance: cache the dereferenced use_iteratorGabor Greif2010-04-141-7/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101265 91177308-0d34-0410-b5e6-96231b3b80d8
* Delete an obsolete comment.Dan Gohman2010-04-141-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101264 91177308-0d34-0410-b5e6-96231b3b80d8
* Delete an unused function.Dan Gohman2010-04-141-4/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101263 91177308-0d34-0410-b5e6-96231b3b80d8
* Clear the FunctionLoweringInfo object before doing other things thatDan Gohman2010-04-141-4/+4
| | | | | | | don't need it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101262 91177308-0d34-0410-b5e6-96231b3b80d8
* Move this assert out of SelectionDAGISel into FunctionLoweringInfo, andDan Gohman2010-04-142-5/+3
| | | | | | | drop the redundant #ifndef NDEBUG. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101261 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a comment.Dan Gohman2010-04-141-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101260 91177308-0d34-0410-b5e6-96231b3b80d8
* Move the code for initialing the entry block livein set out ofDan Gohman2010-04-142-5/+5
| | | | | | | SelectionDAGISel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101258 91177308-0d34-0410-b5e6-96231b3b80d8
* Reorgnaize this code to be more tidy and readable.Dan Gohman2010-04-141-10/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101256 91177308-0d34-0410-b5e6-96231b3b80d8
* Trim #includes.Dan Gohman2010-04-141-9/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101255 91177308-0d34-0410-b5e6-96231b3b80d8
* Move the code for emitting livein copies out of SelectionDAGISel.Dan Gohman2010-04-142-105/+107
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101254 91177308-0d34-0410-b5e6-96231b3b80d8
* performance: cache the dereferenced use_iteratorGabor Greif2010-04-141-3/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101253 91177308-0d34-0410-b5e6-96231b3b80d8
* Sink landing-pad marking code out ofDan Gohman2010-04-142-5/+5
| | | | | | | SelectionDAGISel::runOnMachineFunction into FunctionLowering. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101252 91177308-0d34-0410-b5e6-96231b3b80d8
* It's not necessary to recompute EB here.Dan Gohman2010-04-141-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101251 91177308-0d34-0410-b5e6-96231b3b80d8
* performance: cache the dereferenced use_iteratorGabor Greif2010-04-141-3/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101250 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a comment.Dan Gohman2010-04-141-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101248 91177308-0d34-0410-b5e6-96231b3b80d8
* Enable RTTI again. While this works fine for LLVM, it creates an ABINick Lewycky2010-04-141-0/+1
| | | | | | | incompatibility with some clients covered by the buildbots, such as llvm-gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101237 91177308-0d34-0410-b5e6-96231b3b80d8
* Turn off RTTI for VMCore. Yay!Nick Lewycky2010-04-141-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101233 91177308-0d34-0410-b5e6-96231b3b80d8
* I don't know how, but I managed to goof the revert. Remove function that shouldNick Lewycky2010-04-141-37/+0
| | | | | | | have been removed in r101231. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101232 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r101213.Nick Lewycky2010-04-141-29/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101231 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix 80 column ruler.Nick Lewycky2010-04-141-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101229 91177308-0d34-0410-b5e6-96231b3b80d8
* implement mc asmparser support for '.', which gets theChris Lattner2010-04-142-0/+17
| | | | | | | | | | | | | | | | | | | | | current PC. rdar://7834775 We now produce an identical .o file compared to the cctools assembler for something like this: _f0: L0: jmp L1 .long . - L0 L1: jmp A .long . - L1 .zerofill __DATA,_bss,A,0 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101227 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove tab.Nick Lewycky2010-04-141-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101223 91177308-0d34-0410-b5e6-96231b3b80d8
* While DAE can't modify the function signature of an externally visible function,Nick Lewycky2010-04-141-14/+66
| | | | | | | | | | it can check whether the visible direct callers are passing in parameters to dead arguments and replace those with undef. This reinstates r94322 with bugs fixed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101213 91177308-0d34-0410-b5e6-96231b3b80d8
* Generalize this code to handle Instructions in addition to ConstantExprs.Dan Gohman2010-04-141-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101210 91177308-0d34-0410-b5e6-96231b3b80d8
* Reorder the methods of this class to be a little more organized.Dan Gohman2010-04-141-22/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101206 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed another assert exposed by fuzzing. Now, when an encoding error occursJohnny Chen2010-04-141-4/+14
| | | | | | | | involing getBFCInvMask() where lsb <= msb does not hold true, the disassembler just returns false, instead of assert, to indicate disassembly error. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101205 91177308-0d34-0410-b5e6-96231b3b80d8
* Clear MachineInstr->MCSymbol maps at the end of a function.Devang Patel2010-04-141-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101202 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed an assert() exposed by fuzzing. Now, instead of assert when an invalidJohnny Chen2010-04-142-10/+15
| | | | | | | | instruction encoding is encountered, we just return a NULL ARMBasicMCBuilder instance and the client just returns false to indicate disassembly error. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101201 91177308-0d34-0410-b5e6-96231b3b80d8
* Unbreak CMake build by improving the EnhancedDisassembly makefile aDouglas Gregor2010-04-132-0/+2
| | | | | | | | bit (we're not trying to build a shared library yet) and generating the X86GenEDInfo.inc and ARMGenEDInfo.inc files as necessary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101188 91177308-0d34-0410-b5e6-96231b3b80d8
* Fast path implicit_def check.Evan Cheng2010-04-131-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101183 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle a v2f64 formal parameter that is split between registers and memoryBob Wilson2010-04-131-7/+13
| | | | | | | such that the entire second half is in memory. Radar 7855014. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101181 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed a nasty layering violation in the edis sourceSean Callanan2010-04-134-2/+30
| | | | | | | | | | | | | | | | code. It used to #include the enhanced disassembly information for the targets it supported straight out of lib/Target/{X86,ARM,...} but now it uses a new interface provided by MCDisassembler, and (so far) implemented by X86 and ARM. Also removed hacky #define-controlled initialization of targets in edis. If clients only want edis to initialize a limited set of targets, they can set --enable-targets on the configure command line. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101179 91177308-0d34-0410-b5e6-96231b3b80d8
* Changed getSOImmValRotate()'s hunt retry logic to ignore the low order 6 bits,Johnny Chen2010-04-131-3/+3
| | | | | | | instead of 7, because we are only looking for even rotate amount. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101172 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not include types without any definition in pubtypes list.Devang Patel2010-04-131-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101171 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid variable shadowing.Evan Cheng2010-04-131-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101170 91177308-0d34-0410-b5e6-96231b3b80d8
* Expand postra machine licm's capability a little more. If an instruction's ↵Evan Cheng2010-04-131-8/+24
| | | | | | register operands are all loop invariants, then it's safe to hoist it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101167 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach MachineSinking to handle easy critical edges.Jakob Stoklund Olesen2010-04-131-2/+17
| | | | | | | | | | | | | | Sometimes it is desirable to sink instructions along a critical edge: x = ... if (a && b) ... else use(x); The 'a && b' condition creates a critical edge to the else block, but we still want to sink the computation of x into the block. The else block is dominated by the parent block, so we are not pushing instructions into new code paths. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101165 91177308-0d34-0410-b5e6-96231b3b80d8
* Re-apply 101075 and fix it properly. Just reuse the debug info of the branch ↵Evan Cheng2010-04-131-1/+44
| | | | | | instruction being optimized. There is no need to --I which can deref off start of the BB. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101162 91177308-0d34-0410-b5e6-96231b3b80d8
* Temporarily revert r101075, it's causing invalid iterator assertionsEric Christopher2010-04-131-46/+1
| | | | | | | in a nightly tester. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101158 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach postra machine licm to hoist more obvious invariants, e.g. ↵Evan Cheng2010-04-131-17/+38
| | | | | | instructions with no source operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101154 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a few comments.Dan Gohman2010-04-131-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101148 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate MachineBasicBlock::const_livein_iterator and makeDan Gohman2010-04-137-10/+11
| | | | | | | | | MachineBasicBlock::livein_iterator a const_iterator, because clients shouldn't ever be using the iterator interface to mutate the livein set. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101147 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename MachineFrameInfo variables to MFI, for consistency withDan Gohman2010-04-131-41/+41
| | | | | | | the rest of CodeGen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101146 91177308-0d34-0410-b5e6-96231b3b80d8