oota-llvm.git
14 years agoImplement shifts properly (hopefilly - finally!)
Anton Korobeynikov [Thu, 16 Jul 2009 14:15:24 +0000 (14:15 +0000)]
Implement shifts properly (hopefilly - finally!)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76005 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove redundand register move
Anton Korobeynikov [Thu, 16 Jul 2009 14:14:54 +0000 (14:14 +0000)]
Remove redundand register move

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76004 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoProperly handle divides. As a bonus - implement memory versions of them.
Anton Korobeynikov [Thu, 16 Jul 2009 14:14:33 +0000 (14:14 +0000)]
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

14 years agoFix epic fail: full-width muls are not commutable. This unbreaks bunch of stuff from...
Anton Korobeynikov [Thu, 16 Jul 2009 14:14:01 +0000 (14:14 +0000)]
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

14 years ago32 bit rotate is not twoaddr instruction
Anton Korobeynikov [Thu, 16 Jul 2009 14:13:43 +0000 (14:13 +0000)]
32 bit rotate is not twoaddr instruction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76001 91177308-0d34-0410-b5e6-96231b3b80d8

14 years ago32 bit shifts have only 12 bit displacements
Anton Korobeynikov [Thu, 16 Jul 2009 14:13:24 +0000 (14:13 +0000)]
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

14 years agoAdd proper register aliases
Anton Korobeynikov [Thu, 16 Jul 2009 14:12:54 +0000 (14:12 +0000)]
Add proper register aliases

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75999 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoProperly generate stack frame
Anton Korobeynikov [Thu, 16 Jul 2009 14:12:36 +0000 (14:12 +0000)]
Properly generate stack frame

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75998 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUnbreak indirect branches
Anton Korobeynikov [Thu, 16 Jul 2009 14:12:18 +0000 (14:12 +0000)]
Unbreak indirect branches

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75997 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUnbreak
Anton Korobeynikov [Thu, 16 Jul 2009 14:12:00 +0000 (14:12 +0000)]
Unbreak

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75996 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDo not forget to save R15 when we allocate stack frame
Anton Korobeynikov [Thu, 16 Jul 2009 14:11:40 +0000 (14:11 +0000)]
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

14 years agoAll calls clobbers R14
Anton Korobeynikov [Thu, 16 Jul 2009 14:11:22 +0000 (14:11 +0000)]
All calls clobbers R14

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75994 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUnbreak calls to vararg functions
Anton Korobeynikov [Thu, 16 Jul 2009 14:11:03 +0000 (14:11 +0000)]
Unbreak calls to vararg functions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75993 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoStupid typo
Anton Korobeynikov [Thu, 16 Jul 2009 14:10:49 +0000 (14:10 +0000)]
Stupid typo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75992 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTypos
Anton Korobeynikov [Thu, 16 Jul 2009 14:10:35 +0000 (14:10 +0000)]
Typos

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75991 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoConsolidate reg-imm / reg-reg-imm address mode selection logic in one place.
Anton Korobeynikov [Thu, 16 Jul 2009 14:10:17 +0000 (14:10 +0000)]
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

14 years agoFix fallout from 12-bit stuff landing: decide whether 20 bit displacements are needed...
Anton Korobeynikov [Thu, 16 Jul 2009 14:09:56 +0000 (14:09 +0000)]
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

14 years agoAdd support for 12 bit displacements
Anton Korobeynikov [Thu, 16 Jul 2009 14:09:35 +0000 (14:09 +0000)]
Add support for 12 bit displacements

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75988 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoWe already have reserved call frame regardless whether variable sized frame objects...
Anton Korobeynikov [Thu, 16 Jul 2009 14:09:04 +0000 (14:09 +0000)]
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

14 years agoEmit proper lowering of load from arg stack slot
Anton Korobeynikov [Thu, 16 Jul 2009 14:08:42 +0000 (14:08 +0000)]
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

