Anton Korobeynikov
|
dedfa00ba1
|
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
|
eb2152f753
|
Expand divisions into libcalls
llvm-svn: 70765
|
2009-05-03 13:18:33 +00:00 |
Anton Korobeynikov
|
29747e9c26
|
Custom lower SIGN_EXTEND
llvm-svn: 70763
|
2009-05-03 13:17:49 +00:00 |
Anton Korobeynikov
|
3c48ea7dbe
|
Some eye-candy
llvm-svn: 70762
|
2009-05-03 13:17:31 +00:00 |
Anton Korobeynikov
|
48e21c57f1
|
Print function header / footer
llvm-svn: 70761
|
2009-05-03 13:17:11 +00:00 |
Anton Korobeynikov
|
8847e3e554
|
Fix printing: je => jeq
llvm-svn: 70760
|
2009-05-03 13:16:54 +00:00 |
Anton Korobeynikov
|
f3a6bc8562
|
Add 8bit shifts
llvm-svn: 70759
|
2009-05-03 13:16:37 +00:00 |
Anton Korobeynikov
|
61763b532a
|
Handle logical shift right (at least I hope so :) )
llvm-svn: 70758
|
2009-05-03 13:16:17 +00:00 |
Anton Korobeynikov
|
20a91130ce
|
Handle anyext
llvm-svn: 70757
|
2009-05-03 13:15:57 +00:00 |
Anton Korobeynikov
|
e31559576f
|
Expand all sorts of indirect branches
llvm-svn: 70755
|
2009-05-03 13:15:40 +00:00 |
Anton Korobeynikov
|
41917df643
|
Add InsertBranch() hook for tail mergeing
llvm-svn: 70754
|
2009-05-03 13:15:22 +00:00 |
Anton Korobeynikov
|
4b0a0f18fb
|
Implement bswap
llvm-svn: 70753
|
2009-05-03 13:15:03 +00:00 |
Anton Korobeynikov
|
ba0e81d4b2
|
Properly handle ExternalSymbol's
llvm-svn: 70752
|
2009-05-03 13:14:46 +00:00 |
Anton Korobeynikov
|
de60d1caef
|
Expand muls (all mulls!) to libcalls for now
llvm-svn: 70751
|
2009-05-03 13:14:25 +00:00 |
Anton Korobeynikov
|
0da755ee3e
|
Provide addc and subc
llvm-svn: 70748
|
2009-05-03 13:13:34 +00:00 |
Anton Korobeynikov
|
a3f7a83ad8
|
Add left shift
llvm-svn: 70747
|
2009-05-03 13:13:17 +00:00 |
Anton Korobeynikov
|
aa43d0b182
|
Add direct branch
llvm-svn: 70746
|
2009-05-03 13:12:58 +00:00 |
Anton Korobeynikov
|
24bfb51416
|
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
|
b6321e15f7
|
Lower select with custom inserted and make condjumps generic
llvm-svn: 70744
|
2009-05-03 13:12:23 +00:00 |
Anton Korobeynikov
|
962720129d
|
Add first draft for conditions, conditional branches, etc
llvm-svn: 70743
|
2009-05-03 13:12:06 +00:00 |
Anton Korobeynikov
|
aa51bff808
|
Hanle i8 returns
llvm-svn: 70742
|
2009-05-03 13:11:48 +00:00 |
Anton Korobeynikov
|
7212c15e70
|
Small tweaking
llvm-svn: 70741
|
2009-05-03 13:11:35 +00:00 |
Anton Korobeynikov
|
f2b50994ca
|
Add prologue/epilogue emission. Fix frame pointer handling.
llvm-svn: 70740
|
2009-05-03 13:11:20 +00:00 |
Anton Korobeynikov
|
1af0b61e7c
|
Add code for save/restore of callee-saved registers
llvm-svn: 70739
|
2009-05-03 13:11:04 +00:00 |
Anton Korobeynikov
|
b85f4ec819
|
Two more hooks for RA and FP registers
llvm-svn: 70738
|
2009-05-03 13:10:40 +00:00 |
Anton Korobeynikov
|
7784ae9a6f
|
Proper handle loading of effective address of stack slot stuff
llvm-svn: 70737
|
2009-05-03 13:10:26 +00:00 |
Anton Korobeynikov
|
0d1234fd69
|
Match frame indexes
llvm-svn: 70736
|
2009-05-03 13:10:11 +00:00 |
Anton Korobeynikov
|
f6af822c76
|
First draft of stack slot loads / stores lowering
llvm-svn: 70735
|
2009-05-03 13:09:57 +00:00 |
Anton Korobeynikov
|
ed65671768
|
Reverse order of memory arguments
llvm-svn: 70734
|
2009-05-03 13:09:40 +00:00 |
Anton Korobeynikov
|
04888305f6
|
Remove bogus pattern
llvm-svn: 70733
|
2009-05-03 13:09:24 +00:00 |
Anton Korobeynikov
|
6399a3d628
|
Correct asmprinting of memory operands
llvm-svn: 70732
|
2009-05-03 13:09:10 +00:00 |
Anton Korobeynikov
|
a3bce28ae0
|
Match wrapper node for address
llvm-svn: 70731
|
2009-05-03 13:08:51 +00:00 |
Anton Korobeynikov
|
cfc97056e7
|
Add lowering for global address nodes. Not pretty efficient though.
llvm-svn: 70730
|
2009-05-03 13:08:33 +00:00 |
Anton Korobeynikov
|
b5613928f5
|
Some early full call lowering draft for direct calls
llvm-svn: 70729
|
2009-05-03 13:08:13 +00:00 |
Anton Korobeynikov
|
ec3f0b3f9d
|
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
|
5613510c81
|
Add CALL lowering.
llvm-svn: 70727
|
2009-05-03 13:07:31 +00:00 |
Anton Korobeynikov
|
c995ddd017
|
Add bunch of mem-whatever patterns
llvm-svn: 70726
|
2009-05-03 13:07:10 +00:00 |
Anton Korobeynikov
|
f702a0085c
|
Add bunch of reg-mem inst patterns
llvm-svn: 70725
|
2009-05-03 13:06:46 +00:00 |
Anton Korobeynikov
|
ed1c3dfa0f
|
Add normal and trunc stores
llvm-svn: 70724
|
2009-05-03 13:06:26 +00:00 |
Anton Korobeynikov
|
31ecd23a9e
|
Basic support for mem=>reg moves
llvm-svn: 70723
|
2009-05-03 13:06:03 +00:00 |
Anton Korobeynikov
|
80a73e7d8b
|
Add 8-bit insts. zext behaviour is not modelled yet
llvm-svn: 70722
|
2009-05-03 13:05:42 +00:00 |
Anton Korobeynikov
|
b900245e13
|
Add 8-bit regclass and pattern for sext_inreg
llvm-svn: 70721
|
2009-05-03 13:05:22 +00:00 |
Anton Korobeynikov
|
b638fb10f5
|
Add pattern for OR
llvm-svn: 70720
|
2009-05-03 13:05:00 +00:00 |
Anton Korobeynikov
|
654cb0a761
|
Add reg-imm variants
llvm-svn: 70719
|
2009-05-03 13:04:41 +00:00 |
Anton Korobeynikov
|
37709c3584
|
Add hint to nop
llvm-svn: 70718
|
2009-05-03 13:04:23 +00:00 |
Anton Korobeynikov
|
6339db830e
|
Add more instructions
llvm-svn: 70717
|
2009-05-03 13:04:06 +00:00 |
Anton Korobeynikov
|
e32c817d2c
|
Cleanup
llvm-svn: 70716
|
2009-05-03 13:03:50 +00:00 |
Anton Korobeynikov
|
15a515b1af
|
Add dummy lowering for shifts
llvm-svn: 70715
|
2009-05-03 13:03:33 +00:00 |
Anton Korobeynikov
|
55a085b539
|
We don't have any div at all - thus mark it as expensive
llvm-svn: 70714
|
2009-05-03 13:03:14 +00:00 |
Anton Korobeynikov
|
abb51755c8
|
We're not going to spend 100% of time in interrupts, do we? :)
llvm-svn: 70713
|
2009-05-03 13:02:57 +00:00 |
Anton Korobeynikov
|
8a17dff7d0
|
Add simple reg-reg add.
llvm-svn: 70712
|
2009-05-03 13:02:39 +00:00 |
Anton Korobeynikov
|
6ff6fc95a0
|
gas uses lower letter for register names
llvm-svn: 70711
|
2009-05-03 13:02:22 +00:00 |
Anton Korobeynikov
|
d7afd69e3b
|
Add code enough for emission of reg-reg and reg-imm moves. This allows us to compile "ret i16 0" properly!
llvm-svn: 70710
|
2009-05-03 13:02:04 +00:00 |
Anton Korobeynikov
|
c942782b3b
|
Add function body printing routine
llvm-svn: 70709
|
2009-05-03 13:01:41 +00:00 |
Anton Korobeynikov
|
ef811d8e05
|
Add 'msp430' target triple recognizer
llvm-svn: 70708
|
2009-05-03 13:01:23 +00:00 |
Anton Korobeynikov
|
a9b7df98e6
|
Make emit{Prologue,Epilogue}() noop for now
llvm-svn: 70707
|
2009-05-03 13:01:04 +00:00 |
Anton Korobeynikov
|
69f51f0b41
|
Add callee-saved regs & reg classes getter hooks
llvm-svn: 70706
|
2009-05-03 13:00:46 +00:00 |
Anton Korobeynikov
|
efcd5aa381
|
Add simple FP indicator for given function hook
llvm-svn: 70705
|
2009-05-03 13:00:28 +00:00 |
Anton Korobeynikov
|
c10f98ace3
|
Provide set of reserved registers
llvm-svn: 70704
|
2009-05-03 13:00:11 +00:00 |
Anton Korobeynikov
|
7bfc3ea2ee
|
Add proper ISD::RET lowering
llvm-svn: 70703
|
2009-05-03 12:59:50 +00:00 |
Anton Korobeynikov
|
3849be6ca1
|
Add first draft of MSP430 calling convention stuff and draft of ISD::FORMAL_ARGUMENTS node lowering.
llvm-svn: 70702
|
2009-05-03 12:59:33 +00:00 |
Anton Korobeynikov
|
77e5a11ec2
|
Fix register names, fix register allocation order, handle frame pointer.
llvm-svn: 70701
|
2009-05-03 12:59:16 +00:00 |
Anton Korobeynikov
|
64717bbc14
|
Clearify the usage and add some debug stuff
llvm-svn: 70700
|
2009-05-03 12:58:58 +00:00 |
Anton Korobeynikov
|
e10f69a8a7
|
Cleanup
llvm-svn: 70699
|
2009-05-03 12:58:40 +00:00 |
Anton Korobeynikov
|
128e8a188f
|
Add cmake script. No idea whether it works or not :)
llvm-svn: 70698
|
2009-05-03 12:58:22 +00:00 |
Anton Korobeynikov
|
4130a7c1e7
|
Add a note
llvm-svn: 70697
|
2009-05-03 12:58:05 +00:00 |
Anton Korobeynikov
|
7c4db99df3
|
Typo
llvm-svn: 70695
|
2009-05-03 12:57:47 +00:00 |
Anton Korobeynikov
|
101380015c
|
Dummy MSP430 backend
llvm-svn: 70694
|
2009-05-03 12:57:15 +00:00 |