Anton Korobeynikov
|
da4d2f63d8
|
Allow 8 bit select in custom inserter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71239 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-08 18:51:21 +00:00 |
|
Anton Korobeynikov
|
0616c3b678
|
Expand UREM / SREM into libcalls
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71236 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-08 18:50:41 +00:00 |
|
Anton Korobeynikov
|
1cb0acee8a
|
Add 8 bit select
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71235 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-08 18:50:26 +00:00 |
|
Mike Stump
|
fe095f39e7
|
Restore minor deletion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70892 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-04 18:40:41 +00:00 |
|
Anton Korobeynikov
|
87e3caf819
|
Handle implicit zext in a better way. Shamelessly stolen from x86 backend.
Thanks for Dan Gohman for suggestion!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70782 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 15:50:18 +00:00 |
|
Anton Korobeynikov
|
60871cb40c
|
Update due to mainline API change
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70769 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:19:42 +00:00 |
|
Anton Korobeynikov
|
7594884648
|
Add TODO list :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70768 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:19:24 +00:00 |
|
Anton Korobeynikov
|
1bb8cd723d
|
Make handling of conditional stuff much more straightforward
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70767 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:19:09 +00:00 |
|
Anton Korobeynikov
|
1fcfb6b6d2
|
Temporary disable imm patterns for cmp. Actually, all cmp-related stuff (select_cc, setcc, br_cc). needs to be rethought
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70766 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:18:50 +00:00 |
|
Anton Korobeynikov
|
f2f540261b
|
Expand divisions into libcalls
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70765 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:18:33 +00:00 |
|
Anton Korobeynikov
|
b78e214274
|
Custom lower SIGN_EXTEND
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70763 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:17:49 +00:00 |
|
Anton Korobeynikov
|
1394db0eeb
|
Some eye-candy
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70762 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:17:31 +00:00 |
|
Anton Korobeynikov
|
6130fc8ea3
|
Print function header / footer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70761 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:17:11 +00:00 |
|
Anton Korobeynikov
|
d9e89f6ea4
|
Fix printing: je => jeq
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70760 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:16:54 +00:00 |
|
Anton Korobeynikov
|
bf8ef3f29d
|
Add 8bit shifts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70759 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:16:37 +00:00 |
|
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
|
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 |
|
Anton Korobeynikov
|
e37db97928
|
Make emit{Prologue,Epilogue}() noop for now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70707 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:01:04 +00:00 |
|
Anton Korobeynikov
|
fbf165a74b
|
Add callee-saved regs & reg classes getter hooks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70706 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:00:46 +00:00 |
|
Anton Korobeynikov
|
3a4fbcfd33
|
Add simple FP indicator for given function hook
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70705 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:00:28 +00:00 |
|
Anton Korobeynikov
|
dcb802cf7b
|
Provide set of reserved registers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70704 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:00:11 +00:00 |
|
Anton Korobeynikov
|
fd1b7c778c
|
Add proper ISD::RET lowering
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70703 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 12:59:50 +00:00 |
|
Anton Korobeynikov
|
c8fbb6ae20
|
Add first draft of MSP430 calling convention stuff and draft of ISD::FORMAL_ARGUMENTS node lowering.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70702 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 12:59:33 +00:00 |
|
Anton Korobeynikov
|
2dd6cdc920
|
Fix register names, fix register allocation order, handle frame pointer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70701 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 12:59:16 +00:00 |
|
Anton Korobeynikov
|
43ed64a182
|
Clearify the usage and add some debug stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70700 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 12:58:58 +00:00 |
|
Anton Korobeynikov
|
9e12339cb2
|
Cleanup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70699 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 12:58:40 +00:00 |
|
Anton Korobeynikov
|
b78e17b33a
|
Add cmake script. No idea whether it works or not :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70698 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 12:58:22 +00:00 |
|
Anton Korobeynikov
|
fe3fc5ace7
|
Add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70697 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 12:58:05 +00:00 |
|
Anton Korobeynikov
|
f99601fab4
|
Typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70695 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 12:57:47 +00:00 |
|
Anton Korobeynikov
|
f2c3e179ec
|
Dummy MSP430 backend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70694 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 12:57:15 +00:00 |
|