14 years agoImplement dynamic allocas
Anton Korobeynikov [Thu, 16 Jul 2009 14:08:15 +0000 (14:08 +0000)]
Implement dynamic allocas

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75985 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd jump tables
Anton Korobeynikov [Thu, 16 Jul 2009 14:07:50 +0000 (14:07 +0000)]
Add jump tables

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75984 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoExapnd br_jt into indirect branch. Provide pattern for indirect branches.
Anton Korobeynikov [Thu, 16 Jul 2009 14:07:24 +0000 (14:07 +0000)]
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

14 years agoImplement 64 bit immediates
Anton Korobeynikov [Thu, 16 Jul 2009 14:07:06 +0000 (14:07 +0000)]
Implement 64 bit immediates

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75982 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd rotates
Anton Korobeynikov [Thu, 16 Jul 2009 14:06:49 +0000 (14:06 +0000)]
Add rotates

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75981 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd patterns for integer negate
Anton Korobeynikov [Thu, 16 Jul 2009 14:06:27 +0000 (14:06 +0000)]
Add patterns for integer negate

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75980 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoProvide proper patterns for and with imm instructions. Tune the tests accordingly.
Anton Korobeynikov [Thu, 16 Jul 2009 14:06:00 +0000 (14:06 +0000)]
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

14 years agoAdd 32 bit and reg-imm and disable invalid patterns for now
Anton Korobeynikov [Thu, 16 Jul 2009 14:05:32 +0000 (14:05 +0000)]
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

14 years agoAdd z9 and z10 target processors. Mark z10-only instructions as such.
Anton Korobeynikov [Thu, 16 Jul 2009 14:05:00 +0000 (14:05 +0000)]
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

14 years agoFix MUL64rm instruction asmprinting
Anton Korobeynikov [Thu, 16 Jul 2009 14:04:38 +0000 (14:04 +0000)]
Fix MUL64rm instruction asmprinting

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75976 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoPreliminary asmprinting of globals
Anton Korobeynikov [Thu, 16 Jul 2009 14:04:22 +0000 (14:04 +0000)]
Preliminary asmprinting of globals

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75975 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoImplement asmprinting for odd-even regpairs
Anton Korobeynikov [Thu, 16 Jul 2009 14:04:01 +0000 (14:04 +0000)]
Implement asmprinting for odd-even regpairs

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75974 91177308-0d34-0410-b5e6-96231b3b80d8

14 years ago32-bit ri addressing mode has only 12-bit displacement
Anton Korobeynikov [Thu, 16 Jul 2009 14:03:41 +0000 (14:03 +0000)]
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

14 years agoForgot to add
Anton Korobeynikov [Thu, 16 Jul 2009 14:03:24 +0000 (14:03 +0000)]
Forgot to add

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75972 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDo not put bunch of target-specific stuff into common namespace
Anton Korobeynikov [Thu, 16 Jul 2009 14:03:08 +0000 (14:03 +0000)]
Do not put bunch of target-specific stuff into common namespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75971 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoPrint signed imms properly
Anton Korobeynikov [Thu, 16 Jul 2009 14:02:45 +0000 (14:02 +0000)]
Print signed imms properly

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75970 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoProvide hooks for spilling / restoring stuff
Anton Korobeynikov [Thu, 16 Jul 2009 14:01:27 +0000 (14:01 +0000)]
Provide hooks for spilling / restoring stuff

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75969 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRevert thinko
Anton Korobeynikov [Thu, 16 Jul 2009 14:01:10 +0000 (14:01 +0000)]
Revert thinko

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75968 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTemporary workaround problem with signed 32-bit imm's
Anton Korobeynikov [Thu, 16 Jul 2009 14:00:42 +0000 (14:00 +0000)]
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

