aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Target/TargetMachine.h
Commit message (Collapse)AuthorAgeFilesLines
* Fix the comments for the 'fast' parameter in addPassesToEmitFile.Dan Gohman2007-07-301-4/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40592 91177308-0d34-0410-b5e6-96231b3b80d8
* Added -print-emitted-asm to print out JIT generated asm to cerr.Evan Cheng2007-07-201-4/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40123 91177308-0d34-0410-b5e6-96231b3b80d8
* Make stable_sort in tail merging actually be stable (it never was, but didn'tDale Johannesen2007-05-291-2/+2
| | | | | | | matter until my last change). Reenable tail merging by default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37354 91177308-0d34-0410-b5e6-96231b3b80d8
* Disable Tail Merging for now.Devang Patel2007-05-251-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37329 91177308-0d34-0410-b5e6-96231b3b80d8
* name change requested by review of previous patchDale Johannesen2007-05-221-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37289 91177308-0d34-0410-b5e6-96231b3b80d8
* Make tail merging the default, except on powerPC. There was no prior artDale Johannesen2007-05-221-0/+8
| | | | | | | | for a target-dependent default with a command-line override; this way should be generally usable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37285 91177308-0d34-0410-b5e6-96231b3b80d8
* Added new method to finish up the addition of passes to emit files. ThisBill Wendling2007-02-081-23/+52
| | | | | | | | | allows us to split that method into two so that we can optionally call a concrete function to add a writer. Removed moribund addObjectWriter() method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34030 91177308-0d34-0410-b5e6-96231b3b80d8
* Accessor for the TargetELFWriterInfo class object.Bill Wendling2007-01-271-1/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33572 91177308-0d34-0410-b5e6-96231b3b80d8
* A virtual method to return the TargetMachOWriterInfo object. This returnsBill Wendling2007-01-241-0/+6
| | | | | | | a real value in derived classes, of course. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33477 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert patch.Bill Wendling2007-01-171-18/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33298 91177308-0d34-0410-b5e6-96231b3b80d8
* The TargetObjInfo object goes here.Bill Wendling2007-01-171-3/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33288 91177308-0d34-0410-b5e6-96231b3b80d8
* 1. Remove condition on delete.Jim Laskey2006-09-071-4/+4
| | | | | | | | | 2. Protect and outline createTargetAsmInfo. 3. Misc. kruft. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30169 91177308-0d34-0410-b5e6-96231b3b80d8
* Make target asm info a property of the target machine.Jim Laskey2006-09-071-1/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30162 91177308-0d34-0410-b5e6-96231b3b80d8
* Completely rearchitect the interface between targets and the pass manager.Chris Lattner2006-09-041-6/+96
| | | | | | | | | | | | | | | | | | | | | | | | | This pass: 1. Splits TargetMachine into TargetMachine (generic targets, can be implemented any way, like the CBE) and LLVMTargetMachine (subclass of TM that is used by things using libcodegen and other support). 2. Instead of having each target fully populate the passmgr for file or JIT output, move all this to common code, and give targets hooks they can implement. 3. Commonalize the target population stuff between file emission and JIT emission. 4. All (native code) codegen stuff now happens in a FunctionPassManager, which paves the way for "fast -O0" stuff in the CFE later, and now LLC could lazily stream .bc files from disk to use less memory. 5. There are now many fewer #includes and the targets don't depend on the scalar xforms or libanalysis anymore (but codegen does). 6. Changing common code generator pass ordering stuff no longer requires touching all targets. 7. The JIT now has the option of "-fast" codegen or normal optimized codegen, which is now orthogonal to the fact that JIT'ing is being done. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30081 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate target name.Chris Lattner2006-09-031-14/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30071 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename RelocModel::PIC to PIC_, to avoid conflicts with -DPIC.Chris Lattner2006-07-261-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29307 91177308-0d34-0410-b5e6-96231b3b80d8
* Added option -code-model to set code model (only used in 64-bit) mode. ValidEvan Cheng2006-07-061-0/+18
| | | | | | | values include small, kernel, medium, large, and default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29009 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor a bunch of includes so that TargetMachine.h doesn't have to includeOwen Anderson2006-05-121-1/+3
| | | | | | | | TargetData.h. This should make recompiles a bit faster with my current TargetData tinkering. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28238 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor TargetMachine, pushing handling of TargetData into the ↵Owen Anderson2006-05-031-10/+2
| | | | | | | | | target-specific subclasses. This has one caller-visible change: getTargetData() now returns a pointer instead of a reference. This fixes PR 759. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28074 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove some obsolete interfacesChris Lattner2006-04-201-6/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27896 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate IntrinsicLowering from TargetMachine.Chris Lattner2006-03-231-14/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26973 91177308-0d34-0410-b5e6-96231b3b80d8
* Added getTargetLowering() - returns DAG lowering info.Evan Cheng2006-03-131-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26739 91177308-0d34-0410-b5e6-96231b3b80d8
* - Added option -relocation-model to set relocation model. Valid values ↵Evan Cheng2006-02-221-0/+17
| | | | | | | | | | | include static, pic, dynamic-no-pic, and default. PPC and x86 default is dynamic-no-pic for Darwin, pic for others. - Removed options -enable-pic and -ppc-static. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26315 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new option to indicate we want the code generator to emit code quickly,Chris Lattner2005-11-081-3/+4
| | | | | | | | not spending tons of time microoptimizing it. This is useful for an -O0 style of build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24235 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow itineraries to be passed through the Target Machine.Jim Laskey2005-11-011-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24139 91177308-0d34-0410-b5e6-96231b3b80d8
* Since getSubtarget() always provides a const Subtarget, dont' require the userChris Lattner2005-08-051-3/+3
| | | | | | | | to pass it in. Also, since it always returns a non-null pointer, make it return a reference instead for easier use. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22686 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate tabs and trailing spaces.Jeff Cohen2005-07-271-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22520 91177308-0d34-0410-b5e6-96231b3b80d8
* Clean up and add comments to the newly implemented subtarget code.Nate Begeman2005-07-121-3/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22396 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement Subtarget supportNate Begeman2005-07-121-0/+8
| | | | | | | | | | | | | | | | | Implement the X86 Subtarget. This consolidates the checks for target triple, and setting options based on target triple into one place. This allows us to convert the asm printer and isel over from being littered with "forDarwin", "forCygwin", etc. into just having the appropriate flags for each subtarget feature controlling the code for that feature. This patch also implements indirect external and weak references in the X86 pattern isel, for darwin. Next up is to convert over the asm printers to use this new interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22389 91177308-0d34-0410-b5e6-96231b3b80d8
* add some new file typesChris Lattner2005-06-251-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22286 91177308-0d34-0410-b5e6-96231b3b80d8
* refactor these interfaces a bitChris Lattner2005-06-251-5/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22281 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove trailing whitespaceMisha Brukman2005-04-211-8/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21412 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new constructor.Misha Brukman2004-08-101-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15632 91177308-0d34-0410-b5e6-96231b3b80d8
* * Add a BoolAlignment field to TargetData, default is 1 byteMisha Brukman2004-07-231-1/+2
| | | | | | | * Fix spacing git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15119 91177308-0d34-0410-b5e6-96231b3b80d8
* Add two new "virtual static" methods to the TargetMachine classChris Lattner2004-07-111-0/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14741 91177308-0d34-0410-b5e6-96231b3b80d8
* * Doxygenify commentsMisha Brukman2004-07-011-11/+13
| | | | | | | * Tabs-to-spaces git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14549 91177308-0d34-0410-b5e6-96231b3b80d8
* Collapse together the abstract superclass TargetRegInfo and SparcV9RegInfo, itsBrian Gaeke2004-06-031-2/+2
| | | | | | | only concrete implementation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13977 91177308-0d34-0410-b5e6-96231b3b80d8
* Delete the V9 specific findOptimalStorageSize method, inlining it into all ↵Chris Lattner2004-06-021-12/+6
| | | | | | | | | | | callers. Substantially clean up all target implementations by having the OPTIONAL get*Info methods return a pointer instead of a reference. This allows us to have default implementations! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13950 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new constructorChris Lattner2004-03-031-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12087 91177308-0d34-0410-b5e6-96231b3b80d8
* TargetCacheInfo has been removed; its only uses were to propagate a constantBrian Gaeke2004-03-011-2/+0
| | | | | | | | | | (16) into certain areas of the SPARC V9 back-end. I'm fairly sure the US IIIi's dcache has 32-byte lines, so I'm not sure where the 16 came from. However, in the interest of not breaking things any more than they already are, I'm going to leave the constant alone. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12043 91177308-0d34-0410-b5e6-96231b3b80d8
* Clean up a lot of the code I added yesterday by exposing the IntrinsicLoweringChris Lattner2003-12-281-8/+12
| | | | | | | implementation from the TargetMachine directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10636 91177308-0d34-0410-b5e6-96231b3b80d8
* Rip JIT specific stuff out of TargetMachine, as per PR176Chris Lattner2003-12-201-25/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10542 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new getJITStubForFunction method, which may optionally be implemented byChris Lattner2003-12-121-2/+11
| | | | | | | targets for better performance. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10429 91177308-0d34-0410-b5e6-96231b3b80d8
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
* Added LLVM copyright header (for lack of a better term).John Criswell2003-10-201-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9304 91177308-0d34-0410-b5e6-96231b3b80d8
* Make replaceMachineCodeForFunction return void.Brian Gaeke2003-10-201-4/+6
| | | | | | | Make it assert by default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9287 91177308-0d34-0410-b5e6-96231b3b80d8
* Add stub version of replaceMachineCodeForFunction. It will live here untilBrian Gaeke2003-10-171-0/+8
| | | | | | | we have a better place for it to go. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9197 91177308-0d34-0410-b5e6-96231b3b80d8
* Standardize header file commentsChris Lattner2003-09-301-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8782 91177308-0d34-0410-b5e6-96231b3b80d8
* No longer require an OptInfoChris Lattner2003-09-011-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8310 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove extraneous #includeChris Lattner2003-08-151-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7881 91177308-0d34-0410-b5e6-96231b3b80d8