summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/CellSPU/SPUISelLowering.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Switch SPU calling convention (function arguments) Kalle Raiskila2010-07-081-12/+40
| | | | | | to a Tablegen implementation. llvm-svn: 107913
* Split the SDValue out of OutputArg so that SelectionDAG-independentDan Gohman2010-07-071-2/+4
| | | | | | code can do calling-convention queries. This obviates OutputArgReg. llvm-svn: 107786
* Propagate debug loc.Devang Patel2010-07-061-2/+3
| | | | llvm-svn: 107710
* Remove some unused/redundant code.Kalle Raiskila2010-07-051-16/+0
| | | | llvm-svn: 107622
* Remove isSS argument from CreateFixedObject. Fixed objects cannot be spill ↵Evan Cheng2010-07-031-3/+2
| | | | | | slots so it's always false. llvm-svn: 107550
* The hasMemory argument is irrelevant to how the argumentDale Johannesen2010-06-251-3/+1
| | | | | | | | | for an "i" constraint should get lowered; PR 6309. While this argument was passed around a lot, this is the only place it was used, so it goes away from a lot of other places. llvm-svn: 106893
* remove some dead variables reported by clang++Chris Lattner2010-06-211-2/+0
| | | | llvm-svn: 106428
* Fix the lowering of VECTOR_SHUFFLE on SPU to handle splats.Kalle Raiskila2010-06-211-1/+1
| | | | llvm-svn: 106419
* Fix lowering of VECTOR_SHUFFLE on SPU. Old algorithmKalle Raiskila2010-06-211-9/+14
| | | | | | | used to choke llc with the attached test. llvm-svn: 106411
* Eliminate unnecessary uses of getZExtValue().Dan Gohman2010-06-181-1/+1
| | | | llvm-svn: 106279
* Fix SPU to cope with vector insertelement to an undef position.Kalle Raiskila2010-06-091-3/+8
| | | | | | We default to inserting to lane 0. llvm-svn: 105722
* Code refactoring: pull SchedPreference enum from TargetLowering.h to ↵Evan Cheng2010-05-191-1/+1
| | | | | | TargetMachine.h and put it in its own namespace. llvm-svn: 104147
* teach cellspu how to return i8 and i16 from calls,Chris Lattner2010-04-201-12/+2
| | | | | | patch by Kalle Raiskila! llvm-svn: 101875
* Use const qualifiers with TargetLowering. This eliminates severalDan Gohman2010-04-171-8/+9
| | | | | | | | | | | | | 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
* Move per-function state out of TargetLowering subclasses and intoDan Gohman2010-04-171-3/+6
| | | | | | MachineFunctionInfo subclasses. llvm-svn: 101634
* Add const qualifiers to CodeGen's use of LLVM IR constructs.Dan Gohman2010-04-151-3/+3
| | | | llvm-svn: 101334
* Use twines to simplify calls to report_fatal_error. For code size and ↵Benjamin Kramer2010-04-081-31/+14
| | | | | | readability. llvm-svn: 100756
* rename llvm::llvm_report_error -> llvm::report_fatal_errorChris Lattner2010-04-071-9/+9
| | | | llvm-svn: 100709
* Remove a bunch of integer width predicate functions in favor of MathExtras.Benjamin Kramer2010-03-291-1/+1
| | | | | | | Most of these were unused, some of them were wrong and unused (isS16Constant<short>, isS10Constant<short>). llvm-svn: 99827
* From Kalle Raiskila:Chris Lattner2010-03-291-1/+2
| | | | | | | | "the bigstack patch for SPU, with testcase. It is essentially the patch committed as 97091, and reverted as 97099, but with the following additions: -in vararg handling, registers are marked to be live, to not confuse the register scavenger -function prologue and epilogue are not emitted, if the stack size is 16. 16 means it is empty - there is only the register scavenger emergency spill slot, which is not used as there is no stack." llvm-svn: 99819
* Remove dead parameter passing.Bill Wendling2010-03-021-2/+1
| | | | llvm-svn: 97536
* Move TLOF implementations to libCodegen to resolve layering violation.Anton Korobeynikov2010-02-151-1/+1
| | | | llvm-svn: 96288
* Remove an assumption of default arguments. This is in anticipation of aDavid Greene2010-02-151-8/+13
| | | | | | change to SelectionDAG build APIs. llvm-svn: 96232
* Revert 95130.Evan Cheng2010-02-021-1/+1
| | | | llvm-svn: 95160
* Pass callsite return type to TargetLowering::LowerCall and use that to check ↵Evan Cheng2010-02-021-1/+1
| | | | | | sibcall eligibility. llvm-svn: 95130
* Eliminate target hook IsEligibleForTailCallOptimization.Evan Cheng2010-01-271-1/+3
| | | | | | | | | Target independent isel should always pass along the "tail call" property. Change target hook LowerCall's parameter "isTailCall" into a refernce. If the target decides it's impossible to honor the tail call request, it should set isTailCall to false to make target independent isel happy. llvm-svn: 94626
* Remove dead variable.Bill Wendling2009-12-281-5/+1
| | | | llvm-svn: 92196
* Remove dead store. The initial value was never used, but always overridden.Bill Wendling2009-12-281-7/+6
| | | | llvm-svn: 92182
* Add more plumbing. This time in the LowerArguments and "get" functions whichBill Wendling2009-12-221-2/+2
| | | | | | | | return partial registers. This affected the back-end lowering code some. Also patch up some places I missed before in the "get" functions. llvm-svn: 91880
* Remove ISD::DEBUG_LOC and ISD::DBG_LABEL, which are no longer used.Dan Gohman2009-11-231-3/+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-1/+0
| | | | llvm-svn: 89536
* Add a bool flag to StackObjects telling whether they reference spillDavid Greene2009-11-121-2/+3
| | | | | | | | | | | | | 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
* Remove strange 'const' qualifiers, as warned about by iccDuncan Sands2009-09-061-2/+2
| | | | | | (#411). Patch by Erick Tryzelaar. llvm-svn: 81113
* Retype from unsigned to CallingConv::ID accordingly. Approved by Bob Wilson.Sandeep Patel2009-09-021-3/+3
| | | | llvm-svn: 80773
* Updated i128 sext support for CellSPU backend, contributed by Ken Werner (IBM)Scott Michel2009-08-251-16/+32
| | | | llvm-svn: 80042
* 128-bit sign extension and vector shift cleanups, contributed by Ken WernerScott Michel2009-08-241-9/+45
| | | | | | (IBM). llvm-svn: 79949
* Initialize ShufBytes, as gcc 4.4 can't detect that the entire array isScott Michel2009-08-241-1/+3
| | | | | | | initialized and a warning about a potentially unintialized variable is generated. llvm-svn: 79946
* eliminate uses of cerr()Chris Lattner2009-08-231-22/+22
| | | | llvm-svn: 79834
* 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
* Add contexts to some of the MVT APIs. No functionality change yet, just the ↵Owen Anderson2009-08-121-7/+13
| | | | | | 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-458/+458
| | | | | | | | 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-514/+514
| | | | | | own struct type. llvm-svn: 78610
* SimpleValueType-ify a few more methods on TargetLowering.Owen Anderson2009-08-101-2/+2
| | | | llvm-svn: 78595
* Continue the SimpleValueType-ification.Owen Anderson2009-08-101-4/+4
| | | | llvm-svn: 78593
* Start moving TargetLowering away from using full MVTs and towards ↵Owen Anderson2009-08-101-2/+4
| | | | | | SimpleValueType, which will simplify the privatization of IntegerType in the future. llvm-svn: 78584
* Fix a bunch of namespace pollution.Dan Gohman2009-08-071-2/+2
| | | | llvm-svn: 78363
* Major calling convention code refactoring.Dan Gohman2009-08-051-79/+61
| | | | | | | | | | | | | | | | | | | 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 types back to the 2.5 API.Owen Anderson2009-07-291-3/+2
| | | | llvm-svn: 77516
* Rip all of the global variable lowering logic out of TargetAsmInfo. SinceChris Lattner2009-07-281-10/+8
| | | | | | | | | | | | | | | | | | | | it is highly specific to the object file that will be generated in the end, this introduces a new TargetLoweringObjectFile interface that is implemented for each of ELF/MachO/COFF/Alpha/PIC16 and XCore. Though still is still a brutal and ugly refactoring, this is a major step towards goodness. This patch also: 1. fixes a bunch of dangling pointer problems in the PIC16 backend. 2. disables the TargetLowering copy ctor which PIC16 was accidentally using. 3. gets us closer to xcore having its own crazy target section flags and pic16 not having to shadow sections with its own objects. 4. fixes wierdness where ELF targets would set CStringSection but not CStringSection_. Factor the code better. 5. fixes some bugs in string lowering on ELF targets. llvm-svn: 77294
* Get rid of the Pass+Context magic.Owen Anderson2009-07-221-1/+1
| | | | llvm-svn: 76702
OpenPOWER on IntegriCloud