Anton Korobeynikov
|
df33e5a803
|
Handle implicit zext in a better way. Shamelessly stolen from x86 backend.
Thanks for Dan Gohman for suggestion!
llvm-svn: 70782
|
2009-05-03 15:50:18 +00:00 |
|
Anton Korobeynikov
|
232363815b
|
Regenerate
llvm-svn: 70772
|
2009-05-03 13:42:23 +00:00 |
|
Anton Korobeynikov
|
15587901c3
|
Fix typo
llvm-svn: 70770
|
2009-05-03 13:19:57 +00:00 |
|
Anton Korobeynikov
|
46a92ec4d6
|
Update due to mainline API change
llvm-svn: 70769
|
2009-05-03 13:19:42 +00:00 |
|
Anton Korobeynikov
|
13ed1c4514
|
Add TODO list :)
llvm-svn: 70768
|
2009-05-03 13:19:24 +00:00 |
|
Anton Korobeynikov
|
8988fea464
|
Make handling of conditional stuff much more straightforward
llvm-svn: 70767
|
2009-05-03 13:19:09 +00:00 |
|
Anton Korobeynikov
|
d8c42b2dee
|
Temporary disable imm patterns for cmp. Actually, all cmp-related stuff (select_cc, setcc, br_cc). needs to be rethought
llvm-svn: 70766
|
2009-05-03 13:18:50 +00:00 |
|
Anton Korobeynikov
|
e6c8cc6c51
|
Expand divisions into libcalls
llvm-svn: 70765
|
2009-05-03 13:18:33 +00:00 |
|
Anton Korobeynikov
|
34d22f34a8
|
Properly handle sdiv / udiv / srem / urem libcalls
llvm-svn: 70764
|
2009-05-03 13:18:16 +00:00 |
|
Anton Korobeynikov
|
54bbd77498
|
Custom lower SIGN_EXTEND
llvm-svn: 70763
|
2009-05-03 13:17:49 +00:00 |
|
Anton Korobeynikov
|
9103796e69
|
Some eye-candy
llvm-svn: 70762
|
2009-05-03 13:17:31 +00:00 |
|
Anton Korobeynikov
|
c0ea294fb9
|
Print function header / footer
llvm-svn: 70761
|
2009-05-03 13:17:11 +00:00 |
|
Anton Korobeynikov
|
f4b4812c83
|
Fix printing: je => jeq
llvm-svn: 70760
|
2009-05-03 13:16:54 +00:00 |
|
Anton Korobeynikov
|
4b5232c990
|
Add 8bit shifts
llvm-svn: 70759
|
2009-05-03 13:16:37 +00:00 |
|
Anton Korobeynikov
|
d0e3939bdf
|
Handle logical shift right (at least I hope so :) )
llvm-svn: 70758
|
2009-05-03 13:16:17 +00:00 |
|
Anton Korobeynikov
|
7dd27f2e41
|
Handle anyext
llvm-svn: 70757
|
2009-05-03 13:15:57 +00:00 |
|
Anton Korobeynikov
|
baf9278166
|
Expand all sorts of indirect branches
llvm-svn: 70755
|
2009-05-03 13:15:40 +00:00 |
|
Anton Korobeynikov
|
806b8efb5e
|
Add InsertBranch() hook for tail mergeing
llvm-svn: 70754
|
2009-05-03 13:15:22 +00:00 |
|
Anton Korobeynikov
|
b97b120cf9
|
Implement bswap
llvm-svn: 70753
|
2009-05-03 13:15:03 +00:00 |
|
Anton Korobeynikov
|
cebc97d79c
|
Properly handle ExternalSymbol's
llvm-svn: 70752
|
2009-05-03 13:14:46 +00:00 |
|
Anton Korobeynikov
|
9b84c6b633
|
Expand muls (all mulls!) to libcalls for now
llvm-svn: 70751
|
2009-05-03 13:14:25 +00:00 |
|
Anton Korobeynikov
|
7f560f113d
|
Proper name 16 bit libcalls
llvm-svn: 70750
|
2009-05-03 13:14:08 +00:00 |
|
Anton Korobeynikov
|
b4da45ecd8
|
Add libcall expansion for 16 and 128 bit muls
llvm-svn: 70749
|
2009-05-03 13:13:51 +00:00 |
|
Anton Korobeynikov
|
80d0bdc789
|
Provide addc and subc
llvm-svn: 70748
|
2009-05-03 13:13:34 +00:00 |
|
Anton Korobeynikov
|
1f80bde7ad
|
Add left shift
llvm-svn: 70747
|
2009-05-03 13:13:17 +00:00 |
|
Anton Korobeynikov
|
d9b4143e47
|
Add direct branch
llvm-svn: 70746
|
2009-05-03 13:12:58 +00:00 |
|
Anton Korobeynikov
|
c5a13f6a3f
|
It's error-prone to maintain two separate variants of asmprinting stuff, one of which is even used. Drop second (aka 'intel') variant of operands. It can be added later, if needed.
llvm-svn: 70745
|
2009-05-03 13:12:37 +00:00 |
|
Anton Korobeynikov
|
f7943f8df6
|
Lower select with custom inserted and make condjumps generic
llvm-svn: 70744
|
2009-05-03 13:12:23 +00:00 |
|
Anton Korobeynikov
|
d55d6586ae
|
Add first draft for conditions, conditional branches, etc
llvm-svn: 70743
|
2009-05-03 13:12:06 +00:00 |
|
Anton Korobeynikov
|
2b8085a3f5
|
Hanle i8 returns
llvm-svn: 70742
|
2009-05-03 13:11:48 +00:00 |
|
Anton Korobeynikov
|
67b1a5c20b
|
Small tweaking
llvm-svn: 70741
|
2009-05-03 13:11:35 +00:00 |
|
Anton Korobeynikov
|
c428224a89
|
Add prologue/epilogue emission. Fix frame pointer handling.
llvm-svn: 70740
|
2009-05-03 13:11:20 +00:00 |
|
Anton Korobeynikov
|
10d199fa80
|
Add code for save/restore of callee-saved registers
llvm-svn: 70739
|
2009-05-03 13:11:04 +00:00 |
|
Anton Korobeynikov
|
6a63537ff0
|
Two more hooks for RA and FP registers
llvm-svn: 70738
|
2009-05-03 13:10:40 +00:00 |
|
Anton Korobeynikov
|
06d645c199
|
Proper handle loading of effective address of stack slot stuff
llvm-svn: 70737
|
2009-05-03 13:10:26 +00:00 |
|
Anton Korobeynikov
|
88cc152a78
|
Match frame indexes
llvm-svn: 70736
|
2009-05-03 13:10:11 +00:00 |
|
Anton Korobeynikov
|
e7639579a3
|
First draft of stack slot loads / stores lowering
llvm-svn: 70735
|
2009-05-03 13:09:57 +00:00 |
|
Anton Korobeynikov
|
1f9d4dc64d
|
Reverse order of memory arguments
llvm-svn: 70734
|
2009-05-03 13:09:40 +00:00 |
|
Anton Korobeynikov
|
f3fadcbbda
|
Remove bogus pattern
llvm-svn: 70733
|
2009-05-03 13:09:24 +00:00 |
|
Anton Korobeynikov
|
47c1450013
|
Correct asmprinting of memory operands
llvm-svn: 70732
|
2009-05-03 13:09:10 +00:00 |
|
Anton Korobeynikov
|
eea3a58bbf
|
Match wrapper node for address
llvm-svn: 70731
|
2009-05-03 13:08:51 +00:00 |
|
Anton Korobeynikov
|
cd06be1d13
|
Add lowering for global address nodes. Not pretty efficient though.
llvm-svn: 70730
|
2009-05-03 13:08:33 +00:00 |
|
Anton Korobeynikov
|
e02a674ee0
|
Some early full call lowering draft for direct calls
llvm-svn: 70729
|
2009-05-03 13:08:13 +00:00 |
|
Anton Korobeynikov
|
b396742d02
|
Add call frame setup instruction elimination and lowerid for bunch of call-related stuff.
llvm-svn: 70728
|
2009-05-03 13:07:54 +00:00 |
|
Anton Korobeynikov
|
4fa710b300
|
Add CALL lowering.
llvm-svn: 70727
|
2009-05-03 13:07:31 +00:00 |
|
Anton Korobeynikov
|
582d2a335b
|
Add bunch of mem-whatever patterns
llvm-svn: 70726
|
2009-05-03 13:07:10 +00:00 |
|
Anton Korobeynikov
|
d14ee9eeae
|
Add bunch of reg-mem inst patterns
llvm-svn: 70725
|
2009-05-03 13:06:46 +00:00 |
|
Anton Korobeynikov
|
7b7a743ea8
|
Add normal and trunc stores
llvm-svn: 70724
|
2009-05-03 13:06:26 +00:00 |
|
Anton Korobeynikov
|
91359dcc3b
|
Basic support for mem=>reg moves
llvm-svn: 70723
|
2009-05-03 13:06:03 +00:00 |
|
Anton Korobeynikov
|
83122b7ef0
|
Add 8-bit insts. zext behaviour is not modelled yet
llvm-svn: 70722
|
2009-05-03 13:05:42 +00:00 |
|