summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/CellSPU
Commit message (Collapse)AuthorAgeFilesLines
...
* pass the TargetTriple down from each target ctor to theChris Lattner2009-08-111-1/+1
| | | | | | LLVMTargetMachine ctor. It is currently unused. llvm-svn: 78711
* SjLj based exception handling unwinding support. This patch is nasty, brutishJim Grosbach2009-08-111-1/+1
| | | | | | | | | | | | | and short. Well, it's kinda short. Definitely nasty and brutish. The front-end generates the register/unregister calls into the SjLj runtime, call-site indices and landing pad dispatch. The back end fills in the LSDA with the call-site information provided by the front end. Catch blocks are not yet implemented. Built on Darwin and verified no llvm-core "make check" regressions. llvm-svn: 78625
* Rename MVT to EVT, in preparation for splitting SimpleValueType out into its ↵Owen Anderson2009-08-104-676/+676
| | | | | | 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-102-3/+5
| | | | | | SimpleValueType, which will simplify the privatization of IntegerType in the future. llvm-svn: 78584
* make printInstruction return void since its result is omitted. Make the Chris Lattner2009-08-081-1/+1
| | | | | | error condition get trapped with an assert. llvm-svn: 78449
* Fix a bunch of namespace pollution.Dan Gohman2009-08-071-2/+2
| | | | llvm-svn: 78363
* Remove dead code. MDNode and MDString are not Constant anymore.Devang Patel2009-08-051-3/+0
| | | | llvm-svn: 78207
* Major calling convention code refactoring.Dan Gohman2009-08-053-86/+83
| | | | | | | | | | | | | | | | | | | 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
* remove an unneeded section switch.Chris Lattner2009-08-031-1/+0
| | | | llvm-svn: 78014
* Move most targets TargetMachine constructor to only taking a target triple.Daniel Dunbar2009-08-022-4/+4
| | | | | | - The C, C++, MSIL, and Mips backends still need the module. llvm-svn: 77927
* Normalize Subtarget constructors to take a target triple string instead ofDaniel Dunbar2009-08-023-13/+4
| | | | | | | | | | Module*. Also, dropped uses of TargetMachine where unnecessary. The only target which still takes a TargetMachine& is Mips, I would appreciate it if someone would normalize this to match other targets. llvm-svn: 77918
* move dwarf debug info section selection stuff from TAI toChris Lattner2009-08-021-11/+0
| | | | | | TLOF, unifying all the dwarf targets at the same time. llvm-svn: 77889
* simplify SPULinuxTargetAsmInfo, remove use of TM.Chris Lattner2009-08-023-44/+16
| | | | llvm-svn: 77869
* remove TargetAsmInfo::TM, which is now dead. The basic TAI class now Chris Lattner2009-08-022-5/+3
| | | | | | no longer depends on TM! llvm-svn: 77863
* REmove dead fields of TAI.Chris Lattner2009-08-011-2/+0
| | | | llvm-svn: 77820
* remove a pointless override.Chris Lattner2009-07-312-12/+0
| | | | llvm-svn: 77723
* Reapply r77654 with a fix: MachineFunctionPass's getAnalysisUsageDan Gohman2009-07-311-2/+2
| | | | | | | | shouldn't do AU.setPreservesCFG(), because even though CodeGen passes don't modify the LLVM IR CFG, they may modify the MachineFunction CFG, and passes like MachineLoop are registered with isCFGOnly set to true. llvm-svn: 77691
* Revert r77654, it appears to be causing llvm-gcc bootstrap failures, and manyDaniel Dunbar2009-07-311-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | failures when building assorted projects with clang. --- Reverse-merging r77654 into '.': U include/llvm/CodeGen/Passes.h U include/llvm/CodeGen/MachineFunctionPass.h U include/llvm/CodeGen/MachineFunction.h U include/llvm/CodeGen/LazyLiveness.h U include/llvm/CodeGen/SelectionDAGISel.h D include/llvm/CodeGen/MachineFunctionAnalysis.h U include/llvm/Function.h U lib/Target/CellSPU/SPUISelDAGToDAG.cpp U lib/Target/PowerPC/PPCISelDAGToDAG.cpp U lib/CodeGen/LLVMTargetMachine.cpp U lib/CodeGen/MachineVerifier.cpp U lib/CodeGen/MachineFunction.cpp U lib/CodeGen/PrologEpilogInserter.cpp U lib/CodeGen/MachineLoopInfo.cpp U lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp D lib/CodeGen/MachineFunctionAnalysis.cpp D lib/CodeGen/MachineFunctionPass.cpp U lib/CodeGen/LiveVariables.cpp llvm-svn: 77661
* Manage MachineFunctions with an analysis Pass instead of the AnnotableDan Gohman2009-07-311-2/+2
| | | | | | | mechanism. To support this, make MachineFunctionPass a little more complete. llvm-svn: 77654
* Move types back to the 2.5 API.Owen Anderson2009-07-291-3/+2
| | | | llvm-svn: 77516
* Give getPointerRegClass() a "kind" value so that targets can Chris Lattner2009-07-292-3/+4
| | | | | | support multiple different pointer register classes. llvm-svn: 77501
* pass the mangler down into the various SectionForGlobal methods.Chris Lattner2009-07-291-2/+2
| | | | | | No functionality change. llvm-svn: 77432
* Rename MDNode.h header. It defines MDnode and other metadata classes.Devang Patel2009-07-281-1/+1
| | | | | | New name is Metadata.h. llvm-svn: 77370
* Return ConstantVector to 2.5 API.Owen Anderson2009-07-281-1/+1
| | | | llvm-svn: 77366
* Rip all of the global variable lowering logic out of TargetAsmInfo. SinceChris Lattner2009-07-283-17/+12
| | | | | | | | | | | | | | | | | | | | 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
* Eliminate getNamed/getUnnamedSection, adding a new and unified ↵Chris Lattner2009-07-271-1/+1
| | | | | | | | getOrCreateSection instead. llvm-svn: 77186
* Eliminate SectionFlags, just embed a SectionKind into SectionChris Lattner2009-07-271-2/+1
| | | | | | instead and drive things based off of that. llvm-svn: 77184
* untangle a TargetAsmInfo hack where ELFTargetAsmInfo would create aChris Lattner2009-07-261-2/+1
| | | | | | | | | 'unnamed' bss section, but some impls would want a named one. Since they don't have consistent behavior, just make each target do their own thing, instead of doing something "sortof common" then having targets change immutable objects later. llvm-svn: 77165
* Eliminate some uses of DOUT, cerr, and getNameStart().Daniel Dunbar2009-07-261-5/+6
| | | | llvm-svn: 77145
* Factor commonality in triple match routines into helper template for registeringDaniel Dunbar2009-07-261-14/+2
| | | | | | classes, and migrate existing targets over. llvm-svn: 77126
* Kill Target specific ModuleMatchQuality stuff.Daniel Dunbar2009-07-261-13/+1
| | | | | | - This was overkill and inconsistently implemented. llvm-svn: 77114
* this is (unfortunately) several changes mixed together:Chris Lattner2009-07-251-1/+1
| | | | | | | | | | | | | | 1. Spell SectionFlags::Writeable as "Writable". 2. Add predicates for deriving SectionFlags from SectionKinds. 3. Sink ELF-specific getSectionPrefixForUniqueGlobal impl into ELFTargetAsmInfo. 4. Fix SectionFlagsForGlobal to know that BSS/ThreadBSS has the BSS bit set (the real fix for PR4619). 5. Fix isSuitableForBSS to not put globals with explicit sections set in BSS (which was the reason #4 wasn't fixed earlier). 6. Remove my previous hack for PR4619. llvm-svn: 77085
* Simplify JIT target selection.Daniel Dunbar2009-07-251-6/+1
| | | | | | | | | | - Instead of requiring targets to define a JIT quality match function, we just have them specify if they support a JIT. - Target selection for the JIT just gets the host triple and looks for the best target which matches the triple and has a JIT. llvm-svn: 77060
* Add new helpers for registering targets.Daniel Dunbar2009-07-253-22/+5
| | | | | | - Less boilerplate == good. llvm-svn: 77052
* Remove unused member functions.Eli Friedman2009-07-242-86/+0
| | | | llvm-svn: 76960
* Get rid of the Pass+Context magic.Owen Anderson2009-07-221-1/+1
| | | | llvm-svn: 76702
* make AsmPrinter::doFinalization iterate over the global variablesChris Lattner2009-07-211-15/+2
| | | | | | | and call PrintGlobalVariable, allowing elimination and simplification of various targets. llvm-svn: 76604
* Add plumbing for the `linker_private' linkage type. This type is meant forBill Wendling2009-07-201-0/+2
| | | | | | | | | "private" symbols which the assember shouldn't strip, but which the linker may remove after evaluation. This is mostly useful for Objective-C metadata. This is plumbing, so we don't have a use of it yet. More to come, etc. llvm-svn: 76385
* Add dependencies from TargetInfo onto .td generation.Daniel Dunbar2009-07-191-0/+1
| | | | | | | - Shouldn't really be necessary, but currently .inc files get included into some main target headers. llvm-svn: 76349
* Add some missing includes.Daniel Dunbar2009-07-181-0/+1
| | | | llvm-svn: 76346
* Put Target definitions inside Target specific header, and llvm namespace.Daniel Dunbar2009-07-184-3/+4
| | | | llvm-svn: 76344
* Add operation expansion/promotion for a bunch of operations, many of Eli Friedman2009-07-171-5/+54
| | | | | | which show up in test/CodeGen/Generic. llvm-svn: 76158
* Lift addAssemblyEmitter into LLVMTargetMachine.Daniel Dunbar2009-07-152-14/+0
| | | | | | - No functionality change. llvm-svn: 75859
* Remove old style hacks to register AsmPrinter into TargetMachine.Daniel Dunbar2009-07-153-26/+4
| | | | | | - No intended functionality change. llvm-svn: 75843
* Move a few more convenience factory functions from Constant to LLVMContext.Owen Anderson2009-07-151-1/+2
| | | | llvm-svn: 75840
* Lexically order files in CMakeLists.txt files.Ted Kremenek2009-07-151-1/+1
| | | | llvm-svn: 75831
* Reapply TargetRegistry refactoring commits.Daniel Dunbar2009-07-154-31/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | --- Reverse-merging r75799 into '.': U test/Analysis/PointerTracking U include/llvm/Target/TargetMachineRegistry.h U include/llvm/Target/TargetMachine.h U include/llvm/Target/TargetRegistry.h U include/llvm/Target/TargetSelect.h U tools/lto/LTOCodeGenerator.cpp U tools/lto/LTOModule.cpp U tools/llc/llc.cpp U lib/Target/PowerPC/PPCTargetMachine.h U lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp U lib/Target/PowerPC/PPCTargetMachine.cpp U lib/Target/PowerPC/PPC.h U lib/Target/ARM/ARMTargetMachine.cpp U lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp U lib/Target/ARM/ARMTargetMachine.h U lib/Target/ARM/ARM.h U lib/Target/XCore/XCoreTargetMachine.cpp U lib/Target/XCore/XCoreTargetMachine.h U lib/Target/PIC16/PIC16TargetMachine.cpp U lib/Target/PIC16/PIC16TargetMachine.h U lib/Target/Alpha/AsmPrinter/AlphaAsmPrinter.cpp U lib/Target/Alpha/AlphaTargetMachine.cpp U lib/Target/Alpha/AlphaTargetMachine.h U lib/Target/X86/X86TargetMachine.h U lib/Target/X86/X86.h U lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.h U lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp U lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.h U lib/Target/X86/X86TargetMachine.cpp U lib/Target/MSP430/MSP430TargetMachine.cpp U lib/Target/MSP430/MSP430TargetMachine.h U lib/Target/CppBackend/CPPTargetMachine.h U lib/Target/CppBackend/CPPBackend.cpp U lib/Target/CBackend/CTargetMachine.h U lib/Target/CBackend/CBackend.cpp U lib/Target/TargetMachine.cpp U lib/Target/IA64/IA64TargetMachine.cpp U lib/Target/IA64/AsmPrinter/IA64AsmPrinter.cpp U lib/Target/IA64/IA64TargetMachine.h U lib/Target/IA64/IA64.h U lib/Target/MSIL/MSILWriter.cpp U lib/Target/CellSPU/SPUTargetMachine.h U lib/Target/CellSPU/SPU.h U lib/Target/CellSPU/AsmPrinter/SPUAsmPrinter.cpp U lib/Target/CellSPU/SPUTargetMachine.cpp U lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp U lib/Target/Mips/MipsTargetMachine.cpp U lib/Target/Mips/MipsTargetMachine.h U lib/Target/Mips/Mips.h U lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp U lib/Target/Sparc/SparcTargetMachine.cpp U lib/Target/Sparc/SparcTargetMachine.h U lib/ExecutionEngine/JIT/TargetSelect.cpp U lib/Support/TargetRegistry.cpp llvm-svn: 75820
* Revert 75762, 75763, 75766..75769, 75772..75775, 75778, 75780, 75782 to ↵Stuart Hastings2009-07-154-18/+31
| | | | | | | | repair broken LLVM-GCC build. Will revert 75770 in the llvm-gcc trunk. llvm-svn: 75799
OpenPOWER on IntegriCloud