14 years agoImplement InsertBranch() hook
Anton Korobeynikov [Thu, 16 Jul 2009 14:00:10 +0000 (14:00 +0000)]
Implement InsertBranch() hook

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75966 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoPipehole pattern for i32 imm's
Anton Korobeynikov [Thu, 16 Jul 2009 13:59:49 +0000 (13:59 +0000)]
Pipehole pattern for i32 imm's

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75965 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoBunch of sext_inreg patterns
Anton Korobeynikov [Thu, 16 Jul 2009 13:59:18 +0000 (13:59 +0000)]
Bunch of sext_inreg patterns

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75964 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoProvide normal 32 bit load and store
Anton Korobeynikov [Thu, 16 Jul 2009 13:58:43 +0000 (13:58 +0000)]
Provide normal 32 bit load and store

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75963 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoProper lower 'small' results
Anton Korobeynikov [Thu, 16 Jul 2009 13:58:24 +0000 (13:58 +0000)]
Proper lower 'small' results

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75962 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCompletel forgot about unconditional branches
Anton Korobeynikov [Thu, 16 Jul 2009 13:57:52 +0000 (13:57 +0000)]
Completel forgot about unconditional branches

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75961 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoLower addresses of globals
Anton Korobeynikov [Thu, 16 Jul 2009 13:57:27 +0000 (13:57 +0000)]
Lower addresses of globals

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75960 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTest (incomplete) for easy muls
Anton Korobeynikov [Thu, 16 Jul 2009 13:57:03 +0000 (13:57 +0000)]
Test (incomplete) for easy muls

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75959 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoProvide "wide" muls and divs/rems
Anton Korobeynikov [Thu, 16 Jul 2009 13:56:42 +0000 (13:56 +0000)]
Provide "wide" muls and divs/rems

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75958 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix thinko
Anton Korobeynikov [Thu, 16 Jul 2009 13:56:11 +0000 (13:56 +0000)]
Fix thinko

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75957 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix epic bug with invalid regclass for R0D
Anton Korobeynikov [Thu, 16 Jul 2009 13:55:51 +0000 (13:55 +0000)]
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

14 years agoLet RegisterInfo decide whether it can emit cross-class copy or not
Anton Korobeynikov [Thu, 16 Jul 2009 13:55:26 +0000 (13:55 +0000)]
Let RegisterInfo decide whether it can emit cross-class copy or not

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75955 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMore register pairs (now 32 bit ones)
Anton Korobeynikov [Thu, 16 Jul 2009 13:55:04 +0000 (13:55 +0000)]
More register pairs (now 32 bit ones)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75954 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd even-odd register pairs
Anton Korobeynikov [Thu, 16 Jul 2009 13:54:45 +0000 (13:54 +0000)]
Add even-odd register pairs

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75953 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUnbreak due to mainline api change
Anton Korobeynikov [Thu, 16 Jul 2009 13:54:20 +0000 (13:54 +0000)]
Unbreak due to mainline api change

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75952 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoPreliminary mul lowering
Anton Korobeynikov [Thu, 16 Jul 2009 13:53:55 +0000 (13:53 +0000)]
Preliminary mul lowering

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75951 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMore extloads
Anton Korobeynikov [Thu, 16 Jul 2009 13:53:35 +0000 (13:53 +0000)]
More extloads

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75950 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTests for cmp / br_cc / select_cc
Anton Korobeynikov [Thu, 16 Jul 2009 13:53:15 +0000 (13:53 +0000)]
Tests for cmp / br_cc / select_cc

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75949 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSELECT_CC lowering
Anton Korobeynikov [Thu, 16 Jul 2009 13:52:51 +0000 (13:52 +0000)]
SELECT_CC lowering

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75948 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoConditional branches and comparisons
Anton Korobeynikov [Thu, 16 Jul 2009 13:52:31 +0000 (13:52 +0000)]
Conditional branches and comparisons

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75947 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoEmit correct offset for PseudoSourceValue
Anton Korobeynikov [Thu, 16 Jul 2009 13:52:10 +0000 (13:52 +0000)]
Emit correct offset for PseudoSourceValue

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75946 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoProvide proper stack offsets for outgoing arguments
Anton Korobeynikov [Thu, 16 Jul 2009 13:51:53 +0000 (13:51 +0000)]
Provide proper stack offsets for outgoing arguments

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75945 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoChange register allocation order to reduce amount of callee-saved regs to be spilled.
Anton Korobeynikov [Thu, 16 Jul 2009 13:51:34 +0000 (13:51 +0000)]
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

