summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/CppBackend
Commit message (Collapse)AuthorAgeFilesLines
* 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-282-2/+4
| | | | | | 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
* make -fno-rtti the default unless a directory builds with REQUIRES_RTTI.Chris Lattner2010-01-242-3/+0
| | | | llvm-svn: 94378
* Stop building RTTI information for *most* llvm libraries. NotableChris Lattner2010-01-222-0/+2
| | | | | | | | | | | missing ones are libsupport, libsystem and libvmcore. libvmcore is currently blocked on bugpoint, which uses EH. Once it stops using EH, we can switch it off. This #if 0's out 3 unit tests, because gtest requires RTTI information. Suggestions welcome on how to fix this. llvm-svn: 94164
* 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-042-5/+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
* 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
* Kill Target specific ModuleMatchQuality stuff.Daniel Dunbar2009-07-261-7/+1
| | | | | | - This was overkill and inconsistently implemented. llvm-svn: 77114
* 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/+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
* 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-183-2/+3
| | | | 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-152-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | --- 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-4/+6
| | | | | | | | 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-3/+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
* 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
OpenPOWER on IntegriCloud