summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix new CodeEmitter stuff to follow LLVM codying style. Patch by Aaron GrayBruno Cardoso Lopes2009-06-011-2/+4
| | | | llvm-svn: 72697
* First patch in the direction of splitting MachineCodeEmitter in two subclasses:Bruno Cardoso Lopes2009-05-301-0/+47
| | | | | | 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-6/+9
| | | | | | | which better identifies what the optimization is doing. And is more flexible for future uses. llvm-svn: 70440
* Second attempt:Bill Wendling2009-04-291-9/+11
| | | | | | | | | | | | 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-11/+9
| | | | llvm-svn: 70275
* Massive check in. This changes the "-fast" flag to "-O#" in llc. If you want toBill Wendling2009-04-281-9/+11
| | | | | | | | | | | 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-4/+4
| | | | | | default to verbose. llvm-svn: 67668
* Overhaul my earlier submission due to feedback. It's a large patch, but most ofBill Wendling2009-02-241-3/+3
| | | | | | | | | | | | 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
* Adds extern "C" ints to the .cpp files that use RegisterTarget, asOscar Fuentes2008-11-151-0/+8
| | | | | | | | | | | well as 2 files that use "Registrator"s. These are to be used by the MSVC builds, as the Win32 linker does not include libs that are otherwise unreferenced, even if global constructors in the lib have side-effects. Patch by Scott Graham! llvm-svn: 59378
* Fix command-line option printing to print two spaces where needed,Dan Gohman2008-10-141-2/+2
| | | | | | | | | instead of requiring all "short description" strings to begin with two spaces. This makes these strings less mysterious, and it fixes some cases where short description strings mistakenly did not begin with two spaces. llvm-svn: 57521
* Use raw_ostream throughout the AsmPrinter.Owen Anderson2008-08-211-3/+4
| | | | llvm-svn: 55092
* Factor out asmprinter out of ppcAnton Korobeynikov2008-08-171-5/+19
| | | | llvm-svn: 54887
* Add a flag to disable jump table generation (allDale Johannesen2008-07-311-0/+4
| | | | | | | | switches use the binary search algorithm) for environments that don't support it. PPC64 JIT is such an environment; turn the flag on for that. llvm-svn: 54248
* Unbreak build: 'DarwinTargetAsmInfo' was already taken as PPC TAI flavour.Anton Korobeynikov2008-07-191-2/+2
| | | | llvm-svn: 53801
* Clean up the use of static and anonymous namespaces. This turned upDan Gohman2008-05-131-7/+5
| | | | | | | several things that were neither in an anonymous namespace nor static but not intended to be global. llvm-svn: 51017
* 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
* Remove bunch of gcc 4.3-related warnings from TargetAnton Korobeynikov2008-02-201-1/+2
| | | | llvm-svn: 47369
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Remove meaningless qualifiers from return types, avoiding compiler warnings.Dan Gohman2007-11-191-1/+1
| | | | llvm-svn: 44240
* Added -print-emitted-asm to print out JIT generated asm to cerr.Evan Cheng2007-07-201-2/+6
| | | | llvm-svn: 40123
* The various "getModuleMatchQuality" implementations should returnChris Lattner2007-07-091-0/+3
| | | | | | zero if they see a target triple they don't understand. llvm-svn: 38463
* name change requested by review of previous patchDale Johannesen2007-05-221-1/+1
| | | | llvm-svn: 37289
* Make tail merging the default, except on powerPC. There was no prior artDale Johannesen2007-05-221-0/+4
| | | | | | | for a target-dependent default with a command-line override; this way should be generally usable. llvm-svn: 37285
* Improve JIT support for linux/ppc: Patch by Nicolas Geoffray!Chris Lattner2007-02-251-2/+2
| | | | llvm-svn: 34572
* Moved the MachOWriter and ELFWriter out of the Target/* files. Placed theBill Wendling2007-02-081-10/+6
| | | | | | | | 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
* Add a field for and construction of the PPCMachOWriterInfo object.Bill Wendling2007-01-241-1/+1
| | | | llvm-svn: 33480
* Revert patch.Bill Wendling2007-01-171-5/+0
| | | | llvm-svn: 33298
* Create the specified TargetObjInfo and use it.Bill Wendling2007-01-171-0/+5
| | | | llvm-svn: 33291
* Disable the macho writer until it is 100% functional. Enabling it whenChris Lattner2007-01-061-0/+3
| | | | | | broken invites bug reports. llvm-svn: 32961
* Changes from Nick Lewycky with a simplified PPCTargetAsmInfo.Jim Laskey2006-12-211-2/+5
| | | | llvm-svn: 32735
* Another step forward in PPC64 JIT support: we now no-longer need stubsChris Lattner2006-12-111-1/+4
| | | | | | | | | | emitted for external globals in PPC64-JIT-PIC mode (which is good because we didn't handle them before!). This also fixes a bug handling the picbase delta, which we would get wrong in some cases. llvm-svn: 32451
* this is an initial patch to switch the ppc64 jit over to working in PIC mode,Chris Lattner2006-12-081-2/+10
| | | | | | | | which allows the code to be above the 2G marker. We still need to JIT emit dyld stubs to support external, weak, common, etc globals, but that will happen tomorrow. llvm-svn: 32348
* make sure to safe LR8 in the right stack slot for PPC64Chris Lattner2006-11-181-1/+1
| | | | llvm-svn: 31839
* The DarwinAsmPrinter need not check for isDarwin. createPPCAsmPrinterPassChris Lattner2006-09-201-1/+1
| | | | | | should create the right asmprinter subclass. llvm-svn: 30542
* We actually do support object file writing, so don't return true (error)Nate Begeman2006-09-081-3/+1
| | | | llvm-svn: 30173
* 1. Remove condition on delete.Jim Laskey2006-09-071-0/+5
| | | | | | | | 2. Protect and outline createTargetAsmInfo. 3. Misc. kruft. llvm-svn: 30169
* Separate target specific asm properties from the asm printers.Jim Laskey2006-09-061-1/+1
| | | | llvm-svn: 30126
* Completely rearchitect the interface between targets and the pass manager.Chris Lattner2006-09-041-90/+29
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Simplify target construction.Chris Lattner2006-09-031-1/+1
| | | | llvm-svn: 30070
* Make ppc64 jit kinda work right. About 2/3 of Olden passes with this,Nate Begeman2006-08-291-1/+1
| | | | | | there are clearly some encoding bugs lurking in there somewhere. llvm-svn: 29949
* Initial checkin of the Mach-O emitter. There's plenty of fixmes, but itNate Begeman2006-08-231-4/+22
| | | | | | does emit linkable .o files in very simple cases. llvm-svn: 29850
* Rename RelocModel::PIC to PIC_, to avoid conflicts with -DPIC.Chris Lattner2006-07-261-1/+1
| | | | llvm-svn: 29307
* Remove what little AIX support we have. It has never been tested and isn'tChris Lattner2006-07-151-6/+1
| | | | | | complete. llvm-svn: 29156
* An overaggressive #ifdef allows a function to fall off the bottom of theChris Lattner2006-07-121-2/+1
| | | | | | | function instead of returning a value. This sometimes allowed the ppc32 jit to be used in 64-bit mode. llvm-svn: 29123
* Undisable ppc64 jitChris Lattner2006-07-061-1/+1
| | | | llvm-svn: 29011
* Implement the getPointerRegClass method, which is required for the ptr_rcChris Lattner2006-06-171-1/+1
| | | | | | magic to work. llvm-svn: 28847
* Remove the -darwin and -aix llc options, inferring darwinism and aixism fromChris Lattner2006-06-161-11/+2
| | | | | | the target triple & subtarget info. woo. llvm-svn: 28835
* Don't pass target name into TargetData anymore, it is never used or needed.Chris Lattner2006-06-161-2/+1
| | | | | | | Remove explicit casts to std::string now that there is no overload resolution issues in the TargetData ctors. llvm-svn: 28830
* First baby step towards ppc64 support. This adds a new -march=ppc64 backendChris Lattner2006-06-161-10/+49
| | | | | | that is currently just like ppc32 :) llvm-svn: 28813
* Make TargetData strings less redundant.Owen Anderson2006-05-201-1/+1
| | | | llvm-svn: 28423
OpenPOWER on IntegriCloud