summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix a comment.Dan Gohman2010-04-161-1/+1
| | | | llvm-svn: 101477
* Refine further the scope where the global DebugLoc value is active.Dan Gohman2010-04-161-7/+5
| | | | llvm-svn: 101443
* Fix a bunch of namespace polution.Dan Gohman2010-04-151-0/+3
| | | | llvm-svn: 101376
* Add more const qualifiers for LLVM IR pointers in CodeGen.Dan Gohman2010-04-151-1/+1
| | | | llvm-svn: 101342
* Add const qualifiers to CodeGen's use of LLVM IR constructs.Dan Gohman2010-04-151-13/+14
| | | | llvm-svn: 101334
* Delete unused arguments.Dan Gohman2010-04-141-6/+4
| | | | llvm-svn: 101275
* Factor out EH landing pad code into a separate function, and constifyDan Gohman2010-04-141-41/+48
| | | | | | a bunch of stuff to support it. llvm-svn: 101273
* Reset the debug location even if the instruction was a terminator.Dan Gohman2010-04-141-5/+3
| | | | llvm-svn: 101272
* Delete an unused function.Dan Gohman2010-04-141-4/+0
| | | | llvm-svn: 101263
* Clear the FunctionLoweringInfo object before doing other things thatDan Gohman2010-04-141-4/+4
| | | | | | don't need it. llvm-svn: 101262
* Move this assert out of SelectionDAGISel into FunctionLoweringInfo, andDan Gohman2010-04-141-5/+0
| | | | | | drop the redundant #ifndef NDEBUG. llvm-svn: 101261
* Add a comment.Dan Gohman2010-04-141-0/+2
| | | | llvm-svn: 101260
* Move the code for initialing the entry block livein set out ofDan Gohman2010-04-141-5/+0
| | | | | | SelectionDAGISel. llvm-svn: 101258
* Reorgnaize this code to be more tidy and readable.Dan Gohman2010-04-141-10/+5
| | | | llvm-svn: 101256
* Trim #includes.Dan Gohman2010-04-141-9/+0
| | | | llvm-svn: 101255
* Move the code for emitting livein copies out of SelectionDAGISel.Dan Gohman2010-04-141-105/+1
| | | | llvm-svn: 101254
* Sink landing-pad marking code out ofDan Gohman2010-04-141-5/+0
| | | | | | SelectionDAGISel::runOnMachineFunction into FunctionLowering. llvm-svn: 101252
* minor tidying.Chris Lattner2010-04-071-1/+1
| | | | llvm-svn: 100725
* rename llvm::llvm_report_error -> llvm::report_fatal_errorChris Lattner2010-04-071-2/+2
| | | | llvm-svn: 100709
* Three changes:Chris Lattner2010-04-071-8/+10
| | | | | | | | | | | | | | | 1. Introduce some enums and accessors in the InlineAsm class that eliminate a ton of magic numbers when handling inline asm SDNode. 2. Add a new MDNodeSDNode selection dag node type that holds a MDNode (shocking!) 3. Add a new argument to ISD::INLINEASM nodes that hold !srcloc metadata, propagating it to the instruction emitter, which drops it. No functionality change. llvm-svn: 100605
* remove some redundant MMI arguments.Chris Lattner2010-04-051-7/+5
| | | | llvm-svn: 100417
* unthread MMI from FastISelChris Lattner2010-04-051-3/+1
| | | | llvm-svn: 100416
* trim some spurious references to DwarfWriter. SDIsel really doesn'tChris Lattner2010-04-051-3/+0
| | | | | | need it anymore, so don't addRequire it. llvm-svn: 100400
* selection dag doesn't need DwarfWriter, remove some tendrils.Chris Lattner2010-04-051-2/+1
| | | | llvm-svn: 100382
* fastisel doesn't need DwarfWriter, remove some tendricles.Chris Lattner2010-04-051-3/+2
| | | | llvm-svn: 100381
* stop using DebugLoc::getUnknownLoc()Chris Lattner2010-04-021-2/+2
| | | | llvm-svn: 100215
* Switch the code generator (except the JIT) onto the new DebugLocChris Lattner2010-04-021-8/+5
| | | | | | | | | | | | | | | representation. This eliminates the 'DILocation' MDNodes for file/line/col tuples from -O0 -g codegen. This remove the old DebugLoc class, making it a typedef for DebugLoc, I'll rename NewDebugLoc next. I didn't update the JIT to use the new apis, so it will continue to work, but be as slow as before. Someone should eventually do this or, better yet, rip out the JIT debug info stuff and build the JIT on top of MC. llvm-svn: 100209
* use the optimized debug info apis in sdisel.Chris Lattner2010-03-311-19/+16
| | | | llvm-svn: 99986
* add a statistic for the # times isel has to backtrack.Chris Lattner2010-03-281-1/+3
| | | | llvm-svn: 99774
* finally remove the immAllOnesV_bc/immAllZerosV_bc patternsChris Lattner2010-03-281-1/+1
| | | | | | | | | | and those derived from them. These are obnoxious because they were written as: PatLeaf<(bitconvert). Not having an argument was foiling adding better type checking for operand count matching up with what was required (in this case, bitconvert always requires an operand!) llvm-svn: 99759
* comply with the wishes of a fixme.Chris Lattner2010-03-281-3/+0
| | | | llvm-svn: 99742
* now that (parallel) is gone and a variety of bugs in targetsChris Lattner2010-03-281-8/+4
| | | | | | are cleaned up, we can remove an old fixme. llvm-svn: 99741
* add an optimized form of OPC_EmitMergeInputChains for the 1, 0 and Chris Lattner2010-03-281-0/+29
| | | | | | | 1, 1 cases which are by-far the most frequent. This shrinks the X86 isel table from 77014 -> 74657 bytes. llvm-svn: 99740
* don't add nodes to the now-dead nodes list multiple times, thisChris Lattner2010-03-281-2/+3
| | | | | | | can cause a crash on crazy situations in msp430 when morph-node-to is disabled. llvm-svn: 99739
* don't add flag nodes with chain results to the NowDeadNodesChris Lattner2010-03-281-2/+3
| | | | | | list multiple times when MorphNodeTo can't be applied. llvm-svn: 99735
* improve -debug-only=isel comments for cases when we don't enter aChris Lattner2010-03-271-4/+8
| | | | | | scope due to obviously false predicate. llvm-svn: 99723
* Change tblgen to emit FOOISD opcode names as twoChris Lattner2010-03-251-3/+9
| | | | | | | | | | | | | | bytes instead of one byte. This is important because we're running up to too many opcodes to fit in a byte and it is aggrevated by FIRST_TARGET_MEMORY_OPCODE making the numbering sparse. This just bites the bullet and bloats out the table. In practice, this increases the size of the x86 isel table from 74.5K to 76K. I think we'll cope :) This fixes rdar://7791648 llvm-svn: 99494
* Emit dwarf variable info communicated by code generator through DBG_VALUE ↵Devang Patel2010-03-151-2/+0
| | | | | | | | machine instructions. This is a work in progress. llvm-svn: 98556
* fix ShrinkDemandedOps to not leave dead nodes around,Chris Lattner2010-03-141-0/+6
| | | | | | fixing PR6607 llvm-svn: 98512
* rewrite ShrinkDemandedOps to be faster and indent less,Chris Lattner2010-03-141-48/+64
| | | | | | no functionality change. llvm-svn: 98511
* make -view-isel-dags print after the 'ShrinkDemandedOps' pass.Chris Lattner2010-03-141-2/+2
| | | | llvm-svn: 98509
* fix AsmPrinter::GetBlockAddressSymbol to always return a uniqueChris Lattner2010-03-141-0/+2
| | | | | | | label instead of trying to form one based on the BB name (which causes collisions if the name is empty). This fixes PR6608 llvm-svn: 98495
* change the LabelSDNode to be EHLabelSDNode and make it holdChris Lattner2010-03-141-12/+5
| | | | | | | | an MCSymbol. Make the EH_LABEL MachineInstr hold its label with an MCSymbol instead of ID. Fix a bug in MMI.cpp which would return labels named "Label4" instead of "label4". llvm-svn: 98463
* Attempt to make this debug output meaningful, both in the case ofDan Gohman2010-03-091-3/+6
| | | | | | multibyte opcodes and in the case of multiple scopes. llvm-svn: 98036
* Print the correct index in the "match failed at index" message.Dan Gohman2010-03-091-1/+1
| | | | llvm-svn: 98013
* Avoid creating bad PHI instructions when BR is being const-folded.Jakob Stoklund Olesen2010-03-051-0/+2
| | | | llvm-svn: 97836
* Fix PR6497, a bug where we'd fold a load into an addcChris Lattner2010-03-051-0/+7
| | | | | | | | | | | node which has a flag. That flag in turn was used by an already-selected adde which turned into an ADC32ri8 which used a selected load which was chained to the load we folded. This flag use caused us to form a cycle. Fix this by not ignoring chains in IsLegalToFold even in cases where the isel thinks it can. llvm-svn: 97791
* inline a small function with one call site.Chris Lattner2010-03-051-16/+4
| | | | llvm-svn: 97789
* add a statistic for # times fastisel fails.Chris Lattner2010-03-041-0/+6
| | | | llvm-svn: 97738
* change the new isel matcher to emit ComplexPattern matchesChris Lattner2010-03-041-3/+7
| | | | | | | | | | as the very last thing before node emission. This should dramatically reduce the number of times we do 'MatchAddress' on X86, speeding up compile time. This also improves comments in the tables and shrinks the table a bit, now down to 80506 bytes for x86. llvm-svn: 97703
OpenPOWER on IntegriCloud