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
|
813090cf89
|
Properly handle sdiv / udiv / srem / urem libcalls
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70764 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-05-03 13:18:16 +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
|
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 |
|