summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/CBackend
Commit message (Collapse)AuthorAgeFilesLines
...
* Get MCSymbol out of the mangling business, and move all the logicChris Lattner2010-01-171-5/+4
| | | | | | | | | | | to Mangler. Now MCSymbol just decides whether to slap quotes around a symbol when printing it. This also fixes some weirdness where two MCSymbols could be created for the same symbol, if one needed to be mangled and got mangled to the other one. llvm-svn: 93690
* now that mangler is in libtarget, it can use MCAsmInfo instead of clientsChris Lattner2010-01-171-17/+34
| | | | | | having to pass various fields from it in. Simplify. llvm-svn: 93686
* move the mangler into libtarget from vmcore.Chris Lattner2010-01-161-1/+1
| | | | llvm-svn: 93664
* reduce duplicate mangling logic by using MCSymbol::printMangledName.Chris Lattner2010-01-131-23/+4
| | | | llvm-svn: 93351
* stop the CBE from using deprecated Mangler stuff.Chris Lattner2010-01-131-17/+39
| | | | llvm-svn: 93341
* change Mangler::makeNameProper to return its result in a SmallVectorChris Lattner2010-01-131-5/+15
| | | | | | | | | | | | instead of returning it in an std::string. Based on this change: 1. Change TargetLoweringObjectFileCOFF::getCOFFSection to take a StringRef 2. Change a bunch of targets to call makeNameProper with a smallstring, making several of them *much* more efficient. 3. Rewrite Mangler::makeNameProper to not build names and then prepend prefixes, not use temporary std::strings, and to avoid other crimes. llvm-svn: 93298
* Remove dead debug info intrinsics.Devang Patel2010-01-051-15/+0
| | | | | | | | | | Intrinsic::dbg_stoppoint Intrinsic::dbg_region_start Intrinsic::dbg_region_end Intrinsic::dbg_func_start AutoUpgrade simply ignores these intrinsics now. llvm-svn: 92557
* Remove dead variable.Bill Wendling2009-12-281-1/+0
| | | | llvm-svn: 92195
* improve portability to avoid conflicting with std::next in c++'0x.Chris Lattner2009-12-031-2/+2
| | | | | | Patch by Howard Hinnant! llvm-svn: 90365
* rename indbr -> indirectbr to appease the residents of #llvm.Chris Lattner2009-10-281-2/+2
| | | | llvm-svn: 85351
* CBE support for indbr.Chris Lattner2009-10-271-0/+7
| | | | llvm-svn: 85311
* Remove FreeInst.Victor Hernandez2009-10-261-6/+0
| | | | | | | Remove LowerAllocations pass. Update some more passes to treate free calls just like they were treating FreeInst. llvm-svn: 85176
* Remove ICmpInst::isSignedPredicate which was a reimplementationNick Lewycky2009-10-251-1/+1
| | | | | | CmpInst::isSigned. llvm-svn: 85037
* Remove MallocInst from LLVM Instructions.Victor Hernandez2009-10-171-6/+1
| | | | llvm-svn: 84299
* Retype from unsigned to CallingConv::ID accordingly. Approved by Bob Wilson.Sandeep Patel2009-09-021-0/+2
| | | | llvm-svn: 80773
* Unbreak FP128 stuff in cbeAnton Korobeynikov2009-08-261-1/+2
| | | | llvm-svn: 80115
* eliminate the "Value" printing methods that print to a std::ostream.Chris Lattner2009-08-231-7/+7
| | | | | | This required converting a bunch of stuff off DOUT and other cleanups. llvm-svn: 79819
* Rename TargetAsmInfo (and its subclasses) to MCAsmInfo.Chris Lattner2009-08-221-3/+3
| | | | llvm-svn: 79763
* Push LLVMContexts through the IntegerType APIs.Owen Anderson2009-08-131-32/+45
| | | | llvm-svn: 78948
* change CBE to just get TAI now, instead of TM to get TAI.Chris Lattner2009-08-121-7/+2
| | | | llvm-svn: 78813
* Cleanup in dbg_stoppoint handling in CBE. Patch by Sandeep Patel.Anton Korobeynikov2009-08-051-7/+6
| | | | llvm-svn: 78182
* Minor arm CBE fixes. Patch by Sandeep.Anton Korobeynikov2009-08-051-2/+2
| | | | llvm-svn: 78181
* Emit module-level inline asm for CBE.Anton Korobeynikov2009-08-051-0/+48
| | | | | | Patch by Sandeep Patel llvm-svn: 78180
* No really, it's unused.Daniel Dunbar2009-08-041-2/+1
| | | | llvm-svn: 78047
* Remove now unused Module argument to createTargetMachine.Daniel Dunbar2009-08-042-6/+3
| | | | llvm-svn: 78043
* Change C, CBE, MSIL to not provide target data via getTargetData().Daniel Dunbar2009-08-031-1/+1
| | | | | | | - The theory is these should never actually be called, since these boil down to passes which can access the target data via the standard mechanism. llvm-svn: 77975
* Remove now unused arguments from TargetRegistry::lookupTarget.Daniel Dunbar2009-08-031-5/+1
| | | | llvm-svn: 77950
* Pass target triple string in to TargetMachine constructor.Daniel Dunbar2009-08-031-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | This is not just a matter of passing in the target triple from the module; currently backends are making decisions based on the build and host architecture. The goal is to migrate to making these decisions based off of the triple (in conjunction with the feature string). Thus most clients pass in the target triple, or the host triple if that is empty. This has one important change in the way behavior of the JIT and llc. For the JIT, it was previously selecting the Target based on the host (naturally), but it was setting the target machine features based on the triple from the module. Now it is setting the target machine features based on the triple of the host. For LLC, -march was previously only used to select the target, the target machine features were initialized from the module's triple (which may have been empty). Now the target triple is taken from the module, or the host's triple is used if that is empty. Then the triple is adjusted to match -march. The take away is that -march for llc is now used in conjunction with the host triple to initialize the subtarget. If users want more deterministic behavior from llc, they should use -mtriple, or set the triple in the input module. llvm-svn: 77946
* Move most targets TargetMachine constructor to only taking a target triple.Daniel Dunbar2009-08-022-2/+3
| | | | | | - The C, C++, MSIL, and Mips backends still need the module. llvm-svn: 77927
* Move a few more APIs back to 2.5 forms. The only remaining ones left to ↵Owen Anderson2009-07-311-6/+4
| | | | | | | | change back are metadata related, which I'm waiting on to avoid conflicting with Devang. llvm-svn: 77721
* Factor commonality in triple match routines into helper template for registeringDaniel Dunbar2009-07-261-9/+1
| | | | | | classes, and migrate existing targets over. llvm-svn: 77126
* Kill Target specific ModuleMatchQuality stuff.Daniel Dunbar2009-07-261-8/+1
| | | | | | - This was overkill and inconsistently implemented. llvm-svn: 77114
* Add TargetRegistry::lookupTarget.Daniel Dunbar2009-07-261-1/+4
| | | | | | | | | | | | | | - This is a simplified mechanism which just looks up a target based on the target triple, with a few additional flags. - Remove getClosestStaticTargetForModule, the moral equivalent is now: lookupTarget(Mod->getTargetTriple, true, false, ...); - This no longer does the fuzzy matching with target data (based on endianness and pointer width) that getClosestStaticTargetForModule was doing, but this was deemed unnecessary. llvm-svn: 77111
* 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-251-6/+4
| | | | | | - Less boilerplate == good. llvm-svn: 77052
* 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
* Simplify some uses of Value::getName()Daniel Dunbar2009-07-221-1/+1
| | | | llvm-svn: 76786
* Get rid of the Pass+Context magic.Owen Anderson2009-07-221-5/+7
| | | | llvm-svn: 76702
* Put Target definitions inside Target specific header, and llvm namespace.Daniel Dunbar2009-07-183-2/+4
| | | | llvm-svn: 76344
* Make sure CWriter's Context get's initialized.Daniel Dunbar2009-07-171-0/+2
| | | | llvm-svn: 76147
* Kill off <TARGET>MachineModule variables, and <TARGETASMPRINTER>ForceLinkDaniel Dunbar2009-07-161-8/+0
| | | | | | | variables. - Module initialization functions supplanted the need for these. llvm-svn: 75886
* Reapply TargetRegistry refactoring commits.Daniel Dunbar2009-07-152-16/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | --- 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-152-14/+16
| | | | | | | | repair broken LLVM-GCC build. Will revert 75770 in the llvm-gcc trunk. llvm-svn: 75799
* Kill off old (TargetMachine level, not Target level) match quality functions.Daniel Dunbar2009-07-151-4/+0
| | | | llvm-svn: 75780
* Provide TargetMachine implementations with reference to Target they were createdDaniel Dunbar2009-07-151-2/+2
| | | | | | | | from. - This commit is almost entirely propogating the reference through the TargetMachine subclasses' constructor calls. llvm-svn: 75778
* Switch some obvious clients to using the new TargetRegistry.Daniel Dunbar2009-07-151-9/+10
| | | | llvm-svn: 75767
* Register Target's TargetMachine and AsmPrinter in the new registry.Daniel Dunbar2009-07-151-1/+2
| | | | | | | - This abuses TargetMachineRegistry's constructor for now, this will get cleaned up in time. llvm-svn: 75762
* Add TargetInfo libraries for all targets.Daniel Dunbar2009-07-154-0/+62
| | | | | | | | - Intended to match current TargetMachine implementations. - No facilities for linking these in yet. llvm-svn: 75751
* Move EVER MORE stuff over to LLVMContext.Owen Anderson2009-07-141-1/+1
| | | | llvm-svn: 75703
* Have asm printers use formatted_raw_ostream directly to avoid aDavid Greene2009-07-142-20/+25
| | | | | | dynamic_cast<>. llvm-svn: 75670
OpenPOWER on IntegriCloud