Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Propagate changes from my local tree. This patch includes: | Anton Korobeynikov | 2007-01-28 | 1 | -0/+1 |
| | | | | | | | | | | | | | | | | | | | | | | 1. New parameter attribute called 'inreg'. It has meaning "place this parameter in registers, if possible". This is some generalization of gcc's regparm(n) attribute. It's currently used only in X86-32 backend. 2. Completely rewritten CC handling/lowering code inside X86 backend. Merged stdcall + c CCs and fastcall + fast CC. 3. Dropped CSRET CC. We cannot add struct return variant for each target-specific CC (e.g. stdcall + csretcc and so on). 4. Instead of CSRET CC introduced 'sret' parameter attribute. Setting in on first attribute has meaning 'This is hidden pointer to structure return. Handle it gently'. 5. Fixed small bug in llvm-extract + add new feature to FunctionExtraction pass, which relinks all internal-linkaged callees from deleted function to external linkage. This will allow further linking everything together. NOTEs: 1. Documentation will be updated soon. 2. llvm-upgrade should be improved to translate csret => sret. Before this, there will be some unexpected test fails. llvm-svn: 33597 | ||||
* | Linux GOT indirect reference is only necessary in PIC mode. | Evan Cheng | 2007-01-22 | 1 | -1/+1 |
| | | | | llvm-svn: 33441 | ||||
* | * Fix one more bug in PIC codegen: extra load is needed for *all* | Anton Korobeynikov | 2007-01-17 | 1 | -1/+5 |
| | | | | | | | | | non-statics. * Introduce new option to output zero-initialized data to .bss section. This can reduce size of binaries. Enable it by default for ELF & Cygwin/Mingw targets. Probably, Darwin should be also added. llvm-svn: 33299 | ||||
* | * PIC codegen for X86/Linux has been implemented | Anton Korobeynikov | 2007-01-12 | 1 | -7/+8 |
| | | | | | | | | * 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 Korobeynikov | 2007-01-03 | 1 | -4/+8 |
| | | | | | | | | | | | - 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 relocation | Anton Korobeynikov | 2006-12-22 | 1 | -12/+3 |
| | | | | | | type for distinguish JIT & non-JIT instead of "dirty" hacks :) llvm-svn: 32745 | ||||
* | Fixed 80 cols & style violation | Anton Korobeynikov | 2006-12-20 | 1 | -2/+4 |
| | | | | llvm-svn: 32720 | ||||
* | Fixed dllimported symbols support during JIT'ing. JIT on mingw32 | Anton Korobeynikov | 2006-12-20 | 1 | -7/+18 |
| | | | | | | | platform should be more or less workable. At least, sim is running fine under lli :) llvm-svn: 32711 | ||||
* | What should be the last unnecessary <iostream>s in the library. | Bill Wendling | 2006-12-07 | 1 | -4/+3 |
| | | | | llvm-svn: 32333 | ||||
* | Factor out GVRequiresExtraLoad() from .h to .cpp | Anton Korobeynikov | 2006-11-30 | 1 | -0/+17 |
| | | | | llvm-svn: 32048 | ||||
* | 16-byte stack alignment for X86-64 ELF. Patch by Dan Gohman. | Evan Cheng | 2006-11-29 | 1 | -1/+3 |
| | | | | llvm-svn: 32004 | ||||
* | Fix codegen for x86-64 on systems (like ppc or i386) that don't have 64-bit | Chris Lattner | 2006-11-20 | 1 | -8/+17 |
| | | | | | | | features autodetected. This fixes PR1010 and Regression/CodeGen/X86/xmm-r64.ll on non-x86-64 hosts. llvm-svn: 31879 | ||||
* | Use movl+xchgl instead of pushl+popl. | Evan Cheng | 2006-11-08 | 1 | -3/+2 |
| | | | | llvm-svn: 31572 | ||||
* | Proper fix. | Evan Cheng | 2006-10-17 | 1 | -5/+4 |
| | | | | llvm-svn: 30993 | ||||
* | Proper fix for rdar://problem/4770604 Thanks to Stuart Hastings! | Evan Cheng | 2006-10-16 | 1 | -12/+13 |
| | | | | llvm-svn: 30985 | ||||
* | 80 col violation. | Evan Cheng | 2006-10-06 | 1 | -3/+4 |
| | | | | llvm-svn: 30770 | ||||
* | Still need to support -mcpu=<> or cross compilation will fail. Doh. | Evan Cheng | 2006-10-06 | 1 | -3/+104 |
| | | | | llvm-svn: 30764 | ||||
* | Do away with CPU feature list. Just use CPUID to detect MMX, SSE, SSE2, ↵ | Evan Cheng | 2006-10-06 | 1 | -90/+15 |
| | | | | | | SSE3, and 64-bit support. llvm-svn: 30763 | ||||
* | It appears the inline asm in GetCpuIDAndInfo() may clobbers some registers ↵ | Evan Cheng | 2006-10-06 | 1 | -3/+3 |
| | | | | | | if it isn't inlined (at < -O3). Force it to be inlined. llvm-svn: 30762 | ||||
* | Formating. | Evan Cheng | 2006-10-04 | 1 | -1/+1 |
| | | | | llvm-svn: 30722 | ||||
* | Committing X86-64 support. | Evan Cheng | 2006-09-08 | 1 | -15/+32 |
| | | | | llvm-svn: 30177 | ||||
* | Fix a cross-build issue. The asmsyntax shouldn't be affected by the build | Chris Lattner | 2006-09-07 | 1 | -8/+12 |
| | | | | | | | host, it should be affected by the target. Allow the command line option to override in either case. llvm-svn: 30164 | ||||
* | Make the x86 asm flavor part of the subtarget info. | Jim Laskey | 2006-09-07 | 1 | -0/+16 |
| | | | | llvm-svn: 30146 | ||||
* | Later models likely to have Yonah like attributes. | Evan Cheng | 2006-06-16 | 1 | -1/+2 |
| | | | | llvm-svn: 28843 | ||||
* | X86 / Cygwin asm / alignment fixes. | Evan Cheng | 2006-05-25 | 1 | -1/+1 |
| | | | | | | Patch contributed by Anton Korobeynikov! llvm-svn: 28480 | ||||
* | x86 / Darwin PIC support. | Evan Cheng | 2006-02-18 | 1 | -4/+1 |
| | | | | llvm-svn: 26273 | ||||
* | A bit more memset / memcpy optimization. | Evan Cheng | 2006-02-16 | 1 | -0/+2 |
| | | | | | | | 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). llvm-svn: 26224 | ||||
* | Duh | Evan Cheng | 2006-02-14 | 1 | -3/+0 |
| | | | | llvm-svn: 26180 | ||||
* | Remove -disable-x86-sse | Evan Cheng | 2006-02-14 | 1 | -10/+2 |
| | | | | llvm-svn: 26179 | ||||
* | Enable SSE (for the right subtargets) | Evan Cheng | 2006-02-14 | 1 | -6/+3 |
| | | | | llvm-svn: 26169 | ||||
* | Flesh out AMD family/models. | Jeff Cohen | 2006-01-28 | 1 | -2/+27 |
| | | | | llvm-svn: 25755 | ||||
* | Correctly determine CPU vendor. | Jeff Cohen | 2006-01-28 | 1 | -11/+5 |
| | | | | llvm-svn: 25754 | ||||
* | Use union instead of reinterpret_cast. | Jeff Cohen | 2006-01-28 | 1 | -5/+9 |
| | | | | llvm-svn: 25751 | ||||
* | Fix recognition of Intel CPUs. | Jeff Cohen | 2006-01-28 | 1 | -0/+2 |
| | | | | llvm-svn: 25750 | ||||
* | Is64Bit reflects the capability of the chip, not an aspect of the target os | Chris Lattner | 2006-01-28 | 1 | -6/+0 |
| | | | | llvm-svn: 25749 | ||||
* | Improve X86 subtarget support for Windows and AMD. | Jeff Cohen | 2006-01-28 | 1 | -38/+77 |
| | | | | llvm-svn: 25747 | ||||
* | make this work on non-native hosts | Chris Lattner | 2006-01-28 | 1 | -3/+7 |
| | | | | llvm-svn: 25734 | ||||
* | initialize all instance vars | Chris Lattner | 2006-01-27 | 1 | -3/+7 |
| | | | | llvm-svn: 25711 | ||||
* | Added a temporary option -enable-x86-sse to enable sse support. It is used by | Evan Cheng | 2006-01-27 | 1 | -2/+11 |
| | | | | | | llc-beta. llvm-svn: 25701 | ||||
* | A better workaround | Evan Cheng | 2006-01-27 | 1 | -6/+5 |
| | | | | llvm-svn: 25692 | ||||
* | force sse/3dnow off until they work. This fixes all the x86 failures last night | Chris Lattner | 2006-01-27 | 1 | -0/+5 |
| | | | | llvm-svn: 25690 | ||||
* | x86 CPU detection and proper subtarget support | Evan Cheng | 2006-01-27 | 1 | -41/+62 |
| | | | | llvm-svn: 25679 | ||||
* | Added preliminary x86 subtarget support. | Evan Cheng | 2006-01-26 | 1 | -0/+53 |
| | | | | llvm-svn: 25645 | ||||
* | Simplify the subtarget info, allow the asmwriter to do some target sensing | Chris Lattner | 2005-11-21 | 1 | -15/+2 |
| | | | | | | based on TargetType. llvm-svn: 24478 | ||||
* | Make the X86 subtarget compute the basic target type: ELF, Cygwin, Darwin, | Chris Lattner | 2005-11-21 | 1 | -15/+20 |
| | | | | | | or native Win32 llvm-svn: 24476 | ||||
* | 1. Use SubtargetFeatures in llc/lli. | Jim Laskey | 2005-09-01 | 1 | -1/+1 |
| | | | | | | | | 2. Propagate feature "string" to all targets. 3. Implement use of SubtargetFeatures in PowerPCTargetSubtarget. llvm-svn: 23192 | ||||
* | Add Subtarget support to PowerPC. Next up, using it. | Nate Begeman | 2005-08-04 | 1 | -1/+1 |
| | | | | llvm-svn: 22644 | ||||
* | Eliminate all remaining tabs and trailing spaces. | Jeff Cohen | 2005-07-27 | 1 | -3/+3 |
| | | | | llvm-svn: 22523 | ||||
* | Clean up the TargetSubtarget class a bit, removing an unnecessary argument | Nate Begeman | 2005-07-12 | 1 | -1/+1 |
| | | | | | | to the constructor. llvm-svn: 22392 | ||||
* | Minor changes to improve comments and fix the build on _WIN32 systems. | Chris Lattner | 2005-07-12 | 1 | -6/+4 |
| | | | | llvm-svn: 22391 |