summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86Subtarget.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Temporarily revert r60519. It was causing a bootstrap failure:Bill Wendling2008-12-041-3/+0
| | | | | | | | | | | | | | | | /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./gcc/xgcc -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./gcc/ -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.5.0/bin/ -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.5.0/lib/ -isystem /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.5.0/include -isystem /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.5.0/sys-include -DHAVE_CONFIG_H -I. -I../../../llvm-gcc.src/libgomp -I. -I../../../llvm-gcc.src/libgomp/config/posix -I../../../llvm-gcc.src/libgomp -Wall -pthread -Werror -O2 -g -O2 -MT barrier.lo -MD -MP -MF .deps/barrier.Tpo -c ../../../llvm-gcc.src/libgomp/barrier.c -fno-common -DPIC -o .libs/barrier.o checking for sys/file.h... /var/folders/zG/zGE-ZJOGFiGjv0B5cs5oYE+++TM/-Tmp-//cc34Jg5P.s:13:non-relocatable subtraction expression, "_gomp_tls_key" minus "L1$pb" /var/folders/zG/zGE-ZJOGFiGjv0B5cs5oYE+++TM/-Tmp-//cc34Jg5P.s:13:symbol: "_gomp_tls_key" can't be undefined in a subtraction expression make[4]: *** [barrier.lo] Error 1 make[4]: *** Waiting for unfinished jobs.... /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./gcc/xgcc -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./gcc/ -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.5.0/bin/ -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.5.0/lib/ -isystem /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.5.0/include -isystem /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.5.0/sys-include -DHAVE_CONFIG_H -I. -I../../../llvm-gcc.src/libgomp -I. -I../../../llvm-gcc.src/libgomp/config/posix -I../../../llvm-gcc.src/libgomp -Wall -pthread -Werror -O2 -g -O2 -MT alloc.lo -MD -MP -MF .deps/alloc.Tpo -c ../../../llvm-gcc.src/libgomp/alloc.c -o alloc.o >/dev/null 2>&1 yes checking for sys/param.h... make[3]: *** [all-recursive] Error 1 make[2]: *** [all] Error 2 make[1]: *** [all-target-libgomp] Error 2 make[1]: *** Waiting for unfinished jobs.... llvm-svn: 60527
* Visibility hidden GVs do not require extra load of symbol address from the ↵Evan Cheng2008-12-041-0/+3
| | | | | | GOT or non-lazy-ptr. llvm-svn: 60519
* Fix build with gcc-4.4: it doesn't like PICStyleDuncan Sands2008-11-281-1/+1
| | | | | | being both a namespace and a variable name. llvm-svn: 60208
* 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
* Just don't transform this memset into "bzero" if no-builtin is specified.Bill Wendling2008-09-301-2/+2
| | | | llvm-svn: 56888
* Add the new `-no-builtin' flag. This flag is meant to mimic the GCCBill Wendling2008-09-301-8/+6
| | | | | | | | | `-fno-builtin' flag. Currently, it's used to replace "memset" with "_bzero" instead of "__bzero" on Darwin10+. This arguably violates the meaning of this flag, but is currently sufficient. The meaning of this flag should become more specific over time. llvm-svn: 56885
* x86-64 PIC JIT fixes: do not generate the extra load for external GV's.Evan Cheng2008-07-161-1/+2
| | | | llvm-svn: 53661
* Revert accidentially added stuffAnton Korobeynikov2008-07-091-2/+1
| | | | llvm-svn: 53321
* Switch to new section name handling facilityAnton Korobeynikov2008-07-091-1/+2
| | | | llvm-svn: 53316
* Back out 53091 for now.Evan Cheng2008-07-031-2/+1
| | | | llvm-svn: 53109
* llvm-gcc sometimes marks external declarations hidden, because intializers areAnton Korobeynikov2008-07-031-1/+2
| | | | | | | processed separately. Honour such situation and emit PIC relocations properly in such case. llvm-svn: 53091
* Don't use the GOT for symbols that are not externally visible.Rafael Espindola2008-06-021-3/+6
| | | | llvm-svn: 51865
* Add CommonLinkage; currently tentative definitionsDale Johannesen2008-05-141-0/+1
| | | | | | | | | | are represented as "weak", but there are subtle differences in some cases on Darwin, so we need both. The intent is that "common" will behave identically to "weak" unless somebody changes their target to do something else. No functional change as yet. llvm-svn: 51118
* Clean up the use of static and anonymous namespaces. This turned upDan Gohman2008-05-131-1/+1
| | | | | | | several things that were neither in an anonymous namespace nor static but not intended to be global. llvm-svn: 51017
* Added addition atomic instrinsics and, or, xor, min, and max.Mon P Wang2008-05-051-1/+1
| | | | llvm-svn: 50663
* Fix IsLinux being uninitialized on non-Linux targets.Dan Gohman2008-05-051-0/+1
| | | | llvm-svn: 50660
* Use a dedicated IsLinux flag instead of an ELFLinux TargetType.Dan Gohman2008-05-051-2/+5
| | | | llvm-svn: 50649
* Add AsmPrinter support for emitting a directive to declare thatDan Gohman2008-05-051-0/+5
| | | | | | | | | the code being generated does not require an executable stack. Also, add target-specific code to make use of this on Linux on x86. llvm-svn: 50634
* Make stack alignment options global for all targetsAnton Korobeynikov2008-04-231-4/+1
| | | | llvm-svn: 50157
* Provide ABI-correct stack alignmentAnton Korobeynikov2008-04-231-5/+3
| | | | llvm-svn: 50154
* Initialize X863DNowLevel.Evan Cheng2008-04-161-0/+1
| | | | llvm-svn: 49808
* Provide option for stack alignment overrideAnton Korobeynikov2008-04-121-0/+7
| | | | llvm-svn: 49593
* Speculatively micro-optimize memory-zeroing calls on Darwin 10.Dan Gohman2008-04-011-0/+14
| | | | llvm-svn: 49048
* Honour built-in defines on win64 targets for automatically subtarget recognize.Anton Korobeynikov2008-03-221-2/+3
| | | | | | Force stack alignment to 16 bytes on win targets. llvm-svn: 48695
* Recognize "windows" in target triple, not only "win32"Anton Korobeynikov2008-03-221-0/+2
| | | | llvm-svn: 48694
* Remove bunch of gcc 4.3-related warnings from TargetAnton Korobeynikov2008-02-201-1/+2
| | | | llvm-svn: 47369
* Remove warning about 64-bit code on processorDale Johannesen2008-02-151-6/+0
| | | | | | that doesn't support it. Per Chris. llvm-svn: 47162
* Fix a x86-64 codegen deficiency. Allow gv + offset when using rip addressing ↵Evan Cheng2008-02-071-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mode. Before: _main: subq $8, %rsp leaq _X(%rip), %rax movsd 8(%rax), %xmm1 movss _X(%rip), %xmm0 call _t xorl %ecx, %ecx movl %ecx, %eax addq $8, %rsp ret Now: _main: subq $8, %rsp movsd _X+8(%rip), %xmm1 movss _X(%rip), %xmm0 call _t xorl %ecx, %ecx movl %ecx, %eax addq $8, %rsp ret Notice there is another idiotic codegen issue that needs to be fixed asap: xorl %ecx, %ecx movl %ecx, %eax llvm-svn: 46850
* SSE 4.1 Intrinsics and detectionNate Begeman2008-02-031-0/+2
| | | | llvm-svn: 46681
* Enable PIC codegen on x86-64/linuxAnton Korobeynikov2008-01-201-1/+1
| | | | llvm-svn: 46198
* Use size_t to store Pos, avoid truncating valueDuncan Sands2008-01-081-1/+1
| | | | | | | | on 64-bit builds. Analysis and original patch by Török Edwin. Code audit found another place with the same problem, also fixed here. llvm-svn: 45746
* darwin9 and above support aligned common symbols.Chris Lattner2008-01-021-10/+22
| | | | llvm-svn: 45494
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Make ARM an X86 memcpy expansion more similar to each other.Rafael Espindola2007-10-311-1/+1
| | | | | | | | Now both subtarget define getMaxInlineSizeThreshold and the expansion uses it. This should not change generated code. llvm-svn: 43552
* Mac OS X X86-64 low 4G address not available.Evan Cheng2007-08-011-0/+4
| | | | llvm-svn: 40701
* Here is the bulk of the sanitizing.Gabor Greif2007-07-051-1/+1
| | | | | | Almost all occurrences of "bytecode" in the sources have been eliminated. llvm-svn: 37913
* In the event that some really old non-Intel or -AMD CPU is encountered...Jeff Cohen2007-04-161-2/+5
| | | | llvm-svn: 36177
* Before assuming that the original code didn't work for Athlon64, the person whoJeff Cohen2007-04-161-6/+2
| | | | | | | replaced it with a FIXME should have determined what did work. Then he would have realized that the code was in fact correct, and would have avoided breaking it. llvm-svn: 36173
* Add support for our first SSSE3 instruction "pmulhrsw".Bill Wendling2007-04-101-0/+1
| | | | llvm-svn: 35869
* Autodetect MMX & SSE stuff for AMD processorsAnton Korobeynikov2007-03-231-10/+11
| | | | llvm-svn: 35292
* For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoidReid Spencer2007-01-301-2/+2
| | | | | | confusion with external linkage types. llvm-svn: 33663
* Propagate changes from my local tree. This patch includes:Anton Korobeynikov2007-01-281-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 Cheng2007-01-221-1/+1
| | | | llvm-svn: 33441
* * Fix one more bug in PIC codegen: extra load is needed for *all*Anton Korobeynikov2007-01-171-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 implementedAnton Korobeynikov2007-01-121-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 Korobeynikov2007-01-031-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 relocationAnton Korobeynikov2006-12-221-12/+3
| | | | | | type for distinguish JIT & non-JIT instead of "dirty" hacks :) llvm-svn: 32745
* Fixed 80 cols & style violationAnton Korobeynikov2006-12-201-2/+4
| | | | llvm-svn: 32720
* Fixed dllimported symbols support during JIT'ing. JIT on mingw32Anton Korobeynikov2006-12-201-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 Wendling2006-12-071-4/+3
| | | | llvm-svn: 32333
OpenPOWER on IntegriCloud