summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove the unused DisableLegalizeTypes option and related code.Dan Gohman2009-12-051-2/+1
| | | | llvm-svn: 90668
* improve portability to avoid conflicting with std::next in c++'0x.Chris Lattner2009-12-031-1/+1
| | | | | | Patch by Howard Hinnant! llvm-svn: 90365
* Remove ISD::DEBUG_LOC and ISD::DBG_LABEL, which are no longer used.Dan Gohman2009-11-231-1/+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
* We are not using DBG_STOPPOINT anymore.Devang Patel2009-11-211-35/+0
| | | | 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
* 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
* Add 8 bit libcalls and make use of them for msp430Anton Korobeynikov2009-11-071-10/+25
| | | | llvm-svn: 86384
* Add a second ValueType argument to isFPImmLegal.Evan Cheng2009-10-281-1/+1
| | | | llvm-svn: 85361
* Do away with addLegalFPImmediate. Add a target hook isFPImmLegal which ↵Evan Cheng2009-10-271-9/+1
| | | | | | returns true if the fp immediate can be natively codegened by target. llvm-svn: 85281
* Remove includes of Support/Compiler.h that are no longer needed after theNick Lewycky2009-10-251-1/+0
| | | | | | VISIBILITY_HIDDEN removal. llvm-svn: 85043
* Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces.Nick Lewycky2009-10-251-1/+1
| | | | | | | Chris claims we should never have visibility_hidden inside any .cpp file but that's still not true even after this commit. llvm-svn: 85042
* -Revert parts of 84326 and 84411. Distinquishing between fixed and non-fixedEvan Cheng2009-10-181-9/+18
| | | | | | | | | | | stack slots and giving them different PseudoSourceValue's did not fix the problem of post-alloc scheduling miscompiling llvm itself. - Apply Dan's conservative workaround by assuming any non fixed stack slots can alias other memory locations. This means a load from spill slot #1 cannot move above a store of spill slot #2. - Enable post-alloc scheduling for x86 at optimization leverl Default and above. llvm-svn: 84424
* Only fixed stack objects and spill slots should be get FixedStack ↵Evan Cheng2009-10-181-18/+9
| | | | | | PseudoSourceValue. llvm-svn: 84411
* Revert 84315 for now. Re-thinking the patch.Evan Cheng2009-10-171-7/+7
| | | | llvm-svn: 84321
* Rename getFixedStack to getStackObject. The stack objects represented are notEvan Cheng2009-10-171-7/+7
| | | | | | necessarily fixed. Only those will negative frame indices are "fixed." llvm-svn: 84315
* Delete an obsolete comment.Dan Gohman2009-10-171-2/+1
| | | | llvm-svn: 84300
* Use MDNode * directly as an RecordSourceLine() argument.Devang Patel2009-09-301-3/+2
| | | | llvm-svn: 83182
* Reapply 79977.Devang Patel2009-08-281-4/+4
| | | | | | Use MDNodes to encode debug info in llvm IR. llvm-svn: 80406
* Add extload expansion for f128Anton Korobeynikov2009-08-261-3/+6
| | | | llvm-svn: 80116
* Revert 79977. It causes llvm-gcc bootstrap failures on some platforms.Devang Patel2009-08-261-4/+4
| | | | llvm-svn: 80073
* Update DebugInfo interface to use metadata, instead of special named ↵Devang Patel2009-08-251-4/+4
| | | | | | | | llvm.dbg.... global variables, to encode debugging information in llvm IR. This is mostly a mechanical change that tests metadata support very well. This change speeds up llvm-gcc by more then 6% at "-O0 -g" (measured by compiling InstructionCombining.cpp!) llvm-svn: 79977
* Change Pass::print to take a raw ostream instead of std::ostream,Chris Lattner2009-08-231-1/+4
| | | | | | update all code that this affects. llvm-svn: 79830
* Record variable debug info at ISel time directly.Devang Patel2009-08-221-1/+0
| | | | llvm-svn: 79742
* Be tidy and use a break to exit from a switch block rather thanDan Gohman2009-08-181-0/+1
| | | | | | just falling through the end. llvm-svn: 79383
* Legalize the shift amount operand of SRL_PARTS, SHL_PARTS, andDan Gohman2009-08-181-0/+7
| | | | | | SRA_PARTS, as is done for SRL, SHL, and SRA. llvm-svn: 79380
* Unbreak build. Evan, please make sure my changes are correct.Benjamin Kramer2009-08-151-4/+4
| | | | llvm-svn: 79133
* 80 col violations.Evan Cheng2009-08-151-12/+12
| | | | llvm-svn: 79087
* Allow targets to specify their choice of calling conventions perAnton Korobeynikov2009-08-141-1/+1
| | | | | | | | | | libcall. Take advantage of this in the ARM backend to rectify broken choice of CC when hard float is in effect. PIC16 may want to see if it could be of use in MakePIC16Libcall, which works unchanged. Patch by Sandeep! llvm-svn: 79033
* Push LLVMContexts through the IntegerType APIs.Owen Anderson2009-08-131-2/+3
| | | | llvm-svn: 78948
* Add contexts to some of the MVT APIs. No functionality change yet, just the ↵Owen Anderson2009-08-121-28/+29
| | | | | | infrastructure work needed to get the contexts to where they need to be first. llvm-svn: 78759
* Split EVT into MVT and EVT, the former representing _just_ a primitive type, ↵Owen Anderson2009-08-111-86/+86
| | | | | | | | while the latter is capable of representing either a primitive or an extended type. llvm-svn: 78713
* Rename MVT to EVT, in preparation for splitting SimpleValueType out into its ↵Owen Anderson2009-08-101-186/+186
| | | | | | own struct type. llvm-svn: 78610
* Major calling convention code refactoring.Dan Gohman2009-08-051-39/+5
| | | | | | | | | | | | | | | | | | | Instead of awkwardly encoding calling-convention information with ISD::CALL, ISD::FORMAL_ARGUMENTS, ISD::RET, and ISD::ARG_FLAGS nodes, TargetLowering provides three virtual functions for targets to override: LowerFormalArguments, LowerCall, and LowerRet, which replace the custom lowering done on the special nodes. They provide the same information, but in a more immediately usable format. This also reworks much of the target-independent tail call logic. The decision of whether or not to perform a tail call is now cleanly split between target-independent portions, and the target dependent portion in IsEligibleForTailCallOptimization. This also synchronizes all in-tree targets, to help enable future refactoring and feature work. llvm-svn: 78142
* Move more code back to 2.5 APIs.Owen Anderson2009-07-301-2/+1
| | | | llvm-svn: 77635
* Move types back to the 2.5 API.Owen Anderson2009-07-291-21/+15
| | | | llvm-svn: 77516
* Remove now unused Context variables.Benjamin Kramer2009-07-291-1/+0
| | | | llvm-svn: 77495
* Move ConstantExpr to 2.5 API.Owen Anderson2009-07-291-1/+1
| | | | llvm-svn: 77494
* Return ConstantVector to 2.5 API.Owen Anderson2009-07-281-1/+1
| | | | llvm-svn: 77366
* Revert the ConstantInt constructors back to their 2.5 forms where possible, ↵Owen Anderson2009-07-241-1/+1
| | | | | | thanks to contexts-on-types. More to come. llvm-svn: 77011
* Add support for promoting SETCC operations.Jakob Stoklund Olesen2009-07-241-5/+7
| | | | llvm-svn: 76987
* Make promotion in operation legalization for SETCC work correctly.Eli Friedman2009-07-171-23/+5
| | | | llvm-svn: 76153
* Move a few more convenience factory functions from Constant to LLVMContext.Owen Anderson2009-07-151-3/+5
| | | | llvm-svn: 75840
* Move EVER MORE stuff over to LLVMContext.Owen Anderson2009-07-141-1/+2
| | | | llvm-svn: 75703
* llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable.Torok Edwin2009-07-141-16/+16
| | | | | | | | | This adds location info for all llvm_unreachable calls (which is a macro now) in !NDEBUG builds. In NDEBUG builds location info and the message is off (it only prints "UREACHABLE executed"). llvm-svn: 75640
* Implement support for promotion of AND/OR/XOR on integer types.Jakob Stoklund Olesen2009-07-121-8/+19
| | | | | | The blackfin processor has a legal i16 type, but only logic operations on i32. llvm-svn: 75419
* Fix types in PromoteNode handling of CTPOP and friends.Jakob Stoklund Olesen2009-07-121-3/+3
| | | | llvm-svn: 75418
* assert(0) -> LLVM_UNREACHABLE.Torok Edwin2009-07-111-13/+13
| | | | | | | | | Make llvm_unreachable take an optional string, thus moving the cerr<< out of line. LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for NDEBUG builds. llvm-svn: 75379
* Convert more assert(0)+abort() -> LLVM_UNREACHABLE,Torok Edwin2009-07-111-4/+4
| | | | | | and abort()/exit() -> llvm_report_error(). llvm-svn: 75363
* Make EXTRACT_VECTOR_ELT a bit more flexible in terms of the returned Eli Friedman2009-07-091-1/+5
| | | | | | | | | value. Adjust other code to deal with that correctly. Make DAGTypeLegalizer::PromoteIntRes_EXTRACT_VECTOR_ELT take advantage of this new flexibility to simplify the code and make it deal with unusual vectors (like <4 x i1>) correctly. Fixes PR3037. llvm-svn: 75176
* Thread LLVMContext through MVT and related parts of SDISel.Owen Anderson2009-07-091-11/+17
| | | | llvm-svn: 75153
OpenPOWER on IntegriCloud