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 |
|
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
|
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 |
|
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 |
|
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 |
|
Evan Cheng
|
228403bfcb
|
Code clean up. Prepare to use register scavenger.
llvm-svn: 34976
|
2007-03-06 18:02:41 +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 |
|
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 |
|
Dale Johannesen
|
a6003a9eb6
|
eliminate unnecessary reset of SP in epilog on darwin
llvm-svn: 34824
|
2007-03-02 01:17:17 +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 |
|
Evan Cheng
|
8d3d4155e5
|
- Track which callee-saved registers are spilled.
- Some code clean up.
llvm-svn: 34783
|
2007-03-01 08:26:31 +00:00 |
|
Evan Cheng
|
f771a323c2
|
Switch from std::vector<bool> to BitVector.
llvm-svn: 34781
|
2007-03-01 07:52:44 +00:00 |
|
Bill Wendling
|
2aabf75e82
|
Get rid of verboten <iostream> include.
llvm-svn: 34777
|
2007-03-01 06:05:39 +00:00 |
|
Dale Johannesen
|
f38e3d7085
|
Changes requested in review of last pass. Also pulled isThumb into a
member, instead of resetting in every function that uses it.
llvm-svn: 34764
|
2007-02-28 23:20:38 +00:00 |
|
Evan Cheng
|
5dc0ece7cb
|
Doh. ARM::PC is obvious a reserved register.
llvm-svn: 34763
|
2007-02-28 23:12:34 +00:00 |
|
Dale Johannesen
|
5ec68034ee
|
Add intelligence about where to break large blocks.
llvm-svn: 34755
|
2007-02-28 18:41:23 +00:00 |
|
Evan Cheng
|
db591ecaa8
|
Make requiresRegisterScavenging determination on a per MachineFunction basis.
llvm-svn: 34711
|
2007-02-28 00:59:19 +00:00 |
|
Evan Cheng
|
cfb0f8cfc6
|
Temporary: make R12 available in ARM mode if RegScavenger is being used.
llvm-svn: 34709
|
2007-02-28 00:22:44 +00:00 |
|
Evan Cheng
|
fa23d8e51f
|
Start making use of RegScavenger.
llvm-svn: 34708
|
2007-02-28 00:21:58 +00:00 |
|
Evan Cheng
|
116f97f2c7
|
PEI now passes a RegScavenger ptr to eliminateFrameIndex.
llvm-svn: 34707
|
2007-02-28 00:21:17 +00:00 |
|
Evan Cheng
|
4357509984
|
Minor tweak. Allocate r0 to r3 in reverse order, r3 is least likely to be livein to a function.
llvm-svn: 34701
|
2007-02-27 23:03:55 +00:00 |
|
Evan Cheng
|
a19dd6f388
|
Let MRegisterInfo now owns RegScavenger; eliminateFrameIndex must preserve register kill info.
llvm-svn: 34692
|
2007-02-27 21:12:35 +00:00 |
|
Dale Johannesen
|
f6f34ec2e0
|
cosmetic changes from review of last patch. obvious
llvm-svn: 34598
|
2007-02-25 18:31:31 +00:00 |
|
Dale Johannesen
|
6e366a1006
|
remove crediting of Evan Cheng and me.
llvm-svn: 34568
|
2007-02-25 01:42:36 +00:00 |
|
Dale Johannesen
|
ccecc12da5
|
Removed WaterListOffset, inserted BBOffsets. Remove TODO item about this
from README.
When no water available, use end of block if in range. (More to do here.)
llvm-svn: 34563
|
2007-02-25 00:47:03 +00:00 |
|
Lauro Ramos Venancio
|
19040a3f0d
|
bugfix: SP wasn't updated for varargs when frame pointer was eliminated.
llvm-svn: 34537
|
2007-02-23 21:53:48 +00:00 |
|
Lauro Ramos Venancio
|
7c2f17b629
|
Fix stack alignment in functions with varargs.
llvm-svn: 34532
|
2007-02-23 20:32:57 +00:00 |
|
Dale Johannesen
|
544968d665
|
rewrite of constant islands
llvm-svn: 34523
|
2007-02-23 05:02:36 +00:00 |
|
Evan Cheng
|
2d4b1cb0ca
|
Added -march=thumb; removed -enable-thumb.
llvm-svn: 34521
|
2007-02-23 03:14:31 +00:00 |
|
Evan Cheng
|
bd3219f5bf
|
Add option to turn on register scavenger; By default, spills kills the register being stored.
llvm-svn: 34514
|
2007-02-23 01:09:11 +00:00 |
|
Jim Laskey
|
b57ee1fc37
|
Simplify lowering and selection of exception ops.
llvm-svn: 34488
|
2007-02-22 14:56:36 +00:00 |
|
Jim Laskey
|
6a937ad320
|
Support to provide exception and selector registers.
llvm-svn: 34482
|
2007-02-21 22:54:50 +00:00 |
|
Evan Cheng
|
e4ab9c032b
|
Re-apply my liveintervalanalysis changes. Now with PR1207 fixes.
llvm-svn: 34428
|
2007-02-19 21:49:54 +00:00 |
|
Reid Spencer
|
b27fcf3482
|
For PR1207:
Revert patches that caused the problem. Evan, please investigate and reapply
when you've discovered the problem.
llvm-svn: 34399
|
2007-02-19 03:20:00 +00:00 |
|
Evan Cheng
|
8c2508f1ac
|
Added getReservedRegs().
llvm-svn: 34376
|
2007-02-17 11:06:00 +00:00 |
|
Chris Lattner
|
5cece73ec8
|
Generalize TargetData strings, to support more interesting forms of data.
Patch by Scott Michel.
llvm-svn: 34266
|
2007-02-14 05:52:17 +00:00 |
|