summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Sink the CopyToExportRegsIfNeeded calls out of SelectionDAGISelDan Gohman2010-04-201-6/+0
| | | | | | | | into SelectionDAGBuilder. This avoids a separate pass over the instructions, and has the side effect of providing debug location information to the copy. llvm-svn: 101906
* Don't send PHI nodes down to SelectionDAGBuilder of FastISel, sinceDan Gohman2010-04-201-1/+1
| | | | | | they end up doing nothing. llvm-svn: 101904
* Remove this debug output; it isn't that useful, and it's incompleteDan Gohman2010-04-201-2/+0
| | | | | | in the case where a basic block is split. llvm-svn: 101850
* Sink DebugLoc handling out of SelectionDAGISel into FastISel andDan Gohman2010-04-201-36/+2
| | | | | | SelectionDAGBuilder, where it doesn't have to be as complicated. llvm-svn: 101848
* Remove MachineFunction's DefaultDebugLoc member, and make DwarfDebug.cppDan Gohman2010-04-201-5/+0
| | | | | | responsible for figuring out what that's supposed to be on its own. llvm-svn: 101844
* Reapply the removal of SelectionDAGISel's BB, with a fix for the caseDan Gohman2010-04-201-17/+21
| | | | | | | where multiple blocks are emitted; functions which do this need to return the new BB so that their callers can stay current. llvm-svn: 101843
* Revert 101825, which is causing trouble.Dan Gohman2010-04-191-15/+14
| | | | llvm-svn: 101832
* Eliminate SelectionDAGISel's "current block" member. Just pass it asDan Gohman2010-04-191-14/+15
| | | | | | an argument to things that need it. llvm-svn: 101825
* Eliminate the CurMBB member from SelectionDAGBuilder. For places thatDan Gohman2010-04-191-12/+8
| | | | | | | need it, just pass around the parent block of the current instruction explicitly. llvm-svn: 101822
* Give SelectionDAG a TargetMachine too, rather than having itDan Gohman2010-04-191-1/+1
| | | | | | fetch one from the MachineFunction. llvm-svn: 101807
* Code that needs a TargetMachine should have access to one directly, ratherDan Gohman2010-04-191-3/+2
| | | | | | than just getting one through a TargetLowering. llvm-svn: 101802
* Use const qualifiers with TargetLowering. This eliminates severalDan Gohman2010-04-171-2/+4
| | | | | | | | | | | | | const_casts, and it reinforces the design of the Target classes being immutable. SelectionDAGISel::IsLegalToFold is now a static member function, because PIC16 uses it in an unconventional way. There is more room for API cleanup here. And PIC16's AsmPrinter no longer uses TargetLowering. llvm-svn: 101635
* More work to allow dag combiner to promote 16-bit ops to 32-bit.Evan Cheng2010-04-171-1/+1
| | | | llvm-svn: 101621
* Avoid creating virtual registers for unused values.Dan Gohman2010-04-161-1/+1
| | | | llvm-svn: 101480
* 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
OpenPOWER on IntegriCloud