summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86TargetMachine.h
Commit message (Collapse)AuthorAgeFilesLines
...
* simplify some code and eliminate the symbolicAddressesAreRIPRel() predicate.Chris Lattner2009-06-271-6/+0
| | | | llvm-svn: 74377
* First patch in the direction of splitting MachineCodeEmitter in two subclasses:Bruno Cardoso Lopes2009-05-301-0/+5
| | | | | | JITCodeEmitter and ObjectCodeEmitter. No functional changes yet. Patch by Aaron Gray llvm-svn: 72631
* Instead of passing in an unsigned value for the optimization level, use an enum,Bill Wendling2009-04-291-7/+10
| | | | | | | which better identifies what the optimization is doing. And is more flexible for future uses. llvm-svn: 70440
* Second attempt:Bill Wendling2009-04-291-7/+7
| | | | | | | | | | | | Massive check in. This changes the "-fast" flag to "-O#" in llc. If you want to use the old behavior, the flag is -O0. This change allows for finer-grained control over which optimizations are run at different -O levels. Most of this work was pretty mechanical. The majority of the fixes came from verifying that a "fast" variable wasn't used anymore. The JIT still uses a "Fast" flag. I'll change the JIT with a follow-up patch. llvm-svn: 70343
* r70270 isn't ready yet. Back this out. Sorry for the noise.Bill Wendling2009-04-281-7/+7
| | | | llvm-svn: 70275
* Massive check in. This changes the "-fast" flag to "-O#" in llc. If you want toBill Wendling2009-04-281-7/+7
| | | | | | | | | | | use the old behavior, the flag is -O0. This change allows for finer-grained control over which optimizations are run at different -O levels. Most of this work was pretty mechanical. The majority of the fixes came from verifying that a "fast" variable wasn't used anymore. The JIT still uses a "Fast" flag. I'm not 100% sure if it's necessary to change it there... llvm-svn: 70270
* CodeGen still defaults to non-verbose asm, but llc now overrides it and ↵Evan Cheng2009-03-251-2/+2
| | | | | | default to verbose. llvm-svn: 67668
* Overhaul my earlier submission due to feedback. It's a large patch, but most ofBill Wendling2009-02-241-1/+2
| | | | | | | | | | | | them are generic changes. - Use the "fast" flag that's already being passed into the asm printers instead of shoving it into the DwarfWriter. - Instead of calling "MI->getParent()->getParent()" for every MI, set the machine function when calling "runOnMachineFunction" in the asm printers. llvm-svn: 65379
* Use doxygen comment syntax.Dan Gohman2009-02-091-4/+4
| | | | llvm-svn: 64150
* Factor out the code for determining when symblic addressesDan Gohman2008-09-261-0/+6
| | | | | | | | | require RIP-relative addressing and use it to fix a bug in X86FastISel in x86-64 PIC mode, where it was trying to use base/index registers with RIP-relative addresses. This fixes a bunch of x86-64 testsuite failures. llvm-svn: 56676
* Use raw_ostream throughout the AsmPrinter.Owen Anderson2008-08-211-2/+4
| | | | llvm-svn: 55092
* Move X86 assembler printers into separate directory. This allows JIT-only ↵Anton Korobeynikov2008-08-171-2/+12
| | | | | | users not to link it in (use 'x86codegen' llvm-config arg for this) llvm-svn: 54886
* Change target-specific classes to use more precise static types.Dan Gohman2008-05-141-3/+3
| | | | | | | This eliminates the need for several awkward casts, including the last dynamic_cast under lib/Target. llvm-svn: 51091
* Add X86 Maximal Stack Alignment Calculator Pass before RAAnton Korobeynikov2008-04-231-1/+2
| | | | llvm-svn: 50166
* Use PassManagerBase instead of FunctionPassManager for functionsDan Gohman2008-03-111-5/+5
| | | | | | | | that merely add passes. This allows them to be used with either FunctionPassManager or PassManager, or even with a custom new kind of pass manager. llvm-svn: 48256
* Added option -align-loops=<true/false> to disable loop aligner pass.Evan Cheng2008-02-281-1/+0
| | | | llvm-svn: 47736
* Add a quick and dirty "loop aligner pass". x86 uses it to align its loops to ↵Evan Cheng2008-02-281-0/+1
| | | | | | 16-byte boundaries. llvm-svn: 47703
* Rename MRegisterInfo to TargetRegisterInfo.Dan Gohman2008-02-101-1/+1
| | | | llvm-svn: 46930
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Preliminary PIC JIT support for X86 (32-bit) / Darwin.Evan Cheng2007-12-221-0/+1
| | | | llvm-svn: 45313
* Added -print-emitted-asm to print out JIT generated asm to cerr.Evan Cheng2007-07-201-2/+2
| | | | llvm-svn: 40123
* Moved the MachOWriter and ELFWriter out of the Target/* files. Placed theBill Wendling2007-02-081-4/+3
| | | | | | | | definition of it into the CodeGen library. This is so that a backend doesn't necessarily add in these writers if it doesn't use them (like in the lli program). llvm-svn: 34034
* Return an X86ELFWriterInfo object.Bill Wendling2007-01-271-1/+6
| | | | llvm-svn: 33574
* Revert patch.Bill Wendling2007-01-171-1/+0
| | | | llvm-svn: 33298
* Create the specified TargetObjInfo and use it.Bill Wendling2007-01-171-0/+1
| | | | llvm-svn: 33291
* Committing X86-64 support.Evan Cheng2006-09-081-1/+23
| | | | llvm-svn: 30177
* 1. Remove condition on delete.Jim Laskey2006-09-071-5/+4
| | | | | | | | 2. Protect and outline createTargetAsmInfo. 3. Misc. kruft. llvm-svn: 30169
* Make target asm info a property of the target machine.Jim Laskey2006-09-071-0/+4
| | | | llvm-svn: 30162
* Completely rearchitect the interface between targets and the pass manager.Chris Lattner2006-09-041-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | 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. llvm-svn: 30081
* Fix a build breaker.Evan Cheng2006-05-301-2/+2
| | | | llvm-svn: 28574
* More coverity fixesChris Lattner2006-05-121-1/+3
| | | | llvm-svn: 28266
* Refactor a bunch of includes so that TargetMachine.h doesn't have to includeOwen Anderson2006-05-121-0/+1
| | | | | | | TargetData.h. This should make recompiles a bit faster with my current TargetData tinkering. llvm-svn: 28238
* Refactor TargetMachine, pushing handling of TargetData into the ↵Owen Anderson2006-05-031-0/+2
| | | | | | | | target-specific subclasses. This has one caller-visible change: getTargetData() now returns a pointer instead of a reference. This fixes PR 759. llvm-svn: 28074
* Eliminate IntrinsicLowering from TargetMachine.Chris Lattner2006-03-231-3/+1
| | | | | | Make the CBE and V9 backends create their own, since they're the only ones that use it. llvm-svn: 26974
* Added getTargetLowering() to TargetMachine. Refactored targets to support this.Evan Cheng2006-03-131-4/+8
| | | | llvm-svn: 26742
* Add a new option to indicate we want the code generator to emit code ↵Chris Lattner2005-11-081-7/+1
| | | | | | quickly,not spending tons of time microoptimizing it. This is useful for an -O0style of build. llvm-svn: 24233
* 1. Use SubtargetFeatures in llc/lli.Jim Laskey2005-09-011-1/+2
| | | | | | | | 2. Propagate feature "string" to all targets. 3. Implement use of SubtargetFeatures in PowerPCTargetSubtarget. llvm-svn: 23192
* Implement Subtarget supportNate Begeman2005-07-121-0/+3
| | | | | | | | | | | | | | | | 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. llvm-svn: 22389
* Refactor the addPassesToEmitAssembly interface into a addPassesToEmitFileChris Lattner2005-06-251-1/+2
| | | | | | interface. llvm-svn: 22282
* * Remove trailing whitespaceMisha Brukman2005-04-211-4/+4
| | | | | | * Convert tabs to spaces llvm-svn: 21426
* Remove a dead function, which died when we got GAS emission working (phwew,Chris Lattner2004-11-161-8/+0
| | | | | | hold your nose!) llvm-svn: 17869
* Auto-registrate targetChris Lattner2004-07-111-0/+3
| | | | llvm-svn: 14745
* Convert to the new TargetMachine interface.Chris Lattner2004-06-021-6/+2
| | | | llvm-svn: 13952
* Add emitInstruction() API so that we can get the bytes of a simple instructionAlkis Evlogimenos2004-03-091-0/+7
| | | | llvm-svn: 12252
* TargetCacheInfo has been removed; its only uses were to propagate a constantBrian Gaeke2004-03-011-9/+5
| | | | | | | | | (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. llvm-svn: 12043
* Clean up a lot of the code I added yesterday by exposing the IntrinsicLoweringChris Lattner2003-12-281-2/+0
| | | | | | implementation from the TargetMachine directly. llvm-svn: 10636
* implement support for the intrinsic lowering functionalityChris Lattner2003-12-281-1/+4
| | | | llvm-svn: 10629
* Rip JIT specific stuff out of TargetMachine, as per PR176Chris Lattner2003-12-201-15/+8
| | | | llvm-svn: 10542
* Implement the TargetMachine::getJITStubForFunction method for X86, finegrainifyChris Lattner2003-12-121-0/+6
| | | | | | namespacification. llvm-svn: 10430
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-0/+4
| | | | llvm-svn: 9903
OpenPOWER on IntegriCloud