Anton Korobeynikov
|
5753f47f5b
|
Loads are not two-address in any way
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76033 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:24:01 +00:00 |
|
Anton Korobeynikov
|
a61a4f669b
|
Add LOAD NEGATIVE instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76032 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:23:44 +00:00 |
|
Anton Korobeynikov
|
03f60001df
|
LOAD COMPLEMENT instruction is not really two-addr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76031 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:23:30 +00:00 |
|
Anton Korobeynikov
|
6495063386
|
Add multiple add/sub instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76030 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:23:16 +00:00 |
|
Anton Korobeynikov
|
1733124507
|
Handle FP callee-saved regs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76029 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:23:01 +00:00 |
|
Anton Korobeynikov
|
85c5c3f138
|
Proper FP extloads
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76028 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:22:46 +00:00 |
|
Anton Korobeynikov
|
299dc78d67
|
Add proper PWS impdef's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76027 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:22:30 +00:00 |
|
Anton Korobeynikov
|
da723d7d91
|
Propagate FP select_cc to dag inserters
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76026 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:22:15 +00:00 |
|
Anton Korobeynikov
|
55e96fb1c6
|
Implement fp_to_sint
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76025 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:21:57 +00:00 |
|
Anton Korobeynikov
|
92ac82abb4
|
Implement FP regs spills / restores
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76024 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:21:41 +00:00 |
|
Anton Korobeynikov
|
c79465df08
|
Add fabs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76023 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:21:27 +00:00 |
|
Anton Korobeynikov
|
f1e82ce480
|
Add fneg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76022 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:21:12 +00:00 |
|
Anton Korobeynikov
|
9b4ae577ce
|
We don't have native sine / cosine instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76021 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:20:56 +00:00 |
|
Anton Korobeynikov
|
1d0ec0b4fc
|
More sint_to_fp stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76020 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:20:39 +00:00 |
|
Anton Korobeynikov
|
7aa03ac827
|
Add bunch of FP instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76019 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:20:24 +00:00 |
|
Anton Korobeynikov
|
23eff5c75a
|
We don't have any FP extloads
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76018 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:20:08 +00:00 |
|
Anton Korobeynikov
|
10c086cd77
|
Implement all comparisons
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76017 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:19:54 +00:00 |
|
Anton Korobeynikov
|
ae53567de1
|
Add constpool lowering / printing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76016 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:19:35 +00:00 |
|
Anton Korobeynikov
|
0e31d5cf80
|
Allow FP arguments pass / return
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76015 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:19:16 +00:00 |
|
Anton Korobeynikov
|
2c97ae8826
|
Register FP regclasses
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76014 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:19:02 +00:00 |
|
Anton Korobeynikov
|
b13057bafa
|
Add FP regs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76013 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:18:48 +00:00 |
|
Anton Korobeynikov
|
81d533c76a
|
Fix fallout from prev. patch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76012 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:18:31 +00:00 |
|
Anton Korobeynikov
|
8bd0db7615
|
Provide consistent subreg idx scheme. This (hopefully) fixes remaining divide problems
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76011 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:18:17 +00:00 |
|
Anton Korobeynikov
|
09e39001da
|
Use divide single for 32 bit signed divides
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76010 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:17:52 +00:00 |
|
Anton Korobeynikov
|
cd3dfafef1
|
Add missed operands types
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76009 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:17:07 +00:00 |
|
Anton Korobeynikov
|
e1c9aabd77
|
Missed part of prev. patch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76008 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:16:45 +00:00 |
|
Anton Korobeynikov
|
9b812b0131
|
Another attempt to fix prologue emission
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76007 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:16:26 +00:00 |
|
Anton Korobeynikov
|
6fe326c713
|
Implement 'large' PIC model
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76006 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:16:05 +00:00 |
|
Anton Korobeynikov
|
48e8b3cc58
|
Implement shifts properly (hopefilly - finally!)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76005 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:15:24 +00:00 |
|
Anton Korobeynikov
|
e3a7f7a2b2
|
Remove redundand register move
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76004 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:14:54 +00:00 |
|
Anton Korobeynikov
|
0a42d2b437
|
Properly handle divides. As a bonus - implement memory versions of them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76003 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:14:33 +00:00 |
|
Anton Korobeynikov
|
d20af96f5b
|
Fix epic fail: full-width muls are not commutable. This unbreaks bunch of stuff from SingleSource/Benchmarks/Stanford
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76002 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:14:01 +00:00 |
|
Anton Korobeynikov
|
c097d5cc74
|
32 bit rotate is not twoaddr instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76001 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:13:43 +00:00 |
|
Anton Korobeynikov
|
014d4639d8
|
32 bit shifts have only 12 bit displacements
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76000 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:13:24 +00:00 |
|
Anton Korobeynikov
|
54cea741ca
|
Add proper register aliases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75999 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:12:54 +00:00 |
|
Anton Korobeynikov
|
c3a5196133
|
Properly generate stack frame
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75998 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:12:36 +00:00 |
|
Anton Korobeynikov
|
0ba60d9658
|
Unbreak indirect branches
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75997 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:12:18 +00:00 |
|
Anton Korobeynikov
|
78085ee80c
|
Unbreak
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75996 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:12:00 +00:00 |
|
Anton Korobeynikov
|
66f1b378bc
|
Do not forget to save R15 when we allocate stack frame
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75995 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:11:40 +00:00 |
|
Anton Korobeynikov
|
c94fdf76dd
|
All calls clobbers R14
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75994 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:11:22 +00:00 |
|
Anton Korobeynikov
|
6f66f0556c
|
Unbreak calls to vararg functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75993 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:11:03 +00:00 |
|
Anton Korobeynikov
|
2bbbd5bc59
|
Stupid typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75992 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:10:49 +00:00 |
|
Anton Korobeynikov
|
4656760d9c
|
Typos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75991 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:10:35 +00:00 |
|
Anton Korobeynikov
|
1ed1e3ecd4
|
Consolidate reg-imm / reg-reg-imm address mode selection logic in one place.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75990 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:10:17 +00:00 |
|
Anton Korobeynikov
|
5a11e02fbd
|
Fix fallout from 12-bit stuff landing: decide whether 20 bit displacements are needed during elimination of frame indexes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75989 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:09:56 +00:00 |
|
Anton Korobeynikov
|
720e3b00b8
|
Add support for 12 bit displacements
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75988 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:09:35 +00:00 |
|
Anton Korobeynikov
|
078e007c07
|
We already have reserved call frame regardless whether variable sized frame objects were present or not
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75987 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:09:04 +00:00 |
|
Anton Korobeynikov
|
980d5503c3
|
Emit proper lowering of load from arg stack slot
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75986 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:08:42 +00:00 |
|
Anton Korobeynikov
|
c772c4408e
|
Implement dynamic allocas
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75985 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:08:15 +00:00 |
|
Anton Korobeynikov
|
c16cdc5de7
|
Add jump tables
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75984 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:07:50 +00:00 |
|
Anton Korobeynikov
|
983d3a1ee5
|
Exapnd br_jt into indirect branch. Provide pattern for indirect branches.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75983 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:07:24 +00:00 |
|
Anton Korobeynikov
|
57b04e6fa7
|
Implement 64 bit immediates
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75982 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:07:06 +00:00 |
|
Anton Korobeynikov
|
759205d1ac
|
Add rotates
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75981 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:06:49 +00:00 |
|
Anton Korobeynikov
|
cfca8b1f62
|
Add patterns for integer negate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75980 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:06:27 +00:00 |
|
Anton Korobeynikov
|
8c993e1632
|
Provide proper patterns for and with imm instructions. Tune the tests accordingly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75979 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:06:00 +00:00 |
|
Anton Korobeynikov
|
25af73303f
|
Add 32 bit and reg-imm and disable invalid patterns for now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75978 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:05:32 +00:00 |
|
Anton Korobeynikov
|
747052c1a5
|
Add z9 and z10 target processors. Mark z10-only instructions as such.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75977 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:05:00 +00:00 |
|
Anton Korobeynikov
|
71fd2600f4
|
Fix MUL64rm instruction asmprinting
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75976 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:04:38 +00:00 |
|
Anton Korobeynikov
|
70f717f0b7
|
Preliminary asmprinting of globals
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75975 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:04:22 +00:00 |
|
Anton Korobeynikov
|
ed00212f43
|
Implement asmprinting for odd-even regpairs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75974 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:04:01 +00:00 |
|
Anton Korobeynikov
|
3166a9ac5c
|
32-bit ri addressing mode has only 12-bit displacement
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75973 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:03:41 +00:00 |
|
Anton Korobeynikov
|
501f55d841
|
Forgot to add
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75972 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:03:24 +00:00 |
|
Anton Korobeynikov
|
d3ba2f286d
|
Print signed imms properly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75970 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:02:45 +00:00 |
|
Anton Korobeynikov
|
4b730160bb
|
Provide hooks for spilling / restoring stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75969 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:01:27 +00:00 |
|
Anton Korobeynikov
|
4cc7ce0c01
|
Revert thinko
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75968 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:01:10 +00:00 |
|
Anton Korobeynikov
|
319f381bbc
|
Temporary workaround problem with signed 32-bit imm's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75967 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:00:42 +00:00 |
|
Anton Korobeynikov
|
64d52d4a5d
|
Implement InsertBranch() hook
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75966 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 14:00:10 +00:00 |
|
Anton Korobeynikov
|
c9d4a887f6
|
Pipehole pattern for i32 imm's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75965 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:59:49 +00:00 |
|
Anton Korobeynikov
|
ac16b181f1
|
Bunch of sext_inreg patterns
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75964 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:59:18 +00:00 |
|
Anton Korobeynikov
|
e00f1a722f
|
Provide normal 32 bit load and store
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75963 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:58:43 +00:00 |
|
Anton Korobeynikov
|
22836d1b31
|
Proper lower 'small' results
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75962 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:58:24 +00:00 |
|
Anton Korobeynikov
|
eb68f1c661
|
Completel forgot about unconditional branches
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75961 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:57:52 +00:00 |
|
Anton Korobeynikov
|
bad769f11a
|
Lower addresses of globals
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75960 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:57:27 +00:00 |
|
Anton Korobeynikov
|
8d1837d9be
|
Provide "wide" muls and divs/rems
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75958 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:56:42 +00:00 |
|
Anton Korobeynikov
|
11275eba17
|
Fix thinko
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75957 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:56:11 +00:00 |
|
Anton Korobeynikov
|
338cf05f16
|
Fix epic bug with invalid regclass for R0D
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75956 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:55:51 +00:00 |
|
Anton Korobeynikov
|
3e980b4f11
|
More register pairs (now 32 bit ones)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75954 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:55:04 +00:00 |
|
Anton Korobeynikov
|
05a54ff12a
|
Add even-odd register pairs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75953 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:54:45 +00:00 |
|
Anton Korobeynikov
|
2fdecaf1d5
|
Unbreak due to mainline api change
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75952 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:54:20 +00:00 |
|
Anton Korobeynikov
|
dd0239b42c
|
Preliminary mul lowering
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75951 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:53:55 +00:00 |
|
Anton Korobeynikov
|
bf0221771f
|
More extloads
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75950 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:53:35 +00:00 |
|
Anton Korobeynikov
|
7d1e39b7c6
|
SELECT_CC lowering
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75948 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:52:51 +00:00 |
|
Anton Korobeynikov
|
4ec3e5ffd1
|
Conditional branches and comparisons
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75947 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:52:31 +00:00 |
|
Anton Korobeynikov
|
c7b71bede4
|
Emit correct offset for PseudoSourceValue
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75946 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:52:10 +00:00 |
|
Anton Korobeynikov
|
656ac6f0f6
|
Provide proper stack offsets for outgoing arguments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75945 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:51:53 +00:00 |
|
Anton Korobeynikov
|
4f9017f214
|
Change register allocation order to reduce amount of callee-saved regs to be spilled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75944 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:51:34 +00:00 |
|
Anton Korobeynikov
|
ef5decab53
|
Emit callee-saved regs spills / restores
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75943 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:51:12 +00:00 |
|
Anton Korobeynikov
|
ba249e41f3
|
Some preliminary call lowering
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75941 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:50:21 +00:00 |
|
Anton Korobeynikov
|
3c98c616c5
|
Prologue / epilogue emission
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75940 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:49:49 +00:00 |
|
Anton Korobeynikov
|
51f613fb2b
|
Add simple frame index elimination
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75939 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:49:25 +00:00 |
|
Anton Korobeynikov
|
c4368a1507
|
Swap the order of imm and idx field for rri addrmode in order to make handling of rri and ri addrmodes common
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75937 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:48:42 +00:00 |
|
Anton Korobeynikov
|
3240740ef4
|
Do not truncate sign bits for negative imms
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75936 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:48:23 +00:00 |
|
Anton Korobeynikov
|
711d5b68e0
|
Add address computation stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75935 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:47:59 +00:00 |
|
Anton Korobeynikov
|
dfd0dffa36
|
Cleanup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75934 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:47:36 +00:00 |
|
Anton Korobeynikov
|
c8301d17a8
|
Add mem-imm stores
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75933 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:47:14 +00:00 |
|
Anton Korobeynikov
|
30da5380e0
|
[PATCH 023/155] Typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75932 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:45:22 +00:00 |
|
Anton Korobeynikov
|
961bb6f430
|
Add stores and truncstores
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75931 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:45:00 +00:00 |
|
Anton Korobeynikov
|
dc28955b3f
|
Add patterns for various extloads
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75930 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:44:30 +00:00 |
|
Anton Korobeynikov
|
3360da9772
|
Do some heroic rri address matching (shamelessly stolen from x86 backend). Not tested though.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75929 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:44:00 +00:00 |
|
Anton Korobeynikov
|
4cad7d29fc
|
Change register allocation order, so R0 will be allocated the last among scratch. This will make address-calculation code much more happy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75928 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-07-16 13:43:40 +00:00 |
|