Bill Wendling
|
e2501b303c
|
Add MMX calling conventions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35489 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-30 00:35:22 +00:00 |
|
Evan Cheng
|
87c6c9abb3
|
New entry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35480 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-29 21:40:13 +00:00 |
|
Evan Cheng
|
5e3c203cfd
|
Can't re-materialize mov r, imm in thumb since mov would clobber the condition code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35479 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-29 21:38:31 +00:00 |
|
Jeff Cohen
|
e2cd2a0b4b
|
MS C does have inlining after all, just uses _inline instead of inline.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35467 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-29 17:42:21 +00:00 |
|
Evan Cheng
|
616cc663da
|
Add support for hidden visibility to darwin/arm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35448 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-29 07:49:34 +00:00 |
|
Jeff Cohen
|
ab47895c6b
|
Fix C Backend to generate code that works with Microsoft C for the benefit of
front ends that do not depend on the GCC runtime (someday...).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35441 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-28 23:08:37 +00:00 |
|
Bill Wendling
|
03179060ee
|
Made this into a bug report: PR1286
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35439 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-28 19:07:34 +00:00 |
|
Anton Korobeynikov
|
f6e9353e1a
|
Oops :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35438 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-28 18:38:33 +00:00 |
|
Anton Korobeynikov
|
33bf8c44dd
|
Don't allow MatchAddress recurse too much. This trims exponential
behaviour in some cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35437 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-28 18:36:33 +00:00 |
|
Chris Lattner
|
6ef3307062
|
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35435 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-28 18:17:19 +00:00 |
|
Chris Lattner
|
995f55036f
|
Compile CodeGen/X86/lea-3.ll:test2 to:
_test3:
leaq (,%rdi,4), %rax
orq %rdi, %rax
ret
instead of:
_test2:
movq %rdi, %rax
shlq $2, %rax
orq %rdi, %rax
ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35434 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-28 18:12:31 +00:00 |
|
Chris Lattner
|
e9a61234ce
|
Dan pointed out that this is done, remove it!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35430 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-28 17:26:52 +00:00 |
|
Scott Michel
|
6461bbfc50
|
First test check-in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35429 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-28 17:04:43 +00:00 |
|
Evan Cheng
|
caaf69107e
|
Remove isLegalAddressImmediate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35406 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-28 01:53:55 +00:00 |
|
Bill Wendling
|
a80d7bd665
|
Remove cruft I put in there...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35394 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-28 01:02:54 +00:00 |
|
Chris Lattner
|
f2177b89a1
|
Fix a problem building llvm-gcc on amd64-unknown-freebsd6.2, due to the
system assembler not groking legal instructions like "leal (,%esi,8), %ecx".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35393 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-28 00:58:40 +00:00 |
|
Bill Wendling
|
826f36ff80
|
Unbreak mmx arithmetic. It was barfing trying to do v8i8 arithmetic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35392 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-28 00:57:11 +00:00 |
|
Bill Wendling
|
6dc29ece6e
|
Add the "unpack low packed data" instructions. This should be the last of
the MMX instructions that are needed...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35389 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-27 21:20:36 +00:00 |
|
Bill Wendling
|
ccc44add81
|
Fix so that pandn is emitted instead of an xor/and combo. Add integer
comparison operators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35385 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-27 20:22:40 +00:00 |
|
Lauro Ramos Venancio
|
1baa1971a6
|
"The C standards do say that "char" may either be a "signed char" or "unsigned
char" and it is up to the compilers implementation or the platform which is
followed."
http://www.arm.linux.org.uk/docs/faqs/signedchar.php
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35382 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-27 16:33:08 +00:00 |
|
Lauro Ramos Venancio
|
b8a93a45f8
|
bugfix: sometimes the spiller puts a load between the "mov lr, pc" and "bx" of a CALL_NOLINK.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35381 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-27 16:19:21 +00:00 |
|
Evan Cheng
|
f6fa5ee5c2
|
findRegisterUseOperand() changed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35366 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-26 22:41:48 +00:00 |
|
Bill Wendling
|
ab5b49d92e
|
Promote to v1i64 type...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35353 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-26 08:03:33 +00:00 |
|
Bill Wendling
|
aadcea33d1
|
Updated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35352 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-26 07:55:58 +00:00 |
|
Bill Wendling
|
eebc8a1bc5
|
Add support for the v1i64 type. This makes better code for this:
#include <mmintrin.h>
extern __m64 C;
void baz(__v2si *A, __v2si *B)
{
*A = C;
_mm_empty();
}
We get this:
_baz:
call "L1$pb"
"L1$pb":
popl %eax
movl L_C$non_lazy_ptr-"L1$pb"(%eax), %eax
movq (%eax), %mm0
movl 4(%esp), %eax
movq %mm0, (%eax)
emms
ret
GCC gives us this:
_baz:
pushl %ebx
call L3
"L00000000001$pb":
L3:
popl %ebx
subl $8, %esp
movl L_C$non_lazy_ptr-"L00000000001$pb"(%ebx), %eax
movl (%eax), %edx
movl 4(%eax), %ecx
movl 16(%esp), %eax
movl %edx, (%eax)
movl %ecx, 4(%eax)
emms
addl $8, %esp
popl %ebx
ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35351 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-26 07:53:08 +00:00 |
|
Anton Korobeynikov
|
4be4e51a50
|
Fix authorship
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35337 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-25 13:44:26 +00:00 |
|
Chris Lattner
|
86c9c341e9
|
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35334 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-25 05:10:46 +00:00 |
|
Chris Lattner
|
013e051aac
|
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35330 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-25 04:46:28 +00:00 |
|
Chris Lattner
|
b6ead97b7e
|
Fix CodeGen/PowerPC/2007-03-24-cntlzd.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35329 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-25 04:44:03 +00:00 |
|
Chris Lattner
|
4234f57fa0
|
switch TargetLowering::getConstraintType to take the entire constraint,
not just the first letter. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35322 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-25 02:14:49 +00:00 |
|
Chris Lattner
|
1439352ece
|
Allow the b/h/w/k constraints to be applied to values that have multiple alternatives, and end up not being registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35320 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-25 02:01:03 +00:00 |
|
Chris Lattner
|
188b9fe834
|
enforce the proper range for the i386 N constraint.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35319 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-25 01:57:35 +00:00 |
|
Chris Lattner
|
7cd5e07f3d
|
Fix test/CodeGen/X86/2007-03-24-InlineAsmPModifier.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35318 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-25 01:44:57 +00:00 |
|
Chris Lattner
|
1a77a556cd
|
add a bad case evan though of.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35296 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-24 06:01:32 +00:00 |
|
Anton Korobeynikov
|
3b5ee73a13
|
Autodetect MMX & SSE stuff for AMD processors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35292 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-23 23:46:48 +00:00 |
|
Bill Wendling
|
b8440a0c39
|
PR1260:
Add final support to get the QT example to compile.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35290 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-23 22:35:46 +00:00 |
|
Bill Wendling
|
02ced83ce7
|
We generate a shufflevector instruction, so we don't need the builtin
intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35269 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-22 20:29:26 +00:00 |
|
Bill Wendling
|
a348c56fde
|
Support added for shifts and unpacking MMX instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35266 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-22 18:42:45 +00:00 |
|
Dale Johannesen
|
fa4bce2b76
|
repair x86 performance, dejagnu problems from previous change
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35245 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-21 21:51:52 +00:00 |
|
Anton Korobeynikov
|
3070cd7e80
|
Add TODO list for MSIL backend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35244 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-21 21:48:59 +00:00 |
|
Anton Korobeynikov
|
099883f7eb
|
Let the new backend begin!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35242 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-21 21:38:25 +00:00 |
|
Dale Johannesen
|
aceaf5d26e
|
add generation of unnecessary push/pop around calls
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35241 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-21 21:16:39 +00:00 |
|
Nicolas Geoffray
|
82d4264c1f
|
Protect R31's frame offset from being used by callee-saved registers, when R31
is the frame pointer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35233 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-21 16:44:14 +00:00 |
|
Evan Cheng
|
768143547b
|
Mark re-materializable instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35230 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-21 00:16:56 +00:00 |
|
Evan Cheng
|
a125cbe839
|
Updated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35229 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-20 22:32:39 +00:00 |
|
Dale Johannesen
|
8e59e163db
|
do not share old induction variables when this would result in invalid
instructions (that would have to be split later)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35227 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-20 21:54:54 +00:00 |
|
Lauro Ramos Venancio
|
64c88d741e
|
bugfix: When the source register of CALL_NOLINK was LR, the following code was emitted:
mov lr, pc
bx lr
So, the function was not called.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35218 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-20 17:57:23 +00:00 |
|
Evan Cheng
|
c70d1849b7
|
Make two piece constant generation as a single instruction. It's re-materialized as a load from constantpool.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35207 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-20 08:11:30 +00:00 |
|
Evan Cheng
|
5603dcf21e
|
New entry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35206 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-20 08:10:17 +00:00 |
|
Evan Cheng
|
bf2c8b3c96
|
Added MRegisterInfo hook to re-materialize an instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35205 91177308-0d34-0410-b5e6-96231b3b80d8
|
2007-03-20 08:09:38 +00:00 |
|