14 years agoEmit callee-saved regs spills / restores
Anton Korobeynikov [Thu, 16 Jul 2009 13:51:12 +0000 (13:51 +0000)]
Emit callee-saved regs spills / restores

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75943 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoScan for presence of calls and determine max callframe size early. To allow ProcessFu...
Anton Korobeynikov [Thu, 16 Jul 2009 13:50:40 +0000 (13:50 +0000)]
Scan for presence of calls and determine max callframe size early. To allow ProcessFunctionBeforeCalleeSaveScan() use this information

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75942 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSome preliminary call lowering
Anton Korobeynikov [Thu, 16 Jul 2009 13:50:21 +0000 (13:50 +0000)]
Some preliminary call lowering

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75941 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoPrologue / epilogue emission
Anton Korobeynikov [Thu, 16 Jul 2009 13:49:49 +0000 (13:49 +0000)]
Prologue / epilogue emission

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75940 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd simple frame index elimination
Anton Korobeynikov [Thu, 16 Jul 2009 13:49:25 +0000 (13:49 +0000)]
Add simple frame index elimination

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75939 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoProvide proper test :)
Anton Korobeynikov [Thu, 16 Jul 2009 13:48:59 +0000 (13:48 +0000)]
Provide proper test :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75938 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSwap the order of imm and idx field for rri addrmode in order to make handling of...
Anton Korobeynikov [Thu, 16 Jul 2009 13:48:42 +0000 (13:48 +0000)]
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

14 years agoDo not truncate sign bits for negative imms
Anton Korobeynikov [Thu, 16 Jul 2009 13:48:23 +0000 (13:48 +0000)]
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

14 years agoAdd address computation stuff
Anton Korobeynikov [Thu, 16 Jul 2009 13:47:59 +0000 (13:47 +0000)]
Add address computation stuff

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75935 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCleanup
Anton Korobeynikov [Thu, 16 Jul 2009 13:47:36 +0000 (13:47 +0000)]
Cleanup

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75934 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd mem-imm stores
Anton Korobeynikov [Thu, 16 Jul 2009 13:47:14 +0000 (13:47 +0000)]
Add mem-imm stores

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75933 91177308-0d34-0410-b5e6-96231b3b80d8

14 years ago[PATCH 023/155] Typo
Anton Korobeynikov [Thu, 16 Jul 2009 13:45:22 +0000 (13:45 +0000)]
[PATCH 023/155] Typo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75932 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd stores and truncstores
Anton Korobeynikov [Thu, 16 Jul 2009 13:45:00 +0000 (13:45 +0000)]
Add stores and truncstores

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75931 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd patterns for various extloads
Anton Korobeynikov [Thu, 16 Jul 2009 13:44:30 +0000 (13:44 +0000)]
Add patterns for various extloads

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75930 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDo some heroic rri address matching (shamelessly stolen from x86 backend). Not tested...
Anton Korobeynikov [Thu, 16 Jul 2009 13:44:00 +0000 (13:44 +0000)]
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

14 years agoChange register allocation order, so R0 will be allocated the last among scratch...
Anton Korobeynikov [Thu, 16 Jul 2009 13:43:40 +0000 (13:43 +0000)]
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

