summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove old DBG_LABEL code.Dan Gohman2009-12-051-8/+0
| | | | llvm-svn: 90669
* Remove the unused DisableLegalizeTypes option and related code.Dan Gohman2009-12-052-52/+47
| | | | llvm-svn: 90668
* Don't blindly set the debug location for PHI node copies.Dan Gohman2009-12-051-3/+3
| | | | llvm-svn: 90637
* Make TargetSelectInstruction protected and called from FastISel.cppDan Gohman2009-12-052-7/+9
| | | | | | instead of SelectionDAGISel.cpp. llvm-svn: 90636
* The debug information for an LLVM Instruction applies to that InstructionDan Gohman2009-12-051-33/+57
| | | | | | | and that Instruction only. Implement this by setting the "current debug position" back to Unknown after processing each instruction. llvm-svn: 90632
* Add note about a subtle bug in this code. Does not effect the mainDuncan Sands2009-12-041-0/+6
| | | | | | architectures that LLVM targets, because they don't use this code. llvm-svn: 90564
* Fix ExpandShiftWithUnknownAmountBit, which was completely bogus.Duncan Sands2009-12-031-37/+38
| | | | | | | | | | | | Pointed out by Javier Martinez (who also provided a patch). Since this logic is not used on (for example) x86, I guess nobody noticed. Tested by generating SHL, SRL, SRA on various choices of i64 for all possible shift amounts, and comparing with gcc. Since I did this on x86-32, I had to force the use of ExpandShiftWithUnknownAmountBit. What I'm saying here is that I don't have a testcase I can add to the repository. llvm-svn: 90482
* Don't pull vector sext through both hands of a logical operation, since ↵Nate Begeman2009-12-031-2/+8
| | | | | | | | | doing so prevents the fusion of vector sext and setcc into vsetcc. Add a testcase for the above transformation. Fix a bogus use of APInt noticed while tracking this down. llvm-svn: 90423
* Don't call getValueType() on a null SDValueJakob Stoklund Olesen2009-12-031-1/+2
| | | | llvm-svn: 90415
* improve portability to avoid conflicting with std::next in c++'0x.Chris Lattner2009-12-034-4/+4
| | | | | | Patch by Howard Hinnant! llvm-svn: 90365
* Add edge source labels to SelectionDAG graphs, now that the graph printingDan Gohman2009-12-011-0/+5
| | | | | | | framework omits differentiated edge sources in the case where the labels are empty strings. llvm-svn: 90254
* Minor cleanups.Dan Gohman2009-12-011-9/+9
| | | | llvm-svn: 90253
* Trim an unnecessary #include.Dan Gohman2009-12-011-1/+0
| | | | llvm-svn: 90252
* Fix last DOTGraphTraits problems in CompilationGraph.Tobias Grosser2009-11-301-1/+1
| | | | llvm-svn: 90136
* Remove ShortNames from getNodeLabel in DOTGraphTraitsTobias Grosser2009-11-301-13/+14
| | | | llvm-svn: 90134
* Instantiate DefaultDOTGraphTraitsTobias Grosser2009-11-301-2/+5
| | | | llvm-svn: 90133
* Added support to allow clients to custom widen. For X86, custom widen ↵Mon P Wang2009-11-305-56/+92
| | | | | | | | | vectors for divide/remainder since these operations can trap by unroll them and adding undefs for the resulting vector. llvm-svn: 90108
* 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
OpenPOWER on IntegriCloud