summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG
Commit message (Collapse)AuthorAgeFilesLines
* Remove ISD::DEBUG_LOC and ISD::DBG_LABEL, which are no longer used.Dan Gohman2009-11-233-24/+0
| | | | | | | | Note that "hasDotLocAndDotFile"-style debug info was already broken; people wanting this functionality should implement it in the AsmPrinter/DwarfWriter code. llvm-svn: 89711
* Move CopyCatchInfo into FunctionLoweringInfo.cpp too, for consistency.Dan Gohman2009-11-233-15/+18
| | | | llvm-svn: 89683
* Rename SelectionDAGLowering to SelectionDAGBuilder, and renameDan Gohman2009-11-235-238/+238
| | | | | | SelectionDAGBuild.cpp to SelectionDAGBuilder.cpp. llvm-svn: 89681
* Move RegsForValue to an anonymous namespace, since it is only usedDan Gohman2009-11-231-2/+2
| | | | | | in this file. llvm-svn: 89675
* Move some more code out of SelectionDAGBuild.cpp and intoDan Gohman2009-11-235-74/+76
| | | | | | FunctionLoweringInfo.cpp. llvm-svn: 89674
* Update CMake file.Ted Kremenek2009-11-231-0/+1
| | | | llvm-svn: 89671
* Move the FunctionLoweringInfo class and some related utility functions outDan Gohman2009-11-235-310/+419
| | | | | | | of SelectionDAGBuild.h/cpp into its own files, to help separate general lowering logic from SelectionDAG-specific lowering logic. llvm-svn: 89667
* We are not using DBG_STOPPOINT anymore.Devang Patel2009-11-212-54/+1
| | | | llvm-svn: 89536
* When generating a vector the really slow way, via loadsDale Johannesen2009-11-211-3/+9
| | | | | | | and stores, handle the case where the element size is not a valid target type correctly (PPC). llvm-svn: 89521
* Target-independent support for TargetFlags on BlockAddress operands,Dan Gohman2009-11-203-7/+13
| | | | | | and support for blockaddresses in x86-32 PIC mode. llvm-svn: 89506
* Fix PR5558, which was caused by a wrong fix for PR3393 (see commit 63048),Duncan Sands2009-11-202-35/+23
| | | | | | | | which was an expensive checks failure due to a bug in the checking. This patch in essence reverts the original fix for PR3393, and refixes it by a tweak to the way expensive checking is done. llvm-svn: 89454
* Fix fast-isel to avoid selecting the return instruction if aDan Gohman2009-11-201-3/+15
| | | | | | tail call has been encountered. llvm-svn: 89444
* Remove the optimizations that convert BRCOND and BR_CC intoDan Gohman2009-11-171-17/+12
| | | | | | | | | | unconditional branches or fallthroghes. Instcombine/SimplifyCFG should be simplifying branches with known conditions. This fixes some problems caused by these transformations not updating the MachineBasicBlock CFG. llvm-svn: 89017
* Fix a typo in a comment.Dan Gohman2009-11-162-2/+2
| | | | llvm-svn: 88953
* Enable the tail call optimization when the caller returns undef.Dan Gohman2009-11-141-0/+4
| | | | llvm-svn: 88737
* Don't let a noalias difference disrupt the tailcall optimization.Dan Gohman2009-11-131-3/+4
| | | | llvm-svn: 88672
* Adjust isConstantSplat to allow for big-endian targets.Dale Johannesen2009-11-131-4/+7
| | | | | | PPC is such a target; make it work. llvm-svn: 87060
* Add a bool flag to StackObjects telling whether they reference spillDavid Greene2009-11-122-5/+5
| | | | | | | | | | | | | slots. The AsmPrinter will use this information to determine whether to print a spill/reload comment. Remove default argument values. It's too easy to pass a wrong argument value when multiple arguments have default values. Make everything explicit to trap bugs early. Update all targets to adhere to the new interfaces.. llvm-svn: 87022
* Add compare_lower and equals_lower methods to StringRef. Switch all users ofBenjamin Kramer2009-11-121-3/+2
| | | | | | StringsEqualNoCase (from StringExtras.h) to it. llvm-svn: 87020
* "Attach debug info with llvm instructions" mode was enabled a month ago. Now ↵Devang Patel2009-11-122-124/+11
| | | | | | make it permanent and remove old way of inserting intrinsics to encode debug info for line number and scopes. llvm-svn: 87014
* x86 users can now return arbitrary sized structs. Structs too large to fit ↵Kenneth Uildriks2009-11-112-67/+211
| | | | | | in return registers will be returned through a hidden sret parameter introduced during SelectionDAG construction. llvm-svn: 86876
* Emit correct code when making a ConstantPool entry for a vectorDale Johannesen2009-11-101-2/+11
| | | | | | | | | constant whose component type is not a legal type for the target. (If the target ConstantPool cannot handle this type either, it has an opportunity to merge elements. In practice any target with 8-bit bytes must support i8 *as data*). 7320806 (partial). llvm-svn: 86751
* Implement support to debug inlined functions.Devang Patel2009-11-103-104/+36
| | | | llvm-svn: 86748
* Codegen support for the llvm.invariant/lifetime.start/end intrinsics:Duncan Sands2009-11-101-0/+10
| | | | | | just throw them away. llvm-svn: 86678
* Remove an unneeded #include.Dan Gohman2009-11-091-1/+0
| | | | llvm-svn: 86601
* Fix for 64-bit builds.Mike Stump2009-11-091-1/+1
| | | | llvm-svn: 86600
* Hide a couple of options.Evan Cheng2009-11-091-1/+1
| | | | llvm-svn: 86522
* Add 8 bit libcalls and make use of them for msp430Anton Korobeynikov2009-11-072-10/+30
| | | | llvm-svn: 86384
* Fix PR5421 by APInt'izing switch lowering.Chris Lattner2009-11-072-17/+19
| | | | llvm-svn: 86354
* Fix memoizing of CvtRndSatSDNodeMon P Wang2009-11-071-1/+2
| | | | llvm-svn: 86340
* Add code to check at SelectionDAGISel::LowerArguments time to see if return ↵Kenneth Uildriks2009-11-072-0/+75
| | | | | | values can be lowered to registers. Coming soon, code to perform sret-demotion if return values cannot be lowered to registers llvm-svn: 86324
* Avoid printing a redundant space in SDNode->dump().Dan Gohman2009-11-051-2/+1
| | | | llvm-svn: 86151
* Make -print-machineinstrs more readable.Dan Gohman2009-10-311-2/+2
| | | | | | | | | | | | | | - Be consistent when referring to MachineBasicBlocks: BB#0. - Be consistent when referring to virtual registers: %reg1024. - Be consistent when referring to unknown physical registers: %physreg10. - Be consistent when referring to known physical registers: %RAX - Be consistent when referring to register 0: %reg0 - Be consistent when printing alignments: align=16 - Print jump table contents. - Don't print host addresses, in general. - and various other cleanups. llvm-svn: 85682
* When discarding SrcValue information, discard all of it so that codeDan Gohman2009-10-311-7/+5
| | | | | | that uses this information knows to behave conservatively. llvm-svn: 85654
* Fix warning with gcc-4.0 and signed/unsigned.Eric Christopher2009-10-311-1/+1
| | | | llvm-svn: 85648
* Don't mark registers dead here when processing nodes with MVT::FlagDan Gohman2009-10-301-1/+5
| | | | | | | results. This works around a problem affecting targets which rely on MVT::Flag to handle physical register defs. llvm-svn: 85638
* Initial target-independent CodeGen support for BlockAddresses.Dan Gohman2009-10-304-2/+44
| | | | llvm-svn: 85556
* Remove some unnecessary spaces in debug output.Dan Gohman2009-10-291-3/+3
| | | | llvm-svn: 85536
* Move some code from being emitted as boilerplate duplicated in everyDan Gohman2009-10-291-0/+52
| | | | | | *ISelDAGToDAG.cpp to being regular code in SelectionDAGISel.cpp. llvm-svn: 85530
* Rename usesCustomDAGSchedInserter to usesCustomInserter, and update aDan Gohman2009-10-292-4/+8
| | | | | | | | bunch of associated comments, because it doesn't have anything to do with DAGs or scheduling. This is another step in decoupling MachineInstr emitting from scheduling. llvm-svn: 85517
* Make sure we return the right sized type here.Eric Christopher2009-10-281-2/+5
| | | | llvm-svn: 85436
* Don't call SDNode::isPredecessorOf when it isn't necessary. If the load'sDan Gohman2009-10-281-6/+10
| | | | | | chains have no users, they can't be predecessors of the condition. llvm-svn: 85394
* Rewrite SelectionDAG::isPredecessorOf to be iterative instead ofDan Gohman2009-10-281-21/+16
| | | | | | | recursive to avoid consuming extraordinary amounts of stack space when processing tall graphs. llvm-svn: 85369
* Add a second ValueType argument to isFPImmLegal.Evan Cheng2009-10-281-1/+1
| | | | llvm-svn: 85361
* Mark dead physregdefs dead immediately. This helps MachineSink andDan Gohman2009-10-281-0/+2
| | | | | | MachineLICM and other things which run before LiveVariables is run. llvm-svn: 85360
* rename indbr -> indirectbr to appease the residents of #llvm.Chris Lattner2009-10-282-3/+3
| | | | llvm-svn: 85351
* Update the MachineBasicBlock CFG for an indirect branch.Dan Gohman2009-10-271-0/+4
| | | | llvm-svn: 85325
* Add CodeGen support for indirect branches.Dan Gohman2009-10-271-2/+3
| | | | llvm-svn: 85323
* don't use stdioChris Lattner2009-10-271-1/+1
| | | | llvm-svn: 85296
* Do away with addLegalFPImmediate. Add a target hook isFPImmLegal which ↵Evan Cheng2009-10-272-10/+2
| | | | | | returns true if the fp immediate can be natively codegened by target. llvm-svn: 85281
OpenPOWER on IntegriCloud