summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/CellSPU
Commit message (Collapse)AuthorAgeFilesLines
* Remove the isMoveInstr() hook.Jakob Stoklund Olesen2010-07-162-148/+0
| | | | llvm-svn: 108567
* Rename DBG_LABEL PROLOG_LABEL, because it's only used during prolog emission andBill Wendling2010-07-161-3/+3
| | | | | | thus is a much more meaningful name. llvm-svn: 108563
* Don't pass StringRef by reference.Benjamin Kramer2010-07-142-3/+3
| | | | llvm-svn: 108366
* RISC architectures get their memory operand folding for free.Jakob Stoklund Olesen2010-07-112-100/+0
| | | | | | | | The only folding these load/store architectures can do is converting COPY into a load or store, and the target independent part of foldMemoryOperand already knows how to do that. llvm-svn: 108099
* Replace copyRegToReg with copyPhysReg for CellSPU.Jakob Stoklund Olesen2010-07-112-34/+10
| | | | llvm-svn: 108084
* Switch SPU calling convention (function arguments) Kalle Raiskila2010-07-084-118/+52
| | | | | | to a Tablegen implementation. llvm-svn: 107913
* Split the SDValue out of OutputArg so that SelectionDAG-independentDan Gohman2010-07-072-2/+6
| | | | | | 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-052-20/+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
* Remove initialized but otherwise unused variables.Duncan Sands2010-06-291-1/+0
| | | | llvm-svn: 107127
* The hasMemory argument is irrelevant to how the argumentDale Johannesen2010-06-252-4/+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
* Mark the SPU 'lr' instruction to never have side effects. Kalle Raiskila2010-06-211-2/+0
| | | | | | | | | This allows the fast regiser allocator to remove redundant register moves. Update a set of tests that depend on the register allocator to be linear scan. llvm-svn: 106420
* 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
* Add a DebugLoc parameter to TargetInstrInfo::InsertBranch(). ThisStuart Hastings2010-06-172-9/+9
| | | | | | | | | | | | addresses a longstanding deficiency noted in many FIXMEs scattered across all the targets. This effectively moves the problem up one level, replacing eleven FIXMEs in the targets with eight FIXMEs in CodeGen, plus one path through FastISel where we actually supply a DebugLoc, fixing Radar 7421831. llvm-svn: 106243
* 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
* Handle loading from/storing to undef pointers on SPU by inserting a Kalle Raiskila2010-06-091-1/+3
| | | | | | random load/store, rather than crashing llc. llvm-svn: 105710
* Flag SPU's function call sequence together. Kalle Raiskila2010-06-081-1/+1
| | | | | | | Discussed here: http://lists.cs.uiuc.edu/pipermail/llvmdev/2010-June/032107.html llvm-svn: 105601
* cleanupRafael Espindola2010-06-022-34/+0
| | | | llvm-svn: 105322
* Fix handling of 'load' nodes.Kalle Raiskila2010-06-011-8/+2
| | | | llvm-svn: 105269
* 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
* Rename "HasCalls" in MachineFrameInfo to "AdjustsStack" to better describe whatBill Wendling2010-05-141-2/+2
| | | | | | | | | the variable actually tracks. N.B., several back-ends are using "HasCalls" as being synonymous for something that adjusts the stack. This isn't 100% correct and should be looked into. llvm-svn: 103802
* Implement a bunch more TargetSelectionDAGInfo infrastructure.Dan Gohman2010-05-114-3/+13
| | | | | | | | Move EmitTargetCodeForMemcpy, EmitTargetCodeForMemset, and EmitTargetCodeForMemmove out of TargetLowering and into SelectionDAGInfo to exercise this. llvm-svn: 103481
* Make SPU backend not assert on jump tables.Kalle Raiskila2010-05-111-0/+3
| | | | llvm-svn: 103466
* Fix encoding of 'sf' and 'sfh' instructions.Kalle Raiskila2010-05-101-3/+3
| | | | llvm-svn: 103399
* Testing svn access with a note added to documentation.Kalle Raiskila2010-05-071-0/+2
| | | | llvm-svn: 103271
* Add a DebugLoc argument to TargetInstrInfo::copyRegToReg, so that itDan Gohman2010-05-062-5/+4
| | | | | | doesn't have to guess. llvm-svn: 103194
* Add argument TargetRegisterInfo to loadRegFromStackSlot and storeRegToStackSlot.Evan Cheng2010-05-062-8/+12
| | | | llvm-svn: 103193
* "on the rare occasion the SPU BE produces illegal assembly - it tries to ↵Chris Lattner2010-05-041-2/+10
| | | | | | | | emit an add instruction of the form 'a reg, reg, imm'." Patch by Kalle Raiskila! llvm-svn: 103021
* fix some inconsistent line endings, patch by Jakub Staszak!Chris Lattner2010-05-011-7/+7
| | | | llvm-svn: 102852
* Implement -disable-non-leaf-fp-elim which disable frame pointer eliminationEvan Cheng2010-04-211-1/+1
| | | | | | | optimization for non-leaf functions. This will be hooked up to gcc's -momit-leaf-frame-pointer option. rdar://7886181 llvm-svn: 101984
* teach cellspu how to return i8 and i16 from calls,Chris Lattner2010-04-201-12/+2
| | | | | | patch by Kalle Raiskila! llvm-svn: 101875
* Make processor FUs unique for given itinerary. This extends the limit of 32Anton Korobeynikov2010-04-181-1/+1
| | | | | | | FU per CPU arch to 32 per intinerary allowing precise modelling of quite complex pipelines in the future. llvm-svn: 101754
* Use cast instead of dyn_cast when assuming success.Dan Gohman2010-04-171-6/+6
| | | | llvm-svn: 101636
* Use const qualifiers with TargetLowering. This eliminates severalDan Gohman2010-04-174-20/+19
| | | | | | | | | | | | | 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-172-4/+13
| | | | | | MachineFunctionInfo subclasses. llvm-svn: 101634
* Name these stub files consistently with the SPU and PPC targets' conventions.Chandler Carruth2010-04-172-9/+9
| | | | | | | Also rename the classes appropriately. The CMake build already used these names. llvm-svn: 101631
* Add skeleton target-specific SelectionDAGInfo files.Dan Gohman2010-04-163-0/+52
| | | | llvm-svn: 101564
* Add const qualifiers to CodeGen's use of LLVM IR constructs.Dan Gohman2010-04-153-6/+6
| | | | llvm-svn: 101334
* "On SPU, variables in the .bss section that are allocated with the .lcomm ↵Chris Lattner2010-04-091-1/+0
| | | | | | | | | | directive are not aligned on 16 byte boundaries. This causes misaligned loads, as the generated assembly assumes this "default" alignment. this patch disables .lcomm in favour of '.local .comm' Patch by Kalle Raisklia! llvm-svn: 100875
* Use twines to simplify calls to report_fatal_error. For code size and ↵Benjamin Kramer2010-04-083-49/+20
| | | | | | readability. llvm-svn: 100756
* rename llvm::llvm_report_error -> llvm::report_fatal_errorChris Lattner2010-04-074-19/+19
| | | | llvm-svn: 100709
* add newlines at end of files.Chris Lattner2010-04-071-1/+1
| | | | llvm-svn: 100706
* remove the MMI pointer from MachineFrameInfo.Chris Lattner2010-04-051-6/+6
| | | | llvm-svn: 100415
* Momentous day: remove the "O" member from AsmPrinter. Now all Chris Lattner2010-04-041-4/+3
| | | | | | | | | | "asm printering" happens through MCStreamer. This also Streamerizes PIC16 debug info, which escaped my attention. This removes a leak from LLVMTargetMachine of the 'legacy' output stream. llvm-svn: 100327
* convert the non-MCInstPrinter'ized EmitInstruction Chris Lattner2010-04-041-2/+5
| | | | | | | implementations to use EmitRawText instead of writing directly to "O". llvm-svn: 100318
* fix PrintAsmOperand and PrintAsmMemoryOperand to pass down Chris Lattner2010-04-041-6/+8
| | | | | | raw_ostream to print to. llvm-svn: 100313
OpenPOWER on IntegriCloud