summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86TargetMachine.cpp
Commit message (Collapse)AuthorAgeFilesLines
* X86CodeEmitter should not set PIC style to None at initialization time. This ↵Evan Cheng2008-05-221-3/+1
| | | | | | will break codegen if relocation model is changed to PIC_ later. llvm-svn: 51455
* 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
* Be over-conservative: scan for all used virtual registers and calculate ↵Anton Korobeynikov2008-04-231-0/+2
| | | | | | maximal stack alignment in assumption, that there will be spill of vector register. llvm-svn: 50167
* Add X86 Maximal Stack Alignment Calculator Pass before RAAnton Korobeynikov2008-04-231-0/+5
| | | | llvm-svn: 50166
* Provide a JIT selector on win64Anton Korobeynikov2008-03-231-1/+1
| | | | llvm-svn: 48704
* Hack out the PIC mode on Win64 targets. This needs to be investigated later.Anton Korobeynikov2008-03-231-1/+3
| | | | llvm-svn: 48703
* 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-7/+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/+7
| | | | | | 16-byte boundaries. llvm-svn: 47703
* Remove bunch of gcc 4.3-related warnings from TargetAnton Korobeynikov2008-02-201-3/+5
| | | | llvm-svn: 47369
* Minor fix to enable x86-64 pic jit (still fails for other reasons).Evan Cheng2008-01-081-2/+3
| | | | llvm-svn: 45734
* 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-1/+3
| | | | llvm-svn: 45313
* Oops.Evan Cheng2007-12-221-2/+1
| | | | llvm-svn: 45312
* Allow JIT with non-static relocation model.Evan Cheng2007-12-221-1/+2
| | | | llvm-svn: 45304
* Move lengthy conditional down 1 level per review comment.Dale Johannesen2007-08-061-5/+1
| | | | llvm-svn: 40878
* Make x86 long double alignment 32 for everything butDale Johannesen2007-08-031-1/+3
| | | | | | Darwin (which makes size within a struct==96) llvm-svn: 40796
* long double patch 2 of N. Handle it in TargetData.Dale Johannesen2007-08-031-2/+2
| | | | | | | (I've tried to get the info right for all targets, but I'm not expert on all of them - check yours.) llvm-svn: 40792
* Added -print-emitted-asm to print out JIT generated asm to cerr.Evan Cheng2007-07-201-2/+7
| | | | llvm-svn: 40123
* The various "getModuleMatchQuality" implementations should returnChris Lattner2007-07-091-0/+5
| | | | | | zero if they see a target triple they don't understand. llvm-svn: 38463
* 80 col. violation.Evan Cheng2007-02-231-1/+2
| | | | llvm-svn: 34520
* Generalize TargetData strings, to support more interesting forms of data.Chris Lattner2007-02-141-2/+2
| | | | | | Patch by Scott Michel. llvm-svn: 34266
* Moved the MachOWriter and ELFWriter out of the Target/* files. Placed theBill Wendling2007-02-081-9/+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
* Double and long preferred alignment is 8 byte.Evan Cheng2007-01-221-2/+2
| | | | llvm-svn: 33446
* Teach TargetData to handle 'preferred' alignment for each target, and useChris Lattner2007-01-201-2/+2
| | | | | | these alignment amounts to align scalars when we can. Patch by Scott Michel! llvm-svn: 33409
* - Target PIC style is no longer affected by relocation model.Evan Cheng2007-01-181-15/+9
| | | | | | | | - In x86-64 mode, symbols with external linkage (not just symbols which are defined externally) requires GOT indirect reference. - Stylistic code clean up. llvm-svn: 33345
* 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
* * PIC codegen for X86/Linux has been implementedAnton Korobeynikov2007-01-121-0/+21
| | | | | | | | * PIC-aware internal structures in X86 Codegen have been refactored * Visibility (default/weak) has been added * Docs fixes (external weak linkage, visibility, formatting) llvm-svn: 33136
* Really big cleanup.Anton Korobeynikov2007-01-031-1/+1
| | | | | | | | | | | - New target type "mingw" was introduced - Same things for both mingw & cygwin are marked as "cygming" (as in gcc) - .lcomm is supported here, so allow LLVM to use it - Correctly use underscored versions of setjmp & _longjmp for both mingw & cygwin llvm-svn: 32833
* Refactored JIT codegen for mingw32. Now we're using standart relocationAnton Korobeynikov2006-12-221-4/+1
| | | | | | type for distinguish JIT & non-JIT instead of "dirty" hacks :) llvm-svn: 32745
* Fixed dllimported symbols support during JIT'ing. JIT on mingw32Anton Korobeynikov2006-12-201-0/+3
| | | | | | | platform should be more or less workable. At least, sim is running fine under lli :) llvm-svn: 32711
* The x86-64 target machine should be used for amd64-* target triples.Chris Lattner2006-12-191-0/+5
| | | | llvm-svn: 32678
* - Switch X86-64 JIT to large code size model.Evan Cheng2006-12-051-0/+3
| | | | | | | - Re-enable some codegen niceties for X86-64 static relocation model codegen. - Clean ups, etc. llvm-svn: 32238
* Non-darwin gcc should default to static relocation to match gcc.Evan Cheng2006-12-041-1/+1
| | | | llvm-svn: 32184
* Removed even more std::cerr and #include <iostream> things.Bill Wendling2006-11-171-1/+0
| | | | llvm-svn: 31813
* Committing X86-64 support.Evan Cheng2006-09-081-7/+53
| | | | llvm-svn: 30177
* 1. Remove condition on delete.Jim Laskey2006-09-071-0/+5
| | | | | | | | 2. Protect and outline createTargetAsmInfo. 3. Misc. kruft. llvm-svn: 30169
* Fix some X86 JIT failures. This should really come from TargetJITInfo.Chris Lattner2006-09-041-0/+3
| | | | llvm-svn: 30102
* Completely rearchitect the interface between targets and the pass manager.Chris Lattner2006-09-041-110/+22
| | | | | | | | | | | | | | | | | | | | | | | | 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-3/+1
| | | | llvm-svn: 30070
* - Enable x86 isel preprocessing by default unless -fast is specified.Evan Cheng2006-08-291-2/+2
| | | | | | - Also disable isel load folding if -fast. llvm-svn: 29956
* Initial checkin of the Mach-O emitter. There's plenty of fixmes, but itNate Begeman2006-08-231-1/+1
| | | | | | does emit linkable .o files in very simple cases. llvm-svn: 29850
* Disable LSR at -fastNate Begeman2006-08-021-1/+1
| | | | llvm-svn: 29467
* Rename RelocModel::PIC to PIC_, to avoid conflicts with -DPIC.Chris Lattner2006-07-261-1/+1
| | | | llvm-svn: 29307
* - Refactor the code that resolve basic block references to a TargetJITInfoEvan Cheng2006-07-251-1/+1
| | | | | | | | | | method. - Added synchronizeICache() to TargetJITInfo. It is called after each block of code is emitted to flush the icache. This ensures correct execution on targets that have separate dcache and icache. - Added PPC / Mac OS X specific code to do icache flushing. llvm-svn: 29276
* Don't pass target name into TargetData anymore, it is never used or needed.Chris Lattner2006-06-161-1/+1
| | | | | | | Remove explicit casts to std::string now that there is no overload resolution issues in the TargetData ctors. llvm-svn: 28830
* Fix a build breaker.Evan Cheng2006-05-301-2/+2
| | | | llvm-svn: 28574
* Make TargetData strings less redundant.Owen Anderson2006-05-201-1/+1
| | | | llvm-svn: 28423
* Make all of the TargetMachine subclasses use the new string TargetData methods.Owen Anderson2006-05-201-1/+1
| | | | | | This is part of the on-going work on PR 761. llvm-svn: 28414
OpenPOWER on IntegriCloud