#
96098337 |
| 20-May-2009 |
Evan Cheng <evan.cheng@apple.com> |
Try again. Allow call to immediate address for ELF or when in static relocation mode.
llvm-svn: 72160
|
#
3ad60b18 |
| 25-Apr-2009 |
Chris Lattner <sabre@nondot.org> |
add support for detecting process features on win64, patch by Nicolas Capens!
llvm-svn: 70057
|
#
12da8ce3 |
| 07-Mar-2009 |
Duncan Sands <baldrick@free.fr> |
Introduce new linkage types linkonce_odr, weak_odr, common_odr and extern_weak_odr. These are the same as the non-odr versions, except that they indicate that the global will only be overridden by a
Introduce new linkage types linkonce_odr, weak_odr, common_odr and extern_weak_odr. These are the same as the non-odr versions, except that they indicate that the global will only be overridden by an *equivalent* global. In C, a function with weak linkage can be overridden by a function which behaves completely differently. This means that IP passes have to skip weak functions, since any deductions made from the function definition might be wrong, since the definition could be replaced by something completely different at link time. This is not allowed in C++, thanks to the ODR (One-Definition-Rule): if a function is replaced by another at link-time, then the new function must be the same as the original function. If a language knows that a function or other global can only be overridden by an equivalent global, it can give it the weak_odr linkage type, and the optimizers will understand that it is alright to make deductions based on the function body. The code generators on the other hand map weak and weak_odr linkage to the same thing.
llvm-svn: 66339
show more ...
|
Revision tags: llvmorg-2.5.0 |
|
#
d844dc30 |
| 28-Feb-2009 |
Mon P Wang <wangmp@apple.com> |
Added another darwin subtarget
llvm-svn: 65662
|
#
561d1226 |
| 03-Feb-2009 |
Dan Gohman <gohman@apple.com> |
Tevert part of the x86 subtarget logic changes: when -march=x86-64 is given, override the subtarget settings and enable 64-bit support. This restores the earlier behavior, and fixes regressions on No
Tevert part of the x86 subtarget logic changes: when -march=x86-64 is given, override the subtarget settings and enable 64-bit support. This restores the earlier behavior, and fixes regressions on Non-64-bit-capable x86-32 hosts.
This isn't necessarily the best approach, but the most obvious alternative is to require -mcpu=x86-64 or -mattr=+64bit to be used with -march=x86-64 when the host doesn't have 64-bit support. This makes things little more consistent, but it's less convenient, and it has the practical drawback of requiring lots of test changes, so I opted for the above approach for now.
llvm-svn: 63642
show more ...
|
#
7403751e |
| 03-Feb-2009 |
Dan Gohman <gohman@apple.com> |
Change Feature64Bit to not imply FeatureSSE2. All x86-64 hardware has SSE2, however it's possible to disable SSE2, and the subtarget support code thinks that if 64-bit implies SSE2 and SSE2 is disabl
Change Feature64Bit to not imply FeatureSSE2. All x86-64 hardware has SSE2, however it's possible to disable SSE2, and the subtarget support code thinks that if 64-bit implies SSE2 and SSE2 is disabled then 64-bit should also be disabled. Instead, just mark all the 64-bit subtargets as explicitly supporting SSE2.
Also, move the code that makes -march=x86-64 enable 64-bit support by default to only apply when there is no explicit subtarget. If you need to specify a subtarget and you want 64-bit code, you'll need to select a subtarget that supports 64-bit code.
llvm-svn: 63575
show more ...
|
#
e8386606 |
| 02-Feb-2009 |
Torok Edwin <edwintorok@gmail.com> |
Only force SSE level if it is not correct. Add an assert to check HasX86_64 status.
llvm-svn: 63552
|
#
5dbd26ae |
| 02-Feb-2009 |
Torok Edwin <edwintorok@gmail.com> |
remove #if 0 code on Bill's request.
llvm-svn: 63542
|
#
a2d1f35e |
| 01-Feb-2009 |
Torok Edwin <edwintorok@gmail.com> |
Implement -mno-sse: if SSE is disabled on x86-64, don't store XMM on stack for var-args, and don't allow FP return values
llvm-svn: 63495
|
#
692ed0f6 |
| 25-Jan-2009 |
Torok Edwin <edwintorok@gmail.com> |
should have removed the + when manually applying a patch!
llvm-svn: 62973
|
#
97be2f58 |
| 25-Jan-2009 |
Torok Edwin <edwintorok@gmail.com> |
revert this patch for now, because Codegen does still want to generate SSE code, for example in the case of va-args. XFAIL associated tests.
llvm-svn: 62972
|
#
a23c73bb |
| 25-Jan-2009 |
Torok Edwin <edwintorok@gmail.com> |
If user explicitly asks not to use SSE, don't force it. This fixes LLVM part of PR3402.
llvm-svn: 62967
|
#
6de96a1b |
| 15-Jan-2009 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add the private linkage.
llvm-svn: 62279
|
#
c3b09c3b |
| 05-Jan-2009 |
Evan Cheng <evan.cheng@apple.com> |
Atom and Core i7 do not have same model number after all.
llvm-svn: 61686
|
#
6e100a62 |
| 03-Jan-2009 |
Evan Cheng <evan.cheng@apple.com> |
Add Intel processors core i7 and atom.
llvm-svn: 61603
|
#
9a3ec1b2 |
| 03-Jan-2009 |
Evan Cheng <evan.cheng@apple.com> |
Fix PR3210: Detect more Intel processors. Patch by Torok Edwin.
llvm-svn: 61602
|
#
4c91aa34 |
| 02-Jan-2009 |
Evan Cheng <evan.cheng@apple.com> |
Do not isel load folding bt instructions for pentium m, core, core2, and AMD processors. These are significantly slower than a load followed by a bt of a register.
llvm-svn: 61557
|
#
13f3a33f |
| 02-Jan-2009 |
Evan Cheng <evan.cheng@apple.com> |
Fix x86 CPU id detection to identify Penryn (and future processors).
llvm-svn: 61556
|
#
b9a01215 |
| 16-Dec-2008 |
Dan Gohman <gohman@apple.com> |
Add initial support for back-scheduling address computations, especially in the case of addresses computed from loop induction variables.
llvm-svn: 61075
|
#
c6541432 |
| 08-Dec-2008 |
Evan Cheng <evan.cheng@apple.com> |
Re-apply 60689 now my head is screwed on right.
llvm-svn: 60711
|
#
64bc11e7 |
| 08-Dec-2008 |
Dan Gohman <gohman@apple.com> |
Revert 60689. It caused many regressions on Darwin targets.
llvm-svn: 60705
|
#
50fcc67a |
| 08-Dec-2008 |
Evan Cheng <evan.cheng@apple.com> |
Perform cheap checks first.
llvm-svn: 60689
|
#
9efd2ce5 |
| 05-Dec-2008 |
Dale Johannesen <dalej@apple.com> |
Make LoopStrengthReduce smarter about hoisting things out of loops when they can be subsumed into addressing modes.
Change X86 addressing mode check to realize that some PIC references need an extra
Make LoopStrengthReduce smarter about hoisting things out of loops when they can be subsumed into addressing modes.
Change X86 addressing mode check to realize that some PIC references need an extra register. (I believe this is correct for Linux, if not, I'm sure someone will tell me.)
llvm-svn: 60608
show more ...
|
#
2a03c7e9 |
| 05-Dec-2008 |
Evan Cheng <evan.cheng@apple.com> |
Re-did 60519. It turns out Darwin's handling of hidden visibility symbols are a bit more complicate than I expected. Both declarations and weak definitions still need a stub indirection. However, the
Re-did 60519. It turns out Darwin's handling of hidden visibility symbols are a bit more complicate than I expected. Both declarations and weak definitions still need a stub indirection. However, the stubs are in data section and they contain the addresses of the actual symbols.
llvm-svn: 60571
show more ...
|
#
6949f613 |
| 04-Dec-2008 |
Bill Wendling <isanbard@gmail.com> |
Temporarily revert r60519. It was causing a bootstrap failure:
/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./gcc/xgcc -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./
Temporarily revert r60519. It was causing a bootstrap failure:
/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
show more ...
|