summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/CppBackend/CPPBackend.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove the "WantsWholeFile" concept, as it's no longer needed. CBEDan Gohman2010-05-111-5/+5
| | | | | | | | and the others use the regular addPassesToEmitFile hook now, and llc no longer needs a bunch of redundant code to handle the whole-file case. llvm-svn: 103492
* fix operand indexes when outputting InvokeInstsGabor Greif2010-05-041-6/+7
| | | | llvm-svn: 103003
* Revert 101465, it broke internal OpenGL testing.Eric Christopher2010-04-161-11/+10
| | | | | | | Probably the best way to know that all getOperand() calls have been handled is to replace that API instead of updating. llvm-svn: 101579
* reapply r101434Gabor Greif2010-04-161-10/+11
| | | | | | | | | | | | | with a fix for self-hosting rotate CallInst operands, i.e. move callee to the back of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary llvm-svn: 101465
* back out r101423 and r101397, they break llvm-gcc self-host on darwin10Gabor Greif2010-04-161-11/+10
| | | | llvm-svn: 101434
* reapply r101364, which has been backed out in r101368Gabor Greif2010-04-151-10/+11
| | | | | | | | | | | | | with a fix rotate CallInst operands, i.e. move callee to the back of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary llvm-svn: 101397
* back out r101364, as it trips the linux nightlybot on some clang C++ testsGabor Greif2010-04-151-11/+10
| | | | llvm-svn: 101368
* rotate CallInst operands, i.e. move callee to the backGabor Greif2010-04-151-10/+11
| | | | | | | | | | of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary llvm-svn: 101364
* rename llvm::llvm_report_error -> llvm::report_fatal_errorChris Lattner2010-04-071-1/+1
| | | | llvm-svn: 100709
* 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
* Use the module's context instead of the global context.Nicolas Geoffray2010-02-231-16/+16
| | | | llvm-svn: 96977
* Uniformize the names of type predicates: rather than having isFloatTy andDuncan Sands2010-02-151-3/+3
| | | | | | isInteger, we now have isFloatTy and isIntegerTy. Requested by Chris! llvm-svn: 96223
* Reintroduce the InlineHint function attribute.Jakob Stoklund Olesen2010-02-061-0/+1
| | | | | | | | | | | | This time it's for real! I am going to hook this up in the frontends as well. The inliner has some experimental heuristics for dealing with the inline hint. When given a -respect-inlinehint option, functions marked with the inline keyword are given a threshold just above the default for -O3. We need some experiments to determine if that is the right thing to do. llvm-svn: 95466
* 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
* Kill ModuleProvider and ghost linkage by inverting the relationship betweenJeffrey Yasskin2010-01-271-2/+0
| | | | | | | | | | | | | | | | | | | | | Modules and ModuleProviders. Because the "ModuleProvider" simply materializes GlobalValues now, and doesn't provide modules, it's renamed to "GVMaterializer". Code that used to need a ModuleProvider to materialize Functions can now materialize the Functions directly. Functions no longer use a magic linkage to record that they're materializable; they simply ask the GVMaterializer. Because the C ABI must never change, we can't remove LLVMModuleProviderRef or the functions that refer to it. Instead, because Module now exposes the same functionality ModuleProvider used to, we store a Module* in any LLVMModuleProviderRef and translate in the wrapper methods. The bindings to other languages still use the ModuleProvider concept. It would probably be worth some time to update them to follow the C++ more closely, but I don't intend to do it. Fixes http://llvm.org/PR5737 and http://llvm.org/PR5735. llvm-svn: 94686
* Remove the InlineHint attribute. There are no current or plannedEric Christopher2010-01-151-1/+0
| | | | | | users. llvm-svn: 93558
* fix an obvious bug found by clang++ and collapse a redundant if.Chris Lattner2009-12-141-7/+6
| | | | | | | | | | | Here's the diagnostic from clang: /Volumes/Data/dgregor/Projects/llvm/lib/Target/CppBackend/CPPBackend.cpp:989:23: warning: 'gv' is always NULL in this context         printConstant(gv);                       ^ 1 diagnostic generated. llvm-svn: 91318
* rename indbr -> indirectbr to appease the residents of #llvm.Chris Lattner2009-10-281-3/+3
| | | | llvm-svn: 85351
* cppbackend support for indbrChris Lattner2009-10-271-3/+14
| | | | llvm-svn: 85312
* Remove FreeInst.Victor Hernandez2009-10-261-5/+0
| | | | | | | Remove LowerAllocations pass. Update some more passes to treate free calls just like they were treating FreeInst. llvm-svn: 85176
* Remove MallocInst from LLVM Instructions.Victor Hernandez2009-10-171-14/+0
| | | | llvm-svn: 84299
* CppBackend: avoid printing unnecessary whitespace.Benjamin Kramer2009-09-031-2/+2
| | | | llvm-svn: 80917
* Retype from unsigned to CallingConv::ID accordingly. Approved by Bob Wilson.Sandeep Patel2009-09-021-2/+2
| | | | llvm-svn: 80773
* Add an 'inline hint' attribute to represent sourceDale Johannesen2009-08-261-0/+1
| | | | | | | | code hints that it would be a good idea to inline a function ("inline" keyword). No functional change yet; FEs do not emit this and inliner does not use it. llvm-svn: 80063
* prune the #includes in raw_ostream.h by moving a Chris Lattner2009-08-241-0/+1
| | | | | | | member out of line. ftostr is not particularly speedy, so that method is presumably not perf sensitive. llvm-svn: 79885
* Remove Streams.h from the targets.Benjamin Kramer2009-08-231-3/+0
| | | | llvm-svn: 79853
* More cpp backend fixes. Now for FP stuff.Anton Korobeynikov2009-08-211-3/+3
| | | | llvm-svn: 79626
* Fixed error in CPPBackend from a contextification API change.Reid Kleckner2009-08-191-3/+4
| | | | llvm-svn: 79483
* Use the new API for creating an OpaqueType.Nicolas Geoffray2009-08-151-2/+4
| | | | llvm-svn: 79107
* Update cpp generation with new LLVM API for primitive types.Nicolas Geoffray2009-08-151-6/+7
| | | | llvm-svn: 79098
* Get the CPP backend into some semblance of working by updating for numerous ↵Owen Anderson2009-08-141-10/+14
| | | | | | | | LLVMContext changes, as well as the StringRef change. llvm-svn: 79006
* Push LLVMContexts through the IntegerType APIs.Owen Anderson2009-08-131-5/+7
| | | | llvm-svn: 78948
* Output the new StructType constructor, which takes the context of theNicolas Geoffray2009-08-061-0/+1
| | | | | | module as first argument. llvm-svn: 78340
* Remove an unnecessary flush in the CppBackend's output.Dan Gohman2009-08-051-1/+0
| | | | llvm-svn: 78138
* Remove now unused Module argument to createTargetMachine.Daniel Dunbar2009-08-041-1/+1
| | | | llvm-svn: 78043
* 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
* Add new helpers for registering targets.Daniel Dunbar2009-07-251-6/+5
| | | | | | - Less boilerplate == good. llvm-svn: 77052
* Simplify some uses of Value::getName()Daniel Dunbar2009-07-221-1/+4
| | | | llvm-svn: 76786
* 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
* Put Target definitions inside Target specific header, and llvm namespace.Daniel Dunbar2009-07-181-1/+0
| | | | llvm-svn: 76344
* 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-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | --- 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-2/+1
| | | | | | | | repair broken LLVM-GCC build. Will revert 75770 in the llvm-gcc trunk. llvm-svn: 75799
* 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
* Have asm printers use formatted_raw_ostream directly to avoid aDavid Greene2009-07-141-6/+6
| | | | | | dynamic_cast<>. llvm-svn: 75670
* llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable.Torok Edwin2009-07-141-2/+2
| | | | | | | | | This adds location info for all llvm_unreachable calls (which is a macro now) in !NDEBUG builds. In NDEBUG builds location info and the message is off (it only prints "UREACHABLE executed"). llvm-svn: 75640
* assert(0) -> LLVM_UNREACHABLE.Torok Edwin2009-07-111-2/+2
| | | | | | | | | Make llvm_unreachable take an optional string, thus moving the cerr<< out of line. LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for NDEBUG builds. llvm-svn: 75379
* Update for GlobalVariables ctor change.Owen Anderson2009-07-101-3/+2
| | | | llvm-svn: 75251
* Missed an exit during the conversion.Torok Edwin2009-07-081-2/+2
| | | | | | | Will convert assert(0) that don't have abort() to LLVM_UNREACHABLE in a later commit. llvm-svn: 75045
* Escape the name of the module since it comes from the file name and may includeNick Lewycky2009-06-261-2/+6
| | | | | | invalid characters like backslashes on Windows. Patch by James Abbatiello! llvm-svn: 74265
OpenPOWER on IntegriCloud