Evan Cheng
|
7767159f08
|
Updated TargetLowering LSR addressing mode hooks for ARM and Thumb.
llvm-svn: 35075
|
2007-03-12 23:30:29 +00:00 |
|
Evan Cheng
|
06d83c8fce
|
More flexible TargetLowering LSR hooks for testing whether an immediate is a legal target address immediate or scale.
llvm-svn: 35074
|
2007-03-12 23:29:01 +00:00 |
|
Evan Cheng
|
0eeb8b59eb
|
More flexible TargetLowering LSR hooks for testing whether an immediate is
a legal target address immediate or scale.
llvm-svn: 35073
|
2007-03-12 23:28:50 +00:00 |
|
Evan Cheng
|
4224fa3617
|
Stupid bug: SSE2 supports v2i64 add / sub.
llvm-svn: 35070
|
2007-03-12 22:58:52 +00:00 |
|
Bill Wendling
|
236cfc4344
|
Adding more arithmetic operators to MMX. This is an almost exact copy of
the addition. Please let me know if you have suggestions.
llvm-svn: 35055
|
2007-03-10 09:57:05 +00:00 |
|
Evan Cheng
|
a4e410aa9c
|
Minor stuff.
llvm-svn: 35049
|
2007-03-09 19:46:06 +00:00 |
|
Evan Cheng
|
d7201d12af
|
Add comments about LSR / ARM.
llvm-svn: 35048
|
2007-03-09 19:35:33 +00:00 |
|
Evan Cheng
|
2e6f19d8c8
|
Unfinished work and ideas related to register scavenger.
llvm-svn: 35047
|
2007-03-09 19:34:51 +00:00 |
|
Dale Johannesen
|
10a05b538d
|
apply comments from review of last patch
llvm-svn: 35045
|
2007-03-09 19:18:59 +00:00 |
|
Dale Johannesen
|
23c2498e23
|
Add some observations from CoreGraphics benchmark. Remove register
scavenging todo item, since it is now implemented.
llvm-svn: 35044
|
2007-03-09 17:58:17 +00:00 |
|
Evan Cheng
|
7ef8db2fb5
|
Implement inline asm modifier c.
llvm-svn: 35035
|
2007-03-08 22:42:46 +00:00 |
|
Bill Wendling
|
5fef3fd7e7
|
Added "padd*" support for MMX. Added MMX move stuff to X86InstrInfo so that
moves, loads, etc. are recognized.
llvm-svn: 35031
|
2007-03-08 22:09:11 +00:00 |
|
Evan Cheng
|
6445ce2423
|
Fix a typo.
llvm-svn: 35030
|
2007-03-08 21:59:30 +00:00 |
|
Evan Cheng
|
7d528d089c
|
Putting more constants which do not contain relocations into .literal{4|8|16}
llvm-svn: 35026
|
2007-03-08 08:31:54 +00:00 |
|
Evan Cheng
|
393fd04eb4
|
Change register allocation order to Dale's suggestion.
llvm-svn: 35021
|
2007-03-08 02:56:40 +00:00 |
|
Evan Cheng
|
2c3e4ab3a6
|
Bug fix. Not advancing the register scavenger iterator correctly.
llvm-svn: 35020
|
2007-03-08 02:55:08 +00:00 |
|
Evan Cheng
|
c79408b032
|
For Darwin, put constant data into .const, .const_data, .literal{4|8|16}
sections.
llvm-svn: 35017
|
2007-03-08 01:25:25 +00:00 |
|
Evan Cheng
|
14b63d89c1
|
Put constant data to .const, .const_data, .literal{4|8|16} sections.
llvm-svn: 35016
|
2007-03-08 01:07:07 +00:00 |
|
Evan Cheng
|
6bf2f3665e
|
Add ReadOnlySection directive.
llvm-svn: 35015
|
2007-03-08 01:00:38 +00:00 |
|
Evan Cheng
|
51c3e53eb7
|
Only safe to use a call-clobbered or spilled callee-saved register as scratch register.
llvm-svn: 35010
|
2007-03-07 20:30:36 +00:00 |
|
Bill Wendling
|
8f49ba1000
|
Remove useless pattern fragments.
llvm-svn: 35009
|
2007-03-07 18:23:09 +00:00 |
|
Anton Korobeynikov
|
85d6c1ebad
|
Refactoring of formal parameter flags. Enable properly use of
zext/sext/aext stuff.
llvm-svn: 35008
|
2007-03-07 16:25:09 +00:00 |
|
Bill Wendling
|
3c201ddd02
|
Properly support v8i8 and v4i16 types. It now converts them to v2i32 for
load and stores.
llvm-svn: 35002
|
2007-03-07 05:43:18 +00:00 |
|
Anton Korobeynikov
|
090c2d50ea
|
Fix DWARF debugging information on x86/Linux and (hopefully)
Mingw32/Cygwin targets. This fixes PR978
llvm-svn: 35000
|
2007-03-07 02:47:57 +00:00 |
|
Evan Cheng
|
493960579f
|
ARM always use register scavenger. No longer reserves R12.
llvm-svn: 34999
|
2007-03-07 02:46:23 +00:00 |
|
Evan Cheng
|
4e01b11512
|
Fix some brittle code. Watch out for cases where register scavenger is pointing to deleted instructions.
llvm-svn: 34998
|
2007-03-07 02:38:05 +00:00 |
|
Evan Cheng
|
9839628fd1
|
Fix one more Thumb eliminateFrameIndex bug.
llvm-svn: 34990
|
2007-03-07 00:12:18 +00:00 |
|
Evan Cheng
|
63ffd3e17f
|
Register scavenging is now on by default for ARM.
llvm-svn: 34987
|
2007-03-06 22:02:53 +00:00 |
|
Evan Cheng
|
6453ad00d2
|
Make load / store optimizer use register scavenger.
llvm-svn: 34986
|
2007-03-06 21:59:20 +00:00 |
|
Bill Wendling
|
a02d43fbbd
|
Add LOAD/STORE support for MMX.
llvm-svn: 34978
|
2007-03-06 18:53:42 +00:00 |
|
Evan Cheng
|
228403bfcb
|
Code clean up. Prepare to use register scavenger.
llvm-svn: 34976
|
2007-03-06 18:02:41 +00:00 |
|
Evan Cheng
|
b0c0d22f30
|
Minor interface change.
llvm-svn: 34967
|
2007-03-06 10:05:14 +00:00 |
|
Evan Cheng
|
7c90fb2d67
|
Scavenge a register using the register scavenger when needed.
llvm-svn: 34966
|
2007-03-06 10:03:56 +00:00 |
|
Anton Korobeynikov
|
6da6c8c48b
|
Use new SDIselParamAttr enumeration. This removes "magick" constants
from formal attributes' flags processing.
llvm-svn: 34963
|
2007-03-06 08:12:33 +00:00 |
|
Chris Lattner
|
26a5492049
|
Switch PPC return lower to use an autogenerated CC description.
llvm-svn: 34940
|
2007-03-06 00:59:59 +00:00 |
|
Bill Wendling
|
c52174dee3
|
Add the emms intrinsic for MMX support.
llvm-svn: 34938
|
2007-03-05 23:09:45 +00:00 |
|
Lauro Ramos Venancio
|
3f855f6a54
|
Use init_array/fini_array sections for static contructors/destructors when the ABI is AAPCS.
Fix SingleSource/Regression/C/ConstructorDestructorAttributes test on arm-linux-gnueabi.
llvm-svn: 34931
|
2007-03-05 17:59:58 +00:00 |
|
Jeff Cohen
|
98c99a3a02
|
Unbreak VC++ build.
llvm-svn: 34917
|
2007-03-05 00:00:42 +00:00 |
|
Chris Lattner
|
6d7701714e
|
add missing braces
llvm-svn: 34905
|
2007-03-04 06:13:52 +00:00 |
|
Reid Spencer
|
e0d00951c2
|
Make sure that when we store a value it is masked to its correct bit
width. This helps CBE work with non-standard integer bit widths.
llvm-svn: 34885
|
2007-03-03 16:33:33 +00:00 |
|
Nick Lewycky
|
cfed5f36a1
|
Emit low/high immediate loads properly for Linux/PPC.
llvm-svn: 34871
|
2007-03-03 05:29:51 +00:00 |
|
Evan Cheng
|
2fb461c1b5
|
X86-64 VACOPY needs custom expansion. va_list is a struct { i32, i32, i8*, i8* }.
llvm-svn: 34857
|
2007-03-02 23:16:35 +00:00 |
|
Anton Korobeynikov
|
7cec92bcd2
|
Simplify things
llvm-svn: 34849
|
2007-03-02 21:50:27 +00:00 |
|
Chris Lattner
|
55dcf58453
|
argument lowering should copy from the vreg shadows of live-in arguments
passed in registers, not directly from the pregs themselves.
llvm-svn: 34838
|
2007-03-02 05:12:29 +00:00 |
|
Chris Lattner
|
e29ef5d9cb
|
add a note
llvm-svn: 34837
|
2007-03-02 05:04:52 +00:00 |
|
Dale Johannesen
|
a6003a9eb6
|
eliminate unnecessary reset of SP in epilog on darwin
llvm-svn: 34824
|
2007-03-02 01:17:17 +00:00 |
|
Reid Spencer
|
381752cb34
|
Wrap a long line.
llvm-svn: 34799
|
2007-03-01 19:48:16 +00:00 |
|
Anton Korobeynikov
|
eaf27d276a
|
Ensure that fastcall'ed function is correctly mangled & stack is
properly aligned
llvm-svn: 34788
|
2007-03-01 16:29:22 +00:00 |
|
Nicolas Geoffray
|
4b5b81198a
|
Implemented the frameaddress intrinsic for PPC.
llvm-svn: 34787
|
2007-03-01 13:11:38 +00:00 |
|
Evan Cheng
|
07dcde8ba2
|
Use a spilled free callee-saved register as scratch register.
llvm-svn: 34785
|
2007-03-01 08:57:52 +00:00 |
|