|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| ... |  | 
| | 
| 
| 
| | llvm-svn: 60711 | 
| | 
| 
| 
| | llvm-svn: 60705 | 
| | 
| 
| 
| | llvm-svn: 60689 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | /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 | 
| | 
| 
| 
| 
| 
| | GOT or non-lazy-ptr.
llvm-svn: 60519 | 
| | 
| 
| 
| 
| 
| | being both a namespace and a variable name.
llvm-svn: 60208 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| | llvm-svn: 56888 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | `-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 | 
| | 
| 
| 
| | llvm-svn: 53661 | 
| | 
| 
| 
| | llvm-svn: 53321 | 
| | 
| 
| 
| | llvm-svn: 53316 | 
| | 
| 
| 
| | llvm-svn: 53109 | 
| | 
| 
| 
| 
| 
| 
| | processed separately. Honour such situation and emit PIC relocations properly
in such case.
llvm-svn: 53091 | 
| | 
| 
| 
| | llvm-svn: 51865 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| 
| 
| 
| | several things that were neither in an anonymous namespace nor static
but not intended to be global.
llvm-svn: 51017 | 
| | 
| 
| 
| | llvm-svn: 50663 | 
| | 
| 
| 
| | llvm-svn: 50660 | 
| | 
| 
| 
| | llvm-svn: 50649 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| | llvm-svn: 50157 | 
| | 
| 
| 
| | llvm-svn: 50154 | 
| | 
| 
| 
| | llvm-svn: 49808 | 
| | 
| 
| 
| | llvm-svn: 49593 | 
| | 
| 
| 
| | llvm-svn: 49048 | 
| | 
| 
| 
| 
| 
| | Force stack alignment to 16 bytes on win targets.
llvm-svn: 48695 | 
| | 
| 
| 
| | llvm-svn: 48694 | 
| | 
| 
| 
| | llvm-svn: 47369 | 
| | 
| 
| 
| 
| 
| | that doesn't support it.  Per Chris.
llvm-svn: 47162 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| | llvm-svn: 46681 | 
| | 
| 
| 
| | llvm-svn: 46198 | 
| | 
| 
| 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| | llvm-svn: 45494 | 
| | 
| 
| 
| | llvm-svn: 45418 | 
| | 
| 
| 
| 
| 
| 
| 
| | Now both subtarget define getMaxInlineSizeThreshold and the expansion uses it.
This should not change generated code.
llvm-svn: 43552 | 
| | 
| 
| 
| | llvm-svn: 40701 | 
| | 
| 
| 
| 
| 
| | Almost all occurrences of "bytecode" in the sources have been eliminated.
llvm-svn: 37913 | 
| | 
| 
| 
| | llvm-svn: 36177 | 
| | 
| 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| | llvm-svn: 35869 | 
| | 
| 
| 
| | llvm-svn: 35292 | 
| | 
| 
| 
| 
| 
| | confusion with external linkage types.
llvm-svn: 33663 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| | llvm-svn: 33441 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | 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-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 |