Anton Korobeynikov
|
fb80151c42
|
Removed tabs everywhere except autogenerated & external files. Add make
target for tabs checking.
llvm-svn: 36146
|
2007-04-16 18:10:23 +00:00 |
|
Chris Lattner
|
502c3f48d9
|
arm has r+r*s and r+i addr modes, but no r+i+r*s addr modes.
llvm-svn: 35962
|
2007-04-13 06:50:55 +00:00 |
|
Chris Lattner
|
fe926e2960
|
Fix incorrect fall-throughs in addr mode code. This fixes CodeGen/ARM/arm-negative-stride.ll
llvm-svn: 35909
|
2007-04-11 16:17:12 +00:00 |
|
Chris Lattner
|
9b6d69e0c2
|
restore support for negative strides
llvm-svn: 35859
|
2007-04-10 03:48:29 +00:00 |
|
Chris Lattner
|
d44e24c896
|
remove dead target hooks
llvm-svn: 35846
|
2007-04-09 23:33:39 +00:00 |
|
Chris Lattner
|
39f65335d5
|
remove some dead target hooks, subsumed by isLegalAddressingMode
llvm-svn: 35840
|
2007-04-09 22:27:04 +00:00 |
|
Evan Cheng
|
1e150dedd1
|
Implement inline asm modifier P.
llvm-svn: 35640
|
2007-04-04 00:13:29 +00:00 |
|
Evan Cheng
|
bd31f41daa
|
Typo.
llvm-svn: 35639
|
2007-04-04 00:06:07 +00:00 |
|
Evan Cheng
|
3c68d4e8ba
|
Remove unused constant pool entries.
llvm-svn: 35635
|
2007-04-03 23:39:48 +00:00 |
|
Evan Cheng
|
39d8b4db92
|
Fixed a bug that causes codegen of noop like add r0, r0, #0.
llvm-svn: 35627
|
2007-04-03 21:31:21 +00:00 |
|
Evan Cheng
|
e8315fe3f5
|
Inverted logic.
llvm-svn: 35619
|
2007-04-03 06:44:25 +00:00 |
|
Chris Lattner
|
f742e2fe70
|
Arm supports negative strides as well, add them. This lets us compile:
CodeGen/ARM/arm-negative-stride.ll to:
LBB1_2: @bb
str r1, [r3, -r0, lsl #2]
add r0, r0, #1
cmp r0, r2
bne LBB1_2 @bb
llvm-svn: 35609
|
2007-04-03 00:13:57 +00:00 |
|
Dale Johannesen
|
d13786dd82
|
fix off by 1 error in displacement computation
llvm-svn: 35602
|
2007-04-02 20:31:06 +00:00 |
|
Chris Lattner
|
8e168a4f36
|
fix the CodeGen/ARM/2007-03-13-InstrSched.ll regression: allow IV's with scales
to be folded into non-store instructions.
llvm-svn: 35601
|
2007-04-02 18:51:18 +00:00 |
|
Chris Lattner
|
6223e83f6d
|
add support for the 'w' inline asm register class.
llvm-svn: 35598
|
2007-04-02 17:24:08 +00:00 |
|
Lauro Ramos Venancio
|
6be85337b0
|
- Divides the comparisons in two types: comparisons that only use N and Z
flags (ARMISD::CMPNZ) and comparisons that use all flags (ARMISD::CMP).
- Defines the instructions: TST, TEQ (ARM) and TST (Thumb).
llvm-svn: 35573
|
2007-04-02 01:30:03 +00:00 |
|
Evan Cheng
|
17d48a8bc2
|
Add i16 address mode.
llvm-svn: 35551
|
2007-04-01 08:06:46 +00:00 |
|
Chris Lattner
|
1eb94d973a
|
implement the new addressing mode description hook.
llvm-svn: 35521
|
2007-03-30 23:15:24 +00:00 |
|
Evan Cheng
|
045414aa8e
|
New entry.
llvm-svn: 35480
|
2007-03-29 21:40:13 +00:00 |
|
Evan Cheng
|
cc44b1e743
|
Can't re-materialize mov r, imm in thumb since mov would clobber the condition code.
llvm-svn: 35479
|
2007-03-29 21:38:31 +00:00 |
|
Evan Cheng
|
8f592160c0
|
Add support for hidden visibility to darwin/arm.
llvm-svn: 35448
|
2007-03-29 07:49:34 +00:00 |
|
Evan Cheng
|
c2cba18f2b
|
Remove isLegalAddressImmediate.
llvm-svn: 35406
|
2007-03-28 01:53:55 +00:00 |
|
Lauro Ramos Venancio
|
143b0dff31
|
bugfix: sometimes the spiller puts a load between the "mov lr, pc" and "bx" of a CALL_NOLINK.
llvm-svn: 35381
|
2007-03-27 16:19:21 +00:00 |
|
Evan Cheng
|
7dbbd00b06
|
findRegisterUseOperand() changed.
llvm-svn: 35366
|
2007-03-26 22:41:48 +00:00 |
|
Chris Lattner
|
d685514e2e
|
switch TargetLowering::getConstraintType to take the entire constraint,
not just the first letter. No functionality change.
llvm-svn: 35322
|
2007-03-25 02:14:49 +00:00 |
|
Dale Johannesen
|
0c6bb5eab7
|
repair x86 performance, dejagnu problems from previous change
llvm-svn: 35245
|
2007-03-21 21:51:52 +00:00 |
|
Evan Cheng
|
cba9538499
|
Updated.
llvm-svn: 35229
|
2007-03-20 22:32:39 +00:00 |
|
Dale Johannesen
|
bacf4acf65
|
do not share old induction variables when this would result in invalid
instructions (that would have to be split later)
llvm-svn: 35227
|
2007-03-20 21:54:54 +00:00 |
|
Lauro Ramos Venancio
|
a88c4a74f3
|
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.
llvm-svn: 35218
|
2007-03-20 17:57:23 +00:00 |
|
Evan Cheng
|
9e7b838469
|
Make two piece constant generation as a single instruction. It's re-materialized as a load from constantpool.
llvm-svn: 35207
|
2007-03-20 08:11:30 +00:00 |
|
Evan Cheng
|
39eb62ea3b
|
New entry.
llvm-svn: 35206
|
2007-03-20 08:10:17 +00:00 |
|
Evan Cheng
|
61f39d186c
|
Added MRegisterInfo hook to re-materialize an instruction.
llvm-svn: 35205
|
2007-03-20 08:09:38 +00:00 |
|
Chris Lattner
|
f806e1cdbc
|
fix indentation
llvm-svn: 35202
|
2007-03-20 02:25:53 +00:00 |
|
Dale Johannesen
|
8447d34903
|
fix obvious comment bug
llvm-svn: 35196
|
2007-03-20 00:30:56 +00:00 |
|
Evan Cheng
|
9bb01c9f4f
|
Fix naming inconsistencies.
llvm-svn: 35163
|
2007-03-19 07:48:02 +00:00 |
|
Evan Cheng
|
ee2763f76f
|
Special LDR instructions to load from non-pc-relative constantpools. These are
rematerializable. Only used for constant generation for now.
llvm-svn: 35162
|
2007-03-19 07:20:03 +00:00 |
|
Evan Cheng
|
5be3e09a30
|
Constant generation instructions are re-materializable.
llvm-svn: 35161
|
2007-03-19 07:09:02 +00:00 |
|
Lauro Ramos Venancio
|
25d4052af6
|
Only ARMv6 has BSWAP.
Fix MultiSource/Applications/aha test.
llvm-svn: 35128
|
2007-03-16 22:54:16 +00:00 |
|
Evan Cheng
|
0e34d6af6b
|
Added isLegalAddressExpression(). Only allows X +/- C for now.
llvm-svn: 35122
|
2007-03-16 08:43:56 +00:00 |
|
Evan Cheng
|
72a8bcf238
|
AM2 can match 2^n +/- 1. e.g. ldr r3, [r2, r2, lsl #2]
llvm-svn: 35088
|
2007-03-13 21:05:54 +00:00 |
|
Evan Cheng
|
507eefa757
|
Zero is always a legal AM immediate.
llvm-svn: 35087
|
2007-03-13 20:37:59 +00:00 |
|
Evan Cheng
|
818242bbaf
|
Implement getTargetLowering() or else LSR won't be using ARM specific hooks.
llvm-svn: 35077
|
2007-03-13 01:20:42 +00:00 |
|
Evan Cheng
|
2150b9286f
|
Updated TargetLowering LSR addressing mode hooks for ARM and Thumb.
llvm-svn: 35075
|
2007-03-12 23:30:29 +00:00 |
|
Evan Cheng
|
09663aeac7
|
Minor stuff.
llvm-svn: 35049
|
2007-03-09 19:46:06 +00:00 |
|
Evan Cheng
|
31ef0ab7cf
|
Add comments about LSR / ARM.
llvm-svn: 35048
|
2007-03-09 19:35:33 +00:00 |
|
Evan Cheng
|
603f3094eb
|
Unfinished work and ideas related to register scavenger.
llvm-svn: 35047
|
2007-03-09 19:34:51 +00:00 |
|
Dale Johannesen
|
368faf9acd
|
apply comments from review of last patch
llvm-svn: 35045
|
2007-03-09 19:18:59 +00:00 |
|
Dale Johannesen
|
af0cff2671
|
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
|
ea28fc5dc4
|
Implement inline asm modifier c.
llvm-svn: 35035
|
2007-03-08 22:42:46 +00:00 |
|
Evan Cheng
|
63170b6959
|
Fix a typo.
llvm-svn: 35030
|
2007-03-08 21:59:30 +00:00 |
|