1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
Commit Graph

37 Commits

Author SHA1 Message Date
Evan Cheng
54a1a87862 Make ARM and Thumb2 32-bit immediate materialization into a single 32-bit pseudo
instruction. This makes it re-materializable.

Thumb2 will split it back out into two instructions so IT pass will generate the
right mask. Also, this expose opportunies to optimize the movw to a 16-bit move.

llvm-svn: 82982
2009-09-28 09:14:39 +00:00
Chris Lattner
edb8650e80 add a random codegen deficiency.
llvm-svn: 77598
2009-07-30 16:08:58 +00:00
Evan Cheng
597bf41097 Disable my constant island pass optimization (to make use soimm more effectively). It caused infinite looping on lencod.
llvm-svn: 76995
2009-07-24 19:31:03 +00:00
Evan Cheng
f0af946ac8 Add an entry.
llvm-svn: 76711
2009-07-22 00:58:27 +00:00
Evan Cheng
093adf3ff9 Implement Thumb2 ldr.
After much back and forth, I decided to deviate from ARM design and split LDR into 4 instructions (r + imm12, r + imm8, r + r << imm12, constantpool). The advantage of this is 1) it follows the latest ARM technical manual, and 2) makes it easier to reduce the width of the instruction later. The down side is this creates more inconsistency between the two sub-targets. We should split ARM LDR instruction in a similar fashion later. I've added a README entry for this.

llvm-svn: 74420
2009-06-29 07:51:04 +00:00
Evan Cheng
2eb1525e2a Add a note about commuting conditional move.
llvm-svn: 74241
2009-06-26 00:28:48 +00:00
Evan Cheng
f23c8a5c8a These are done / no longer applicable.
llvm-svn: 74239
2009-06-26 00:25:27 +00:00
Bob Wilson
6db76aaf10 Add support for ARM's Advanced SIMD (NEON) instruction set.
This is still a work in progress but most of the NEON instruction set
is supported.

llvm-svn: 73919
2009-06-22 23:27:02 +00:00
Chris Lattner
706eb604ae several entries got significantly better, though they still aren't done.
llvm-svn: 44382
2007-11-27 22:41:52 +00:00
Chris Lattner
d2ee2dad04 implement a trivial readme entry.
llvm-svn: 44380
2007-11-27 22:36:16 +00:00
Chris Lattner
57e2fa4ba0 Add an easy microoptimization I noticed.
llvm-svn: 43164
2007-10-19 03:29:26 +00:00
Chris Lattner
d4602cc0e7 Add some notes about better flag handling.
llvm-svn: 41808
2007-09-10 21:43:18 +00:00
Evan Cheng
05c784cc30 Update.
llvm-svn: 38513
2007-07-10 21:49:47 +00:00
Dale Johannesen
d6f582af9d Remove item: thumb padding in constant islands
llvm-svn: 36586
2007-04-30 00:32:06 +00:00
Chris Lattner
f7ac47b4e2 add a crazy idea
llvm-svn: 36273
2007-04-20 20:18:43 +00:00
Chris Lattner
af5c203dbd add a note
llvm-svn: 36203
2007-04-17 18:03:00 +00:00
Evan Cheng
fb9c4c2edc Updated.
llvm-svn: 35229
2007-03-20 22:32:39 +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
Dale Johannesen
5ec68034ee Add intelligence about where to break large blocks.
llvm-svn: 34755
2007-02-28 18:41:23 +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
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
Dale Johannesen
544968d665 rewrite of constant islands
llvm-svn: 34523
2007-02-23 05:02:36 +00:00
Chris Lattner
63479262b4 add a note
llvm-svn: 33778
2007-02-02 04:36:46 +00:00
Evan Cheng
c6e1d453d3 ARM backend contribution from Apple.
llvm-svn: 33353
2007-01-19 07:51:42 +00:00
Rafael Espindola
e3aafd29a9 add note
llvm-svn: 32452
2006-12-11 23:56:10 +00:00
Rafael Espindola
31f59f5b94 add FSTD and FSTS
llvm-svn: 30996
2006-10-17 13:36:07 +00:00
Rafael Espindola
d255bfb09b implement LDRB, LDRSB, LDRH and LDRSH
llvm-svn: 30976
2006-10-16 17:17:22 +00:00
Rafael Espindola
93359fa883 implement smull and umull
llvm-svn: 30975
2006-10-16 16:33:29 +00:00
Rafael Espindola
fed11f040c add a note
llvm-svn: 30828
2006-10-09 14:18:33 +00:00
Rafael Espindola
90a24709fb implement FLDD
llvm-svn: 30802
2006-10-07 14:03:39 +00:00
Rafael Espindola
b77754ce4d Implement floating point constants
llvm-svn: 30704
2006-10-03 17:27:58 +00:00
Rafael Espindola
9cfd72a3d1 add a note
llvm-svn: 30581
2006-09-22 11:36:17 +00:00
Rafael Espindola
af0512fc8d add a README.txt
llvm-svn: 29814
2006-08-22 12:22:46 +00:00