Anton Korobeynikov
|
c3170f5236
|
Provide normal 32 bit load and store
llvm-svn: 75963
|
2009-07-16 13:58:43 +00:00 |
Anton Korobeynikov
|
d568f6dce2
|
Proper lower 'small' results
llvm-svn: 75962
|
2009-07-16 13:58:24 +00:00 |
Anton Korobeynikov
|
f1bf3176c6
|
Completel forgot about unconditional branches
llvm-svn: 75961
|
2009-07-16 13:57:52 +00:00 |
Anton Korobeynikov
|
15d6e8785b
|
Lower addresses of globals
llvm-svn: 75960
|
2009-07-16 13:57:27 +00:00 |
Anton Korobeynikov
|
f0d7d6ce65
|
Provide "wide" muls and divs/rems
llvm-svn: 75958
|
2009-07-16 13:56:42 +00:00 |
Anton Korobeynikov
|
d919010b6a
|
Fix thinko
llvm-svn: 75957
|
2009-07-16 13:56:11 +00:00 |
Anton Korobeynikov
|
4ee0acd326
|
Fix epic bug with invalid regclass for R0D
llvm-svn: 75956
|
2009-07-16 13:55:51 +00:00 |
Anton Korobeynikov
|
590f99b18b
|
More register pairs (now 32 bit ones)
llvm-svn: 75954
|
2009-07-16 13:55:04 +00:00 |
Anton Korobeynikov
|
ccde90b83c
|
Add even-odd register pairs
llvm-svn: 75953
|
2009-07-16 13:54:45 +00:00 |
Anton Korobeynikov
|
31e9a53d17
|
Unbreak due to mainline api change
llvm-svn: 75952
|
2009-07-16 13:54:20 +00:00 |
Anton Korobeynikov
|
071178ea15
|
Preliminary mul lowering
llvm-svn: 75951
|
2009-07-16 13:53:55 +00:00 |
Anton Korobeynikov
|
23e3c6657c
|
More extloads
llvm-svn: 75950
|
2009-07-16 13:53:35 +00:00 |
Anton Korobeynikov
|
0f59e1e874
|
SELECT_CC lowering
llvm-svn: 75948
|
2009-07-16 13:52:51 +00:00 |
Anton Korobeynikov
|
ac4fb7f977
|
Conditional branches and comparisons
llvm-svn: 75947
|
2009-07-16 13:52:31 +00:00 |
Anton Korobeynikov
|
11665a64b0
|
Emit correct offset for PseudoSourceValue
llvm-svn: 75946
|
2009-07-16 13:52:10 +00:00 |
Anton Korobeynikov
|
29329a0695
|
Provide proper stack offsets for outgoing arguments
llvm-svn: 75945
|
2009-07-16 13:51:53 +00:00 |
Anton Korobeynikov
|
44483f9eb3
|
Change register allocation order to reduce amount of callee-saved regs to be spilled.
llvm-svn: 75944
|
2009-07-16 13:51:34 +00:00 |
Anton Korobeynikov
|
8695a30066
|
Emit callee-saved regs spills / restores
llvm-svn: 75943
|
2009-07-16 13:51:12 +00:00 |
Anton Korobeynikov
|
d694b9ff8b
|
Some preliminary call lowering
llvm-svn: 75941
|
2009-07-16 13:50:21 +00:00 |
Anton Korobeynikov
|
018599fc0b
|
Prologue / epilogue emission
llvm-svn: 75940
|
2009-07-16 13:49:49 +00:00 |
Anton Korobeynikov
|
09890bd434
|
Add simple frame index elimination
llvm-svn: 75939
|
2009-07-16 13:49:25 +00:00 |
Anton Korobeynikov
|
8a095bf56d
|
Swap the order of imm and idx field for rri addrmode in order to make handling of rri and ri addrmodes common
llvm-svn: 75937
|
2009-07-16 13:48:42 +00:00 |
Anton Korobeynikov
|
19911b338a
|
Do not truncate sign bits for negative imms
llvm-svn: 75936
|
2009-07-16 13:48:23 +00:00 |
Anton Korobeynikov
|
405833dfb6
|
Add address computation stuff
llvm-svn: 75935
|
2009-07-16 13:47:59 +00:00 |
Anton Korobeynikov
|
b1e35b311c
|
Cleanup
llvm-svn: 75934
|
2009-07-16 13:47:36 +00:00 |
Anton Korobeynikov
|
df99232d27
|
Add mem-imm stores
llvm-svn: 75933
|
2009-07-16 13:47:14 +00:00 |
Anton Korobeynikov
|
98dfc8c2c4
|
[PATCH 023/155] Typo
llvm-svn: 75932
|
2009-07-16 13:45:22 +00:00 |
Anton Korobeynikov
|
44f8bbfb3f
|
Add stores and truncstores
llvm-svn: 75931
|
2009-07-16 13:45:00 +00:00 |
Anton Korobeynikov
|
11b91b4e2e
|
Add patterns for various extloads
llvm-svn: 75930
|
2009-07-16 13:44:30 +00:00 |
Anton Korobeynikov
|
0179364392
|
Do some heroic rri address matching (shamelessly stolen from x86 backend). Not tested though.
llvm-svn: 75929
|
2009-07-16 13:44:00 +00:00 |
Anton Korobeynikov
|
3709f49ee9
|
Change register allocation order, so R0 will be allocated the last among scratch. This will make address-calculation code much more happy.
llvm-svn: 75928
|
2009-07-16 13:43:40 +00:00 |
Anton Korobeynikov
|
04be818918
|
Add shifts and reg-imm address matching
llvm-svn: 75927
|
2009-07-16 13:43:18 +00:00 |
Anton Korobeynikov
|
cf7ea6a94f
|
Add bunch of 32-bit patterns... Uffff :)
llvm-svn: 75926
|
2009-07-16 13:42:31 +00:00 |
Anton Korobeynikov
|
293324104b
|
Add 32 bit subregs
llvm-svn: 75923
|
2009-07-16 13:35:30 +00:00 |
Anton Korobeynikov
|
de517f1e32
|
Add another bunch of reg-imm patterns for add/or/and/xor
llvm-svn: 75922
|
2009-07-16 13:35:08 +00:00 |
Anton Korobeynikov
|
ebe2de0e14
|
Add bunch of reg-imm movs
llvm-svn: 75921
|
2009-07-16 13:34:50 +00:00 |
Anton Korobeynikov
|
168614f54f
|
Proper match halfword-imm operands for mov and add
llvm-svn: 75920
|
2009-07-16 13:34:24 +00:00 |
Anton Korobeynikov
|
28234bcde2
|
Provide masked reg-imm 'or' and 'and'
llvm-svn: 75919
|
2009-07-16 13:33:57 +00:00 |
Anton Korobeynikov
|
0d76b17a78
|
Add reg-reg and pattern
llvm-svn: 75917
|
2009-07-16 13:32:49 +00:00 |
Anton Korobeynikov
|
f9fe4036f2
|
Add sub reg-reg pattern
llvm-svn: 75916
|
2009-07-16 13:32:16 +00:00 |
Anton Korobeynikov
|
a083d7af53
|
Add xor reg-reg pattern
llvm-svn: 75915
|
2009-07-16 13:31:28 +00:00 |
Anton Korobeynikov
|
65096d6a60
|
Add or reg-reg pattern.
llvm-svn: 75914
|
2009-07-16 13:30:53 +00:00 |
Anton Korobeynikov
|
18172d786f
|
Add add reg-reg and reg-imm patterns
llvm-svn: 75913
|
2009-07-16 13:30:15 +00:00 |
Anton Korobeynikov
|
09082fa01a
|
Add simple reg-reg and reg-imm moves
llvm-svn: 75912
|
2009-07-16 13:29:38 +00:00 |
Anton Korobeynikov
|
cf4ba97dba
|
Minimal lowering for formal_arguments / ret
llvm-svn: 75911
|
2009-07-16 13:28:59 +00:00 |
Anton Korobeynikov
|
c334c28b3b
|
Let's start another backend :)
llvm-svn: 75909
|
2009-07-16 13:27:25 +00:00 |