| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
| |
type for distinguish JIT & non-JIT instead of "dirty" hacks :)
llvm-svn: 32745
|
|
|
|
| |
llvm-svn: 32720
|
|
|
|
|
|
|
| |
platform should be more or less workable. At least, sim is running fine
under lli :)
llvm-svn: 32711
|
|
|
|
| |
llvm-svn: 32333
|
|
|
|
| |
llvm-svn: 32048
|
|
|
|
| |
llvm-svn: 32004
|
|
|
|
|
|
|
| |
features autodetected. This fixes PR1010 and Regression/CodeGen/X86/xmm-r64.ll
on non-x86-64 hosts.
llvm-svn: 31879
|
|
|
|
| |
llvm-svn: 31572
|
|
|
|
| |
llvm-svn: 30993
|
|
|
|
| |
llvm-svn: 30985
|
|
|
|
| |
llvm-svn: 30770
|
|
|
|
| |
llvm-svn: 30764
|
|
|
|
|
|
| |
SSE3, and 64-bit support.
llvm-svn: 30763
|
|
|
|
|
|
| |
if it isn't inlined (at < -O3). Force it to be inlined.
llvm-svn: 30762
|
|
|
|
| |
llvm-svn: 30722
|
|
|
|
| |
llvm-svn: 30177
|
|
|
|
|
|
|
| |
host, it should be affected by the target. Allow the command line option to
override in either case.
llvm-svn: 30164
|
|
|
|
| |
llvm-svn: 30146
|
|
|
|
| |
llvm-svn: 28843
|
|
|
|
|
|
| |
Patch contributed by Anton Korobeynikov!
llvm-svn: 28480
|
|
|
|
| |
llvm-svn: 26273
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 26180
|
|
|
|
| |
llvm-svn: 26179
|
|
|
|
| |
llvm-svn: 26169
|
|
|
|
| |
llvm-svn: 25755
|
|
|
|
| |
llvm-svn: 25754
|
|
|
|
| |
llvm-svn: 25751
|
|
|
|
| |
llvm-svn: 25750
|