Dan Gohman [Thu, 16 Jul 2009 16:16:23 +0000 (16:16 +0000)]
Add an isLoopSimplifyForm() predicate, following the example of
isLCSSAForm(), to test whether a loop is in the form guaranteed
by the LoopSimplify pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76077
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 16 Jul 2009 15:37:26 +0000 (15:37 +0000)]
Use setStream infomatted_raw_ostream's constructor, to reduce code
duplication. Also, make setStream honor the old DeleteStream flag.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76075
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 16 Jul 2009 15:33:48 +0000 (15:33 +0000)]
Remove inapplicable comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76074
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 16 Jul 2009 15:33:04 +0000 (15:33 +0000)]
Add explicit keywords.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76073
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 16 Jul 2009 15:32:28 +0000 (15:32 +0000)]
Tidy up #includes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76072
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 16 Jul 2009 15:30:09 +0000 (15:30 +0000)]
Convert more tools code from cerr and cout to errs() and outs().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76070
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 16 Jul 2009 15:24:40 +0000 (15:24 +0000)]
Use size_t.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76069
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:53:47 +0000 (14:53 +0000)]
Make xfail proper
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76065
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:36:52 +0000 (14:36 +0000)]
Unbreak
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76064
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:35:57 +0000 (14:35 +0000)]
Temporary disable 16 bit bswap
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76063
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:35:20 +0000 (14:35 +0000)]
Add instruction formats and few opcodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76062
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:34:52 +0000 (14:34 +0000)]
Add bswap patterns
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76061
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:34:15 +0000 (14:34 +0000)]
Provide crazy pseudos for regpairs spills / reloads
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76060
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:33:52 +0000 (14:33 +0000)]
Handle long-disp stuff more consistently
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76059
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:33:27 +0000 (14:33 +0000)]
All FP instructions have 12 bit memory displacement field
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76058
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:33:01 +0000 (14:33 +0000)]
Another predicate routine
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76057
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:32:41 +0000 (14:32 +0000)]
More helpers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76056
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:32:19 +0000 (14:32 +0000)]
Add bunch of branch folding stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76055
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:31:52 +0000 (14:31 +0000)]
Add missed opcodes to short => long displacement conversion
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76054
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:31:32 +0000 (14:31 +0000)]
Cleanup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76053
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:31:14 +0000 (14:31 +0000)]
Fix logic inversion for RI-mode address selection
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76052
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:30:49 +0000 (14:30 +0000)]
Unbreak the test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76051
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:30:29 +0000 (14:30 +0000)]
Expand 32-bit bitconverts via memory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76050
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:29:57 +0000 (14:29 +0000)]
Fix incomin arg stack frame offset in case we need to generate stack frame
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76049
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:29:26 +0000 (14:29 +0000)]
Fix instruction mnemonics for some fp_to_sint operations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76048
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:29:05 +0000 (14:29 +0000)]
i32 values are passed extended also on stack. Handle this in generic way
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76047
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:28:46 +0000 (14:28 +0000)]
We definitely have 1-0 bools
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76046
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:28:26 +0000 (14:28 +0000)]
Revert the commit, it just hides the real bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76045
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:27:53 +0000 (14:27 +0000)]
Out GR128 regclass is not a 'real' i128 one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76044
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:27:26 +0000 (14:27 +0000)]
Add missed condbranch opcodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76043
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:27:01 +0000 (14:27 +0000)]
Handle bitconverts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76042
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:26:38 +0000 (14:26 +0000)]
Unbreak mvi and friends - emit only 'significant' part of the operand
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76041
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:26:06 +0000 (14:26 +0000)]
Expand fp_to_uint too
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76040
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:25:46 +0000 (14:25 +0000)]
We don't have FP truncstores
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76039
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:25:30 +0000 (14:25 +0000)]
Expand uint_to_fp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76038
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:25:12 +0000 (14:25 +0000)]
Emit proper rounding mode for fp_to_sint
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76037
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:24:57 +0000 (14:24 +0000)]
f32/f64 regs are stored on stack if we're short in FP regs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76036
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:24:41 +0000 (14:24 +0000)]
Lower anyext to zext, 32-bit stuff does not have any implicit zero-extension side effects
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76035
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:24:16 +0000 (14:24 +0000)]
Make FP zero to be legal FP immediate via LOAD ZERO
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76034
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:24:01 +0000 (14:24 +0000)]
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
Anton Korobeynikov [Thu, 16 Jul 2009 14:23:44 +0000 (14:23 +0000)]
Add LOAD NEGATIVE instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76032
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:23:30 +0000 (14:23 +0000)]
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
Anton Korobeynikov [Thu, 16 Jul 2009 14:23:16 +0000 (14:23 +0000)]
Add multiple add/sub instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76030
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:23:01 +0000 (14:23 +0000)]
Handle FP callee-saved regs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76029
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:22:46 +0000 (14:22 +0000)]
Proper FP extloads
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76028
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:22:30 +0000 (14:22 +0000)]
Add proper PWS impdef's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76027
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:22:15 +0000 (14:22 +0000)]
Propagate FP select_cc to dag inserters
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76026
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:21:57 +0000 (14:21 +0000)]
Implement fp_to_sint
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76025
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:21:41 +0000 (14:21 +0000)]
Implement FP regs spills / restores
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76024
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:21:27 +0000 (14:21 +0000)]
Add fabs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76023
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:21:12 +0000 (14:21 +0000)]
Add fneg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76022
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:20:56 +0000 (14:20 +0000)]
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
Anton Korobeynikov [Thu, 16 Jul 2009 14:20:39 +0000 (14:20 +0000)]
More sint_to_fp stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76020
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:20:24 +0000 (14:20 +0000)]
Add bunch of FP instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76019
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:20:08 +0000 (14:20 +0000)]
We don't have any FP extloads
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76018
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:19:54 +0000 (14:19 +0000)]
Implement all comparisons
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76017
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:19:35 +0000 (14:19 +0000)]
Add constpool lowering / printing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76016
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:19:16 +0000 (14:19 +0000)]
Allow FP arguments pass / return
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76015
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:19:02 +0000 (14:19 +0000)]
Register FP regclasses
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76014
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:18:48 +0000 (14:18 +0000)]
Add FP regs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76013
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:18:31 +0000 (14:18 +0000)]
Fix fallout from prev. patch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76012
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:18:17 +0000 (14:18 +0000)]
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
Anton Korobeynikov [Thu, 16 Jul 2009 14:17:52 +0000 (14:17 +0000)]
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
Anton Korobeynikov [Thu, 16 Jul 2009 14:17:07 +0000 (14:17 +0000)]
Add missed operands types
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76009
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:16:45 +0000 (14:16 +0000)]
Missed part of prev. patch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76008
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:16:26 +0000 (14:16 +0000)]
Another attempt to fix prologue emission
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76007
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:16:05 +0000 (14:16 +0000)]
Implement 'large' PIC model
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76006
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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