Chris Lattner [Mon, 20 Mar 2006 05:39:48 +0000 (05:39 +0000)]
Add a new SDTCisIntVectorOfSameSize type constraint
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26890
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Mar 2006 05:05:55 +0000 (05:05 +0000)]
fix typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26889
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Mar 2006 04:47:33 +0000 (04:47 +0000)]
add vsplat instructions, fix sched description for vperm
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26888
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Mar 2006 01:53:53 +0000 (01:53 +0000)]
Custom lower arbitrary VECTOR_SHUFFLE's to VPERM.
TODO: leave specific ones as VECTOR_SHUFFLE's and turn them into specialized
operations like vsplt*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26887
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Mar 2006 01:53:02 +0000 (01:53 +0000)]
Claim to have v16i8 for perm masks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26886
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Mar 2006 01:52:29 +0000 (01:52 +0000)]
If a target supports splatting with SHUFFLE_VECTOR, lower to it from BUILD_VECTOR(x,x,x,x)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26885
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Mar 2006 01:51:46 +0000 (01:51 +0000)]
TargetData doesn't know the alignment of vectors :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26884
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Mar 2006 01:00:56 +0000 (01:00 +0000)]
add the vperm instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26883
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Mar 2006 00:55:52 +0000 (00:55 +0000)]
Add some helper methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26882
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Mar 2006 00:20:30 +0000 (00:20 +0000)]
Add another helper
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26881
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Mar 2006 23:56:04 +0000 (23:56 +0000)]
Add very basic support for VECTOR_SHUFFLE
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26880
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Mar 2006 23:42:51 +0000 (23:42 +0000)]
add a node
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26879
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Mar 2006 23:41:32 +0000 (23:41 +0000)]
Add a helper method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26878
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Mar 2006 22:27:41 +0000 (22:27 +0000)]
add a note with a testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26877
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 19 Mar 2006 22:12:30 +0000 (22:12 +0000)]
The library dependency file in flat format. This file is generated by the
makefile using the utils/GenLibDeps.pl script with the -flat option. It
records the dependencies between libraries in such a way that the
llvm-config script can easily read it (in makefile dependency format).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26876
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 19 Mar 2006 22:10:53 +0000 (22:10 +0000)]
First cut at the Makefile for llvm-config. This initial version just provides
the rule for building the LibDeps.txt file using GenLibDeps.pl. This needs
to be done from time to time manually in order to keep LibDeps.txt up to
date.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26875
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Mar 2006 22:08:08 +0000 (22:08 +0000)]
Add a note about the MUL -> FMADD vector bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26874
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 19 Mar 2006 22:08:01 +0000 (22:08 +0000)]
Add a -flat option for generating the library dependencies in a flat
format with one library per line, similar to a makefile dependency list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26873
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Mar 2006 19:37:24 +0000 (19:37 +0000)]
Teach cee to propagate through switch statements. This implements
Transforms/CorrelatedExprs/switch.ll
Patch contributed by Eric Kidd!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26872
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Mar 2006 19:36:32 +0000 (19:36 +0000)]
new testcase, contributed by Eric Kidd.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26871
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sun, 19 Mar 2006 09:38:54 +0000 (09:38 +0000)]
Vector undef's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26870
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sun, 19 Mar 2006 07:57:34 +0000 (07:57 +0000)]
getEnumName() missed v8i8, v4i16, and v2i32 types
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26869
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Mar 2006 06:55:52 +0000 (06:55 +0000)]
Custom lower SCALAR_TO_VECTOR into lve*x.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26868
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Mar 2006 06:47:21 +0000 (06:47 +0000)]
Allow SCALAR_TO_VECTOR to be custom lowered.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26867
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Mar 2006 06:31:19 +0000 (06:31 +0000)]
Add SCALAR_TO_VECTOR support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26866
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Mar 2006 06:17:19 +0000 (06:17 +0000)]
PPC doesn't have SCALAR_TO_VECTOR
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26865
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Mar 2006 06:10:09 +0000 (06:10 +0000)]
add support for vector undef
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26863
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sun, 19 Mar 2006 06:09:23 +0000 (06:09 +0000)]
Remind us of exit value substitution
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26862
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sun, 19 Mar 2006 06:08:49 +0000 (06:08 +0000)]
Turning on LSR by default
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26861
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sun, 19 Mar 2006 06:08:11 +0000 (06:08 +0000)]
Remember which tests are hurt by LSR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26860
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Mar 2006 05:46:51 +0000 (05:46 +0000)]
add a new testcase. This insertelement should be a noop on SSE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26859
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Mar 2006 05:46:04 +0000 (05:46 +0000)]
Don't bother storing undef elements of BUILD_VECTOR's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26858
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Mar 2006 05:43:01 +0000 (05:43 +0000)]
minor fixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26857
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Mar 2006 05:33:30 +0000 (05:33 +0000)]
notes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26856
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Mar 2006 05:26:45 +0000 (05:26 +0000)]
improve comments, add a new MVT::getVectorBaseType method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26855
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Mar 2006 04:45:11 +0000 (04:45 +0000)]
add another testcase, explicitly check stuff works with G5 and G3 codegen on
PPC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26854
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Mar 2006 04:33:37 +0000 (04:33 +0000)]
we don't use lmw/stmw. When we want them they are easy enough to add
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26853
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Mar 2006 04:18:56 +0000 (04:18 +0000)]
Implement expand of BUILD_VECTOR containing variable elements.
This implements CodeGen/Generic/vector.ll:test_variable_buildvector
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26852
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Mar 2006 01:27:56 +0000 (01:27 +0000)]
fold insertelement(buildvector) -> buildvector if the inserted element # is
a constant. This implements test_constant_insert in CodeGen/Generic/vector.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26851
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Mar 2006 01:27:04 +0000 (01:27 +0000)]
add two new insert_element tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26850
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Mar 2006 01:17:20 +0000 (01:17 +0000)]
implement basic support for INSERT_VECTOR_ELT.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26849
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Mar 2006 01:13:28 +0000 (01:13 +0000)]
rename these nodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26848
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Mar 2006 00:52:58 +0000 (00:52 +0000)]
Rename ConstantVec -> BUILD_VECTOR and VConstant -> VBUILD_VECTOR. Allow*BUILD_VECTOR to take variable inputs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26847
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Mar 2006 00:52:25 +0000 (00:52 +0000)]
Rename ConstantVec -> BUILD_VECTOR and VConstant -> VBUILD_VECTOR. Allow
*BUILD_VECTOR to take variable inputs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26846
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Mar 2006 00:20:20 +0000 (00:20 +0000)]
implement vector.ll:test_undef
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26845
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Mar 2006 00:20:03 +0000 (00:20 +0000)]
Add three new testcases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26844
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Mar 2006 00:07:49 +0000 (00:07 +0000)]
Fix the remaining bugs in the vector expansion rework I commited yesterday.
This fixes CodeGen/Generic/vector.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26843
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 18 Mar 2006 23:48:54 +0000 (23:48 +0000)]
update testcases for x86 fastcc changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26842
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 18 Mar 2006 08:03:12 +0000 (08:03 +0000)]
- Fixed a bogus if condition.
- Added more debugging info.
- Allow reuse of IV of negative stride. e.g. -4 stride == 2 * iv of -2 stride.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26841
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 18 Mar 2006 01:44:44 +0000 (01:44 +0000)]
Change the structure of lowering vector stuff. Note: This breaks some
things.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26840
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 18 Mar 2006 01:43:28 +0000 (01:43 +0000)]
Update comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26839
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 18 Mar 2006 01:23:20 +0000 (01:23 +0000)]
Use the generic vector register classes VR64 / VR128 rather than V4F32,
V8I16, etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26838
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 18 Mar 2006 00:44:49 +0000 (00:44 +0000)]
Sort StrideOrder so we can process the smallest strides first. This allows
for more IV reuses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26837
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 18 Mar 2006 00:40:36 +0000 (00:40 +0000)]
Fix miscodegen of V_SET0 in PPC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26836
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 17 Mar 2006 22:41:37 +0000 (22:41 +0000)]
Fix subfic to match subc by default instead of sub so that it is correctly
cost-modeled as producing a flag. This fixes the test I just added for neg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26835
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 17 Mar 2006 22:39:45 +0000 (22:39 +0000)]
Add a missing testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26834
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 17 Mar 2006 20:31:41 +0000 (20:31 +0000)]
Darwin should use _setjmp/_longjmp instead of setjmp/longjmp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26833
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 17 Mar 2006 20:04:40 +0000 (20:04 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26832
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 17 Mar 2006 19:55:52 +0000 (19:55 +0000)]
Move some pattern fragments to the right files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26831
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 17 Mar 2006 19:53:59 +0000 (19:53 +0000)]
add a couple enum values
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26830
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 17 Mar 2006 19:53:41 +0000 (19:53 +0000)]
add a couple of enum values
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26829
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 17 Mar 2006 19:52:23 +0000 (19:52 +0000)]
Allow users of iv / stride to be rewritten with expression that is a multiply
of a smaller stride even if they have a common loop invariant expression part.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26828
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 17 Mar 2006 19:45:54 +0000 (19:45 +0000)]
Add a lsr common loop invariant hoisting test case
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26827
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 17 Mar 2006 18:01:17 +0000 (18:01 +0000)]
new testcase that broke the new f.e.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26826
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 17 Mar 2006 17:43:01 +0000 (17:43 +0000)]
Use the <tt> tag instead of <pre> tag to get code/file/warning lists to
wrap but also still be in a fixed-width font.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26825
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 17 Mar 2006 17:27:47 +0000 (17:27 +0000)]
Disable x86 fastcc from passing args in registers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26824
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 17 Mar 2006 08:04:25 +0000 (08:04 +0000)]
Fix a typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26823
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 17 Mar 2006 07:39:44 +0000 (07:39 +0000)]
Fix use of LEVEL.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26822
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 17 Mar 2006 06:27:06 +0000 (06:27 +0000)]
Two fixes:
1. Allow building of Intrinsics.gen to work for srcdir != objdir
2. Add a rule for installation of Intrinsics.gen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26819
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 17 Mar 2006 05:10:20 +0000 (05:10 +0000)]
Parameterize the number of integer arguments to pass in registers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26818
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 17 Mar 2006 02:36:22 +0000 (02:36 +0000)]
Also fold MOV8r0, MOV16r0, MOV32r0 + store to MOV8mi, MOV16mi, and MOV32mi.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26817
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 17 Mar 2006 02:25:01 +0000 (02:25 +0000)]
Add some missing entries to X86RegisterInfo::foldMemoryOperand(). e.g.
ADD32ri8.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26816
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 17 Mar 2006 02:24:04 +0000 (02:24 +0000)]
- Nuke 16-bit SBB instructions. We'll never use them.
- Nuke a bogus comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26815
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 17 Mar 2006 01:40:33 +0000 (01:40 +0000)]
Remove BRTWOWAY*
Make the PPC backend not dependent on BRTWOWAY_CC and make the branch
selector smarter about the code it generates, fixing a case in the
readme.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26814
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 16 Mar 2006 23:52:08 +0000 (23:52 +0000)]
remove dead variable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26813
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 16 Mar 2006 23:16:17 +0000 (23:16 +0000)]
add an assert to get a slightly better msg about this problem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26812
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 16 Mar 2006 23:05:19 +0000 (23:05 +0000)]
Fix a problem fully scalarizing values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26811
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 16 Mar 2006 22:44:22 +0000 (22:44 +0000)]
A new entry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26810
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Thu, 16 Mar 2006 22:37:48 +0000 (22:37 +0000)]
Notes on how to kill the eeevil brtwoway, and make ppc branch selector
more target independant, generate better code, and be less conservative.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26809
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 16 Mar 2006 22:35:59 +0000 (22:35 +0000)]
Strangely, calls clobber call-clobbered vector regs. Whodathoughtit?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26808
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 16 Mar 2006 22:25:55 +0000 (22:25 +0000)]
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26807
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 16 Mar 2006 22:24:02 +0000 (22:24 +0000)]
teach the ppc backend how to spill/reload vector regs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26806
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 16 Mar 2006 22:07:06 +0000 (22:07 +0000)]
add callee saved vector regs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26805
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 16 Mar 2006 22:02:48 +0000 (22:02 +0000)]
Bug fix: condition inverted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26804
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 16 Mar 2006 21:53:05 +0000 (21:53 +0000)]
For each loop, keep track of all the IV expressions inserted indexed by
stride. For a set of uses of the IV of a stride which is a multiple
of another stride, do not insert a new IV expression. Rather, reuse the
previous IV and rewrite the uses as uses of IV expression multiplied by
the factor.
e.g.
x = 0 ...; x ++
y = 0 ...; y += 4
then use of y can be rewritten as use of 4*x for x86.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26803
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 16 Mar 2006 21:47:42 +0000 (21:47 +0000)]
Added a way for TargetLowering to specify what values can be used as the
scale component of the target addressing mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26802
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 16 Mar 2006 21:31:45 +0000 (21:31 +0000)]
in functions that use a lot of callee saved regs, this can be more than
5 instructions away.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26801
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 16 Mar 2006 20:03:58 +0000 (20:03 +0000)]
Add support for copying registers. still needed: spilling and reloading them
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26800
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 16 Mar 2006 19:57:50 +0000 (19:57 +0000)]
Add support for CopyFromReg from vector values. Note: this doesn't support
illegal vector types yet!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26799
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 16 Mar 2006 19:51:18 +0000 (19:51 +0000)]
Teach CreateRegForValue how to handle vector types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26798
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 16 Mar 2006 19:50:01 +0000 (19:50 +0000)]
set TransformToType correctly for vector types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26797
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 16 Mar 2006 19:42:44 +0000 (19:42 +0000)]
Add markers for the first and last vector value type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26796
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Thu, 16 Mar 2006 18:50:44 +0000 (18:50 +0000)]
Another case we could do better on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26795
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 16 Mar 2006 18:47:51 +0000 (18:47 +0000)]
New testcase, the new CFE compiles this into insertelement instructions, the
old one crashes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26794
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 16 Mar 2006 18:25:23 +0000 (18:25 +0000)]
Save/restore VRSAVE once per function, not once per block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26793
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Thu, 16 Mar 2006 18:15:12 +0000 (18:15 +0000)]
Typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26792
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 16 Mar 2006 16:14:59 +0000 (16:14 +0000)]
Fix a typo Eric van Riet Paap noticed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26791
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 16 Mar 2006 03:05:57 +0000 (03:05 +0000)]
Add a RUN: line so this test doesn't fail.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26790
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 16 Mar 2006 01:29:53 +0000 (01:29 +0000)]
add support for the bitconvert node
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26789
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 15 Mar 2006 22:19:46 +0000 (22:19 +0000)]
add support for vector->vector casts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26788
91177308-0d34-0410-b5e6-
96231b3b80d8