Lauro Ramos Venancio
|
727156d5f0
|
Enable protected visibility on ARM.
llvm-svn: 36583
|
2007-04-30 00:23:51 +00:00 |
|
Dale Johannesen
|
7c3b78cf98
|
Rewrite of Thumb constant islands handling (exact allowance for padding
around islands and jump tables).
llvm-svn: 36573
|
2007-04-29 19:19:30 +00:00 |
|
Dale Johannesen
|
1ee5f128f6
|
Make ARM-specific version of getInlineAsmLength
llvm-svn: 36572
|
2007-04-29 19:17:45 +00:00 |
|
Dale Johannesen
|
0a4acbf6ac
|
change per review
llvm-svn: 36519
|
2007-04-28 00:36:37 +00:00 |
|
Dale Johannesen
|
74feb7979a
|
Prevent Thumb code from generating ARM instructions
llvm-svn: 36518
|
2007-04-27 22:17:18 +00:00 |
|
Lauro Ramos Venancio
|
54544c8835
|
add parenthesis.
llvm-svn: 36514
|
2007-04-27 20:10:08 +00:00 |
|
Evan Cheng
|
5f4f03b9b9
|
Doh. ARM::LEApcrel is a single instruction MI.
llvm-svn: 36513
|
2007-04-27 18:27:13 +00:00 |
|
Lauro Ramos Venancio
|
f9641d332a
|
In Thumb mode, the frame register must be R7.
llvm-svn: 36512
|
2007-04-27 17:58:03 +00:00 |
|
Lauro Ramos Venancio
|
f385b56870
|
ARM TLS: implement "general dynamic", "initial exec" and "local exec" models.
llvm-svn: 36506
|
2007-04-27 13:54:47 +00:00 |
|
Evan Cheng
|
a1593a9ec6
|
Darwin runtime library does not have these.
llvm-svn: 36505
|
2007-04-27 08:15:43 +00:00 |
|
Evan Cheng
|
2da659afa3
|
Special handling of LEApcrel and tLEApcrel.
llvm-svn: 36504
|
2007-04-27 08:14:15 +00:00 |
|
Evan Cheng
|
75ed5c5cb2
|
Back out previous check-in. Incorrect.
llvm-svn: 36503
|
2007-04-27 07:50:02 +00:00 |
|
Evan Cheng
|
b54f757b65
|
tLEApcrel is a AddrModeTs, i.e. pc relative.
llvm-svn: 36502
|
2007-04-27 07:37:22 +00:00 |
|
Evan Cheng
|
eff332e3e1
|
Rename findRegisterUseOperand to findRegisterUseOperandIdx to avoid confusion.
llvm-svn: 36483
|
2007-04-26 19:00:32 +00:00 |
|
Evan Cheng
|
7f44e880dc
|
Match MachineFunction::UsedPhysRegs changes.
llvm-svn: 36452
|
2007-04-25 22:13:27 +00:00 |
|
Lauro Ramos Venancio
|
d922b8ca9b
|
remember to emit weak reference in one more case.
llvm-svn: 36438
|
2007-04-25 14:50:40 +00:00 |
|
Evan Cheng
|
de9468373e
|
Relex assertions to account for additional implicit def / use operands.
llvm-svn: 36430
|
2007-04-25 07:12:14 +00:00 |
|
Dale Johannesen
|
5f27e8bcc4
|
Make Thumb funcs containing islands 4-byte aligned. Fix bugs maintaining
BBOffsets and BBSizes when adjusting conditional branches.
llvm-svn: 36372
|
2007-04-23 20:09:04 +00:00 |
|
Dale Johannesen
|
f7d3443fa7
|
add Align field, and use when generating function alignment
llvm-svn: 36371
|
2007-04-23 20:07:25 +00:00 |
|
Dale Johannesen
|
9dce0dffd1
|
add isThumb (unused as yet)
llvm-svn: 36370
|
2007-04-23 20:04:35 +00:00 |
|
Lauro Ramos Venancio
|
f8b49e5ee0
|
Implement PIC for arm-linux.
llvm-svn: 36324
|
2007-04-22 00:04:12 +00:00 |
|
Evan Cheng
|
20c6a03b60
|
Specify S registers as D registers' sub-registers.
llvm-svn: 36280
|
2007-04-20 21:20:10 +00:00 |
|
Chris Lattner
|
f7ac47b4e2
|
add a crazy idea
llvm-svn: 36273
|
2007-04-20 20:18:43 +00:00 |
|
Lauro Ramos Venancio
|
5e0a3ef555
|
Fix a bug in getFrameRegister.
Reported by Raul Herbster.
llvm-svn: 36262
|
2007-04-19 14:09:38 +00:00 |
|
Chris Lattner
|
87296c2580
|
dag combiner just got better at pruning bits. This fixes CodeGen/ARM/rev.ll
llvm-svn: 36222
|
2007-04-17 22:39:58 +00:00 |
|
Chris Lattner
|
af5c203dbd
|
add a note
llvm-svn: 36203
|
2007-04-17 18:03:00 +00:00 |
|
Anton Korobeynikov
|
f3e62a428a
|
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
|
e7cab7b7a4
|
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
|
e9a9a3f172
|
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
|
3bbd376057
|
restore support for negative strides
llvm-svn: 35859
|
2007-04-10 03:48:29 +00:00 |
|
Chris Lattner
|
98199016ae
|
remove dead target hooks
llvm-svn: 35846
|
2007-04-09 23:33:39 +00:00 |
|
Chris Lattner
|
ae6e2c0ee5
|
remove some dead target hooks, subsumed by isLegalAddressingMode
llvm-svn: 35840
|
2007-04-09 22:27:04 +00:00 |
|
Evan Cheng
|
44488cb676
|
Implement inline asm modifier P.
llvm-svn: 35640
|
2007-04-04 00:13:29 +00:00 |
|
Evan Cheng
|
d5956e4409
|
Typo.
llvm-svn: 35639
|
2007-04-04 00:06:07 +00:00 |
|
Evan Cheng
|
2cd9df6983
|
Remove unused constant pool entries.
llvm-svn: 35635
|
2007-04-03 23:39:48 +00:00 |
|
Evan Cheng
|
db15aa24f9
|
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
|
16696f0ad8
|
Inverted logic.
llvm-svn: 35619
|
2007-04-03 06:44:25 +00:00 |
|
Chris Lattner
|
4d702a890c
|
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
|
e1c3dc7c78
|
fix off by 1 error in displacement computation
llvm-svn: 35602
|
2007-04-02 20:31:06 +00:00 |
|
Chris Lattner
|
726d461daf
|
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
|
ff9caac83e
|
add support for the 'w' inline asm register class.
llvm-svn: 35598
|
2007-04-02 17:24:08 +00:00 |
|
Lauro Ramos Venancio
|
7e21418680
|
- 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
|
949a34fbad
|
Add i16 address mode.
llvm-svn: 35551
|
2007-04-01 08:06:46 +00:00 |
|
Chris Lattner
|
c0405a348d
|
implement the new addressing mode description hook.
llvm-svn: 35521
|
2007-03-30 23:15:24 +00:00 |
|
Evan Cheng
|
526a67c09b
|
New entry.
llvm-svn: 35480
|
2007-03-29 21:40:13 +00:00 |
|
Evan Cheng
|
3a6b488265
|
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
|
bde0409264
|
Add support for hidden visibility to darwin/arm.
llvm-svn: 35448
|
2007-03-29 07:49:34 +00:00 |
|
Evan Cheng
|
a55449c051
|
Remove isLegalAddressImmediate.
llvm-svn: 35406
|
2007-03-28 01:53:55 +00:00 |
|
Lauro Ramos Venancio
|
8b2e32de5a
|
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
|
968135bd3f
|
findRegisterUseOperand() changed.
llvm-svn: 35366
|
2007-03-26 22:41:48 +00:00 |
|