aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/X86/X86Subtarget.h
Commit message (Collapse)AuthorAgeFilesLines
* Make ARM an X86 memcpy expansion more similar to each other.Rafael Espindola2007-10-311-7/+5
| | | | | | | | | | Now both subtarget define getMaxInlineSizeThreshold and the expansion uses it. This should not change generated code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43552 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for having different alignment for objects on call frames.Rafael Espindola2007-09-071-1/+1
| | | | | | | | The x86-64 ABI states that objects passed on the stack have 8 byte alignment. Implement that. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41768 91177308-0d34-0410-b5e6-96231b3b80d8
* Mac OS X X86-64 ABI is same as the standard.Evan Cheng2007-09-041-6/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41700 91177308-0d34-0410-b5e6-96231b3b80d8
* Align i64 and f64 at 8 byte on x86-64.Rafael Espindola2007-08-311-6/+12
| | | | | | | | | This is mandated table 3.1 at http://www.x86-64.org/documentation/abi.pdf git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41642 91177308-0d34-0410-b5e6-96231b3b80d8
* Replace 4-line function with 10-line version per review comment.Dale Johannesen2007-08-061-4/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40881 91177308-0d34-0410-b5e6-96231b3b80d8
* Move lengthy conditional down 1 level per review comment.Dale Johannesen2007-08-061-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40878 91177308-0d34-0410-b5e6-96231b3b80d8
* Mac OS X X86-64 low 4G address not available.Evan Cheng2007-08-011-0/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40701 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for our first SSSE3 instruction "pmulhrsw".Bill Wendling2007-04-101-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35869 91177308-0d34-0410-b5e6-96231b3b80d8
* document some subtletyChris Lattner2007-01-161-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33257 91177308-0d34-0410-b5e6-96231b3b80d8
* Instead of yet another enum indicating the "assembly language flavor",Bill Wendling2007-01-161-0/+4
| | | | | | | just use the one that's in the subtarget. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33255 91177308-0d34-0410-b5e6-96231b3b80d8
* * PIC codegen for X86/Linux has been implementedAnton Korobeynikov2007-01-121-4/+21
| | | | | | | | | * PIC-aware internal structures in X86 Codegen have been refactored * Visibility (default/weak) has been added * Docs fixes (external weak linkage, visibility, formatting) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33136 91177308-0d34-0410-b5e6-96231b3b80d8
* Really big cleanup.Anton Korobeynikov2007-01-031-1/+4
| | | | | | | | | | | | - 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32833 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactored JIT codegen for mingw32. Now we're using standart relocationAnton Korobeynikov2006-12-221-7/+3
| | | | | | | type for distinguish JIT & non-JIT instead of "dirty" hacks :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32745 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed dllimported symbols support during JIT'ing. JIT on mingw32Anton Korobeynikov2006-12-201-0/+7
| | | | | | | | platform should be more or less workable. At least, sim is running fine under lli :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32711 91177308-0d34-0410-b5e6-96231b3b80d8
* Factor out GVRequiresExtraLoad() from .h to .cppAnton Korobeynikov2006-11-301-13/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32048 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactored *GVRequiresExtraLoad() to Subtarget method.Anton Korobeynikov2006-11-211-5/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31887 91177308-0d34-0410-b5e6-96231b3b80d8
* Proper fix for rdar://problem/4770604 Thanks to Stuart Hastings!Evan Cheng2006-10-161-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30985 91177308-0d34-0410-b5e6-96231b3b80d8
* Still need to support -mcpu=<> or cross compilation will fail. Doh.Evan Cheng2006-10-061-3/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30764 91177308-0d34-0410-b5e6-96231b3b80d8
* Do away with CPU feature list. Just use CPUID to detect MMX, SSE, SSE2, ↵Evan Cheng2006-10-061-12/+3
| | | | | | SSE3, and 64-bit support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30763 91177308-0d34-0410-b5e6-96231b3b80d8
* Adding dllimport, dllexport and external weak linkage types.Anton Korobeynikov2006-09-141-0/+2
| | | | | | | | | | DLL* linkages got full (I hope) codegeneration support in C & both x86 assembler backends. External weak linkage added for future use, we don't provide any codegeneration, etc. support for it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30374 91177308-0d34-0410-b5e6-96231b3b80d8
* Committing X86-64 support.Evan Cheng2006-09-081-4/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30177 91177308-0d34-0410-b5e6-96231b3b80d8
* add a new value for the command line optnChris Lattner2006-09-071-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30165 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the x86 asm flavor part of the subtarget info.Jim Laskey2006-09-071-1/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30146 91177308-0d34-0410-b5e6-96231b3b80d8
* Add accessorChris Lattner2006-09-041-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30080 91177308-0d34-0410-b5e6-96231b3b80d8
* x86 / Darwin PIC support.Evan Cheng2006-02-181-10/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26273 91177308-0d34-0410-b5e6-96231b3b80d8
* A bit more memset / memcpy optimization.Evan Cheng2006-02-161-0/+9
| | | | | | | | Turns them into calls to memset / memcpy if 1) buffer(s) are not DWORD aligned, 2) size is not known to be greater or equal to some minimum value (currently 128). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26224 91177308-0d34-0410-b5e6-96231b3b80d8
* * Fix 80-column violationsChris Lattner2006-01-311-3/+3
| | | | | | | | * Rename hasSSE -> hasSSE1 to avoid my continual confusion with 'has any SSE'. * Add inline asm constraint specification. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25854 91177308-0d34-0410-b5e6-96231b3b80d8
* x86 CPU detection and proper subtarget supportEvan Cheng2006-01-271-14/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25679 91177308-0d34-0410-b5e6-96231b3b80d8
* Added preliminary x86 subtarget support.Evan Cheng2006-01-261-0/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25645 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify the subtarget info, allow the asmwriter to do some target sensingChris Lattner2005-11-211-7/+0
| | | | | | | based on TargetType. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24478 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the X86 subtarget compute the basic target type: ELF, Cygwin, Darwin,Chris Lattner2005-11-211-0/+4
| | | | | | | or native Win32 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24476 91177308-0d34-0410-b5e6-96231b3b80d8
* 1. Use SubtargetFeatures in llc/lli.Jim Laskey2005-09-011-1/+3
| | | | | | | | | 2. Propagate feature "string" to all targets. 3. Implement use of SubtargetFeatures in PowerPCTargetSubtarget. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23192 91177308-0d34-0410-b5e6-96231b3b80d8
* Add Subtarget support to PowerPC. Next up, using it.Nate Begeman2005-08-041-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22644 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate tabs and trailing spaces.Jeff Cohen2005-07-271-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22520 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor changes to improve comments and fix the build on _WIN32 systems.Chris Lattner2005-07-121-6/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22391 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement Subtarget supportNate Begeman2005-07-121-0/+55
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