Anton Korobeynikov
|
e699d0f549
|
Handle logical shift right (at least I hope so :) )
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70758 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:16:17 +00:00 |
|
Anton Korobeynikov
|
e375a7c768
|
Handle anyext
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70757 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:15:57 +00:00 |
|
Anton Korobeynikov
|
0dbf292f68
|
Expand all sorts of indirect branches
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70755 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:15:40 +00:00 |
|
Anton Korobeynikov
|
8644af3690
|
Add InsertBranch() hook for tail mergeing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70754 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:15:22 +00:00 |
|
Anton Korobeynikov
|
49ebc22784
|
Implement bswap
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70753 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:15:03 +00:00 |
|
Anton Korobeynikov
|
5d59f68ade
|
Properly handle ExternalSymbol's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70752 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:14:46 +00:00 |
|
Anton Korobeynikov
|
8725bd22bf
|
Expand muls (all mulls!) to libcalls for now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70751 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:14:25 +00:00 |
|
Anton Korobeynikov
|
c31642f7af
|
Proper name 16 bit libcalls
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70750 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:14:08 +00:00 |
|
Anton Korobeynikov
|
2f25c2c63f
|
Add libcall expansion for 16 and 128 bit muls
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70749 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:13:51 +00:00 |
|
Anton Korobeynikov
|
b8f03c9578
|
Provide addc and subc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70748 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:13:34 +00:00 |
|
Anton Korobeynikov
|
ea54c9846b
|
Add left shift
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70747 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:13:17 +00:00 |
|
Anton Korobeynikov
|
824d8ddae8
|
Add direct branch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70746 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:12:58 +00:00 |
|
Anton Korobeynikov
|
0af5af823b
|
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70745 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:12:37 +00:00 |
|
Anton Korobeynikov
|
8b528e52ee
|
Lower select with custom inserted and make condjumps generic
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70744 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:12:23 +00:00 |
|
Anton Korobeynikov
|
ed1a51af37
|
Add first draft for conditions, conditional branches, etc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70743 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:12:06 +00:00 |
|
Anton Korobeynikov
|
6e4f62790b
|
Hanle i8 returns
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70742 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:11:48 +00:00 |
|
Anton Korobeynikov
|
c08163e72d
|
Small tweaking
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70741 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:11:35 +00:00 |
|
Anton Korobeynikov
|
ce45d30fa1
|
Add prologue/epilogue emission. Fix frame pointer handling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70740 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:11:20 +00:00 |
|
Anton Korobeynikov
|
d5047cb9f7
|
Add code for save/restore of callee-saved registers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70739 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:11:04 +00:00 |
|
Anton Korobeynikov
|
875e1eb8ab
|
Two more hooks for RA and FP registers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70738 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:10:40 +00:00 |
|
Anton Korobeynikov
|
40477317f3
|
Proper handle loading of effective address of stack slot stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70737 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:10:26 +00:00 |
|
Anton Korobeynikov
|
82e46c2595
|
Match frame indexes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70736 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:10:11 +00:00 |
|
Anton Korobeynikov
|
aa29915b58
|
First draft of stack slot loads / stores lowering
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70735 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:09:57 +00:00 |
|
Anton Korobeynikov
|
cf14ae5500
|
Reverse order of memory arguments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70734 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:09:40 +00:00 |
|
Anton Korobeynikov
|
aecfa7897f
|
Remove bogus pattern
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70733 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:09:24 +00:00 |
|
Anton Korobeynikov
|
1deea5f3a7
|
Correct asmprinting of memory operands
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70732 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:09:10 +00:00 |
|
Anton Korobeynikov
|
0eb6af40e3
|
Match wrapper node for address
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70731 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:08:51 +00:00 |
|
Anton Korobeynikov
|
3513ca81c6
|
Add lowering for global address nodes. Not pretty efficient though.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70730 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:08:33 +00:00 |
|
Anton Korobeynikov
|
3c2684d136
|
Some early full call lowering draft for direct calls
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70729 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:08:13 +00:00 |
|
Anton Korobeynikov
|
b561264d2b
|
Add call frame setup instruction elimination and lowerid for bunch of call-related stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70728 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:07:54 +00:00 |
|
Anton Korobeynikov
|
4428885c5a
|
Add CALL lowering.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70727 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:07:31 +00:00 |
|
Anton Korobeynikov
|
01e0e8d119
|
Add bunch of mem-whatever patterns
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70726 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:07:10 +00:00 |
|
Anton Korobeynikov
|
2682bf5979
|
Add bunch of reg-mem inst patterns
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70725 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:06:46 +00:00 |
|
Anton Korobeynikov
|
54f30d3fc9
|
Add normal and trunc stores
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70724 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:06:26 +00:00 |
|
Anton Korobeynikov
|
36b6e533c1
|
Basic support for mem=>reg moves
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70723 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:06:03 +00:00 |
|
Anton Korobeynikov
|
51c31d6888
|
Add 8-bit insts. zext behaviour is not modelled yet
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70722 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:05:42 +00:00 |
|
Anton Korobeynikov
|
cf9adf2cbb
|
Add 8-bit regclass and pattern for sext_inreg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70721 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:05:22 +00:00 |
|
Anton Korobeynikov
|
0fc32dae8f
|
Add pattern for OR
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70720 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:05:00 +00:00 |
|
Anton Korobeynikov
|
6ee626a1c1
|
Add reg-imm variants
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70719 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:04:41 +00:00 |
|
Anton Korobeynikov
|
c8166ac760
|
Add hint to nop
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70718 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:04:23 +00:00 |
|
Anton Korobeynikov
|
0ba0a89c6b
|
Add more instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70717 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:04:06 +00:00 |
|
Anton Korobeynikov
|
b8639f5214
|
Cleanup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70716 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:03:50 +00:00 |
|
Anton Korobeynikov
|
d2c94ae49e
|
Add dummy lowering for shifts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70715 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:03:33 +00:00 |
|
Anton Korobeynikov
|
1476d97037
|
We don't have any div at all - thus mark it as expensive
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70714 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:03:14 +00:00 |
|
Anton Korobeynikov
|
8d7bb3998b
|
We're not going to spend 100% of time in interrupts, do we? :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70713 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:02:57 +00:00 |
|
Anton Korobeynikov
|
431beb5fa7
|
Add simple reg-reg add.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70712 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:02:39 +00:00 |
|
Anton Korobeynikov
|
fff5f76c46
|
gas uses lower letter for register names
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70711 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:02:22 +00:00 |
|
Anton Korobeynikov
|
1df221f2bb
|
Add code enough for emission of reg-reg and reg-imm moves. This allows us to compile "ret i16 0" properly!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70710 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:02:04 +00:00 |
|
Anton Korobeynikov
|
09c42f509a
|
Add function body printing routine
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70709 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:01:41 +00:00 |
|
Anton Korobeynikov
|
f3085ac973
|
Add 'msp430' target triple recognizer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70708 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:01:23 +00:00 |
|