summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/CBackend/CBackend.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add a flag to addPassesToEmit* to disable the Verifier pass runDan Gohman2010-02-281-1/+2
| | | | | | after LSR, so that clients can opt in. llvm-svn: 97357
* Remove a bunch of duplicated code, where there was one version taking a ↵Duncan Sands2010-02-211-177/+15
| | | | | | | | std::ostream and another taking a raw_ostream, but otherwise identical. Use raw_ostream everywhere. llvm-svn: 96746
* Introduce isOpaqueTy and use it rather than isa<OpaqueType>. Also, move someDuncan Sands2010-02-161-3/+3
| | | | | | methods to try to have the type predicates be more logically positioned. llvm-svn: 96349
* There are two ways of checking for a given type, for example isa<PointerType>(T)Duncan Sands2010-02-161-30/+30
| | | | | | | and T->isPointerTy(). Convert most instances of the first form to the second form. Requested by Chris. llvm-svn: 96344
* Uniformize the names of type predicates: rather than having isFloatTy andDuncan Sands2010-02-151-9/+10
| | | | | | isInteger, we now have isFloatTy and isIntegerTy. Requested by Chris! llvm-svn: 96223
* Fix "the the" and similar typos.Dan Gohman2010-02-101-2/+2
| | | | llvm-svn: 95781
* eliminate FileModel::Model, just use CodeGenFileType. The clientChris Lattner2010-02-021-1/+1
| | | | | | | of the code generator shouldn't care what object format a target uses. llvm-svn: 95124
* use both the Mangler and the CBE's mangler for identifiers,Chris Lattner2010-01-221-4/+4
| | | | | | this should fix a problem duncan saw handling symbols with '.' in them. llvm-svn: 94192
* revert 93934, removing the MCAsmInfo endianness bit. I can'tChris Lattner2010-01-201-2/+2
| | | | | | | stomache MCAsmInfo having this, and I found a better solution to this layering issue. llvm-svn: 93985
* give MCAsmInfo a 'has little endian' bit. This is unfortunate, butChris Lattner2010-01-191-2/+2
| | | | | | | | | I really want clients of the streamer to be able to say "emit this 64-bit integer" and have it get broken down right by the streamer. I may change this in the future, we'll see how it works out. llvm-svn: 93934
* stop the CBE from using Mangler::appendMangledName, which is a private ↵Chris Lattner2010-01-171-6/+15
| | | | | | function, it is mangling types, which don't matter how they are done. llvm-svn: 93692
* 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-041-1/+1
| | | | llvm-svn: 78043
* 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-021-1/+1
| | | | | | - 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
* 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
* 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-181-1/+0
| | | | 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-151-10/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | --- 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-151-12/+10
| | | | | | | | repair broken LLVM-GCC build. Will revert 75770 in the llvm-gcc trunk. llvm-svn: 75799
OpenPOWER on IntegriCloud