14 years agoAdd shifts and reg-imm address matching
Anton Korobeynikov [Thu, 16 Jul 2009 13:43:18 +0000 (13:43 +0000)]
Add shifts and reg-imm address matching

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75927 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd bunch of 32-bit patterns... Uffff :)
Anton Korobeynikov [Thu, 16 Jul 2009 13:42:31 +0000 (13:42 +0000)]
Add bunch of 32-bit patterns... Uffff :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75926 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoPropagate return result extension type
Anton Korobeynikov [Thu, 16 Jul 2009 13:35:48 +0000 (13:35 +0000)]
Propagate return result extension type

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75925 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd tests for fixes I committed earlier to the C++ FE.
Rafael Espindola [Thu, 16 Jul 2009 13:35:42 +0000 (13:35 +0000)]
Add tests for fixes I committed earlier to the C++ FE.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75924 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd 32 bit subregs
Anton Korobeynikov [Thu, 16 Jul 2009 13:35:30 +0000 (13:35 +0000)]
Add 32 bit subregs

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75923 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd another bunch of reg-imm patterns for add/or/and/xor
Anton Korobeynikov [Thu, 16 Jul 2009 13:35:08 +0000 (13:35 +0000)]
Add another bunch of reg-imm patterns for add/or/and/xor

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75922 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd bunch of reg-imm movs
Anton Korobeynikov [Thu, 16 Jul 2009 13:34:50 +0000 (13:34 +0000)]
Add bunch of reg-imm movs

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75921 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoProper match halfword-imm operands for mov and add
Anton Korobeynikov [Thu, 16 Jul 2009 13:34:24 +0000 (13:34 +0000)]
Proper match halfword-imm operands for mov and add

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75920 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoProvide masked reg-imm 'or' and 'and'
Anton Korobeynikov [Thu, 16 Jul 2009 13:33:57 +0000 (13:33 +0000)]
Provide masked reg-imm 'or' and 'and'

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75919 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix test running lines
Anton Korobeynikov [Thu, 16 Jul 2009 13:33:21 +0000 (13:33 +0000)]
Fix test running lines

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75918 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd reg-reg and pattern
Anton Korobeynikov [Thu, 16 Jul 2009 13:32:49 +0000 (13:32 +0000)]
Add reg-reg and pattern

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75917 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd sub reg-reg pattern
Anton Korobeynikov [Thu, 16 Jul 2009 13:32:16 +0000 (13:32 +0000)]
Add sub reg-reg pattern

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75916 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd xor reg-reg pattern
Anton Korobeynikov [Thu, 16 Jul 2009 13:31:28 +0000 (13:31 +0000)]
Add xor reg-reg pattern

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75915 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd or reg-reg pattern.
Anton Korobeynikov [Thu, 16 Jul 2009 13:30:53 +0000 (13:30 +0000)]
Add or reg-reg pattern.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75914 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd add reg-reg and reg-imm patterns
Anton Korobeynikov [Thu, 16 Jul 2009 13:30:15 +0000 (13:30 +0000)]
Add add reg-reg and reg-imm patterns

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75913 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd simple reg-reg and reg-imm moves
Anton Korobeynikov [Thu, 16 Jul 2009 13:29:38 +0000 (13:29 +0000)]
Add simple reg-reg and reg-imm moves

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75912 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMinimal lowering for formal_arguments / ret
Anton Korobeynikov [Thu, 16 Jul 2009 13:28:59 +0000 (13:28 +0000)]
Minimal lowering for formal_arguments / ret

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75911 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd testsuite dir for systemz stuff
Anton Korobeynikov [Thu, 16 Jul 2009 13:28:22 +0000 (13:28 +0000)]
Add testsuite dir for systemz stuff

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75910 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoLet's start another backend :)
Anton Korobeynikov [Thu, 16 Jul 2009 13:27:25 +0000 (13:27 +0000)]
Let's start another backend :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75909 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCombine an unaligned store of unaligned load into a memmove.
Richard Osborne [Thu, 16 Jul 2009 12:50:48 +0000 (12:50 +0000)]
Combine an unaligned store of unaligned load into a memmove.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75908 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoLower the threshold at which memcpy / memmove / memset stop being expanded
Richard Osborne [Thu, 16 Jul 2009 12:41:34 +0000 (12:41 +0000)]
Lower the threshold at which memcpy / memmove / memset stop being expanded
inline in the XCore.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75906 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix typo in last commit on expansion of unaligned loads.
Richard Osborne [Thu, 16 Jul 2009 10:48:47 +0000 (10:48 +0000)]
Fix typo in last commit on expansion of unaligned loads.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75903 91177308-0d34-0410-b5e6-96231b3b80d8