oota-llvm.git
18 years agoAdd new generated files to be ignored.
Reid Spencer [Thu, 23 Mar 2006 23:45:32 +0000 (23:45 +0000)]
Add new generated files to be ignored.

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

18 years agoIgnore temporary files generated by building.
Reid Spencer [Thu, 23 Mar 2006 23:44:24 +0000 (23:44 +0000)]
Ignore temporary files generated by building.

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

18 years agoTired of wading through cvs's list ? files that are generated when building
Reid Spencer [Thu, 23 Mar 2006 23:41:57 +0000 (23:41 +0000)]
Tired of wading through cvs's list ? files that are generated when building
with srcdir = objdir to see what's okay and what's cruft. So, in goes a
bunch of .cvsignore files to shut cvs up about known output from running
"make check".

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

18 years agoTypo
Evan Cheng [Thu, 23 Mar 2006 23:24:51 +0000 (23:24 +0000)]
Typo

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

18 years agoIgnore some files that occur when srcdir = objdir.
Reid Spencer [Thu, 23 Mar 2006 23:24:46 +0000 (23:24 +0000)]
Ignore some files that occur when srcdir = objdir.

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

18 years agoDocumentation for llvm-config by Eric Kidd.
Reid Spencer [Thu, 23 Mar 2006 23:22:16 +0000 (23:22 +0000)]
Documentation for llvm-config by Eric Kidd.

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

18 years agoUpdate to llvm-config tool, by Erik Kidd:
Reid Spencer [Thu, 23 Mar 2006 23:21:29 +0000 (23:21 +0000)]
Update to llvm-config tool, by Erik Kidd:

1. Check for Perl and only build llvm-config if its available.
2. Add some virtual components
3. Don't depend on "standard" location for Perl, but configured location
4. Document the tool with a POD file.

This version is now ready for testing by users.

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

18 years agoUnneeded forward.
Jim Laskey [Thu, 23 Mar 2006 23:05:52 +0000 (23:05 +0000)]
Unneeded forward.

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

18 years agoA little script to find LLVM symbols. Ideally this would use c++filt for
Reid Spencer [Thu, 23 Mar 2006 23:04:50 +0000 (23:04 +0000)]
A little script to find LLVM symbols. Ideally this would use c++filt for
both input and output to render everything in C++, but that will be the
next patch. For now, it just runs nm and greps each .o or .a file for
the desired symbol.

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

18 years agoMake sure types are allocated in the scope of their use.
Jim Laskey [Thu, 23 Mar 2006 23:02:34 +0000 (23:02 +0000)]
Make sure types are allocated in the scope of their use.

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

18 years agoDon't print out ugly command line when building LibDeps.txt.
Reid Spencer [Thu, 23 Mar 2006 22:42:50 +0000 (22:42 +0000)]
Don't print out ugly command line when building LibDeps.txt.

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

18 years agoadd a note
Chris Lattner [Thu, 23 Mar 2006 21:28:44 +0000 (21:28 +0000)]
add a note

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

18 years agoadd support for splitting casts. This implements
Chris Lattner [Thu, 23 Mar 2006 21:16:34 +0000 (21:16 +0000)]
add support for splitting casts.  This implements
CodeGen/Generic/vector.ll:test_cast_2.

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

18 years agoadd some tests for typecasts and extract_element
Chris Lattner [Thu, 23 Mar 2006 21:15:57 +0000 (21:15 +0000)]
add some tests for typecasts and extract_element

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

18 years agoTypo
Evan Cheng [Thu, 23 Mar 2006 20:26:04 +0000 (20:26 +0000)]
Typo

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

18 years agoAdd some more bulletproofing to auto upgrade of llvm.dbg intrinsics.
Jim Laskey [Thu, 23 Mar 2006 20:13:25 +0000 (20:13 +0000)]
Add some more bulletproofing to auto upgrade of llvm.dbg intrinsics.

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

18 years agoAdd PPC vector bit-convert support
Chris Lattner [Thu, 23 Mar 2006 19:54:27 +0000 (19:54 +0000)]
Add PPC vector bit-convert support

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

18 years agoAdd support to locate local variables in frames (early version.)
Jim Laskey [Thu, 23 Mar 2006 18:12:57 +0000 (18:12 +0000)]
Add support to locate local variables in frames (early version.)

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

18 years agoStrip changes to llvm.dbg intrinsics.
Jim Laskey [Thu, 23 Mar 2006 18:11:33 +0000 (18:11 +0000)]
Strip changes to llvm.dbg intrinsics.

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

18 years agoCan't combine anymore - we don't have a chain through llvm.dbg intrinsics.
Jim Laskey [Thu, 23 Mar 2006 18:10:42 +0000 (18:10 +0000)]
Can't combine anymore - we don't have a chain through llvm.dbg intrinsics.

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

18 years agoChange interface to DwarfWriter.
Jim Laskey [Thu, 23 Mar 2006 18:09:44 +0000 (18:09 +0000)]
Change interface to DwarfWriter.

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

18 years agoModify how CBE handles #lines.
Jim Laskey [Thu, 23 Mar 2006 18:08:29 +0000 (18:08 +0000)]
Modify how CBE handles #lines.

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

18 years agoGenerate local variable and scope information and equivalent dwarf forms.
Jim Laskey [Thu, 23 Mar 2006 18:07:55 +0000 (18:07 +0000)]
Generate local variable and scope information and equivalent dwarf forms.

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

18 years agoHandle new forms of llvm.dbg intrinsics.
Jim Laskey [Thu, 23 Mar 2006 18:06:46 +0000 (18:06 +0000)]
Handle new forms of llvm.dbg intrinsics.

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

18 years agoSimplify handling of llvm.dbg intrinsic operands to one spot.
Jim Laskey [Thu, 23 Mar 2006 18:05:12 +0000 (18:05 +0000)]
Simplify handling of llvm.dbg intrinsic operands to one spot.

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

18 years agoModify usage of llvm.dbg intrinsics.
Jim Laskey [Thu, 23 Mar 2006 18:04:18 +0000 (18:04 +0000)]
Modify usage of llvm.dbg intrinsics.

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

18 years agoChange the argument types of llvm.dbg intrinsics.
Jim Laskey [Thu, 23 Mar 2006 18:03:20 +0000 (18:03 +0000)]
Change the argument types of llvm.dbg intrinsics.

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

18 years agoSupport for locating of debug items in frames.
Jim Laskey [Thu, 23 Mar 2006 18:01:12 +0000 (18:01 +0000)]
Support for locating of debug items in frames.

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

18 years agoCorrection of stoppoint arguments.
Jim Laskey [Thu, 23 Mar 2006 17:58:46 +0000 (17:58 +0000)]
Correction of stoppoint arguments.

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

18 years agoUpdated information related to local variables and scopes.
Jim Laskey [Thu, 23 Mar 2006 17:54:33 +0000 (17:54 +0000)]
Updated information related to local variables and scopes.

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

18 years agoFix the encodings of these new instructions, hopefully fixing the JIT
Chris Lattner [Thu, 23 Mar 2006 16:13:50 +0000 (16:13 +0000)]
Fix the encodings of these new instructions, hopefully fixing the JIT
failures from last night

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

18 years agoFollowing icc's lead: use movdqa to load / store 128-bit integer vectors
Evan Cheng [Thu, 23 Mar 2006 07:44:07 +0000 (07:44 +0000)]
Following icc's lead: use movdqa to load / store 128-bit integer vectors

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

18 years agoAdd HowToReleaseLLVM.html.
Reid Spencer [Thu, 23 Mar 2006 06:53:38 +0000 (06:53 +0000)]
Add HowToReleaseLLVM.html.

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

18 years agoA very early, rough draft of a guide to making public releases for LLVM.
Reid Spencer [Thu, 23 Mar 2006 06:45:42 +0000 (06:45 +0000)]
A very early, rough draft of a guide to making public releases for LLVM.
This document will detail the steps needed for making a quality release of
LLVM that ensures the release functions and is of high quality.

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

18 years agoWrap long lines, remove unnecessarily empty lines.
Reid Spencer [Thu, 23 Mar 2006 06:19:04 +0000 (06:19 +0000)]
Wrap long lines, remove unnecessarily empty lines.

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

18 years agoUpdated for library changes:
Reid Spencer [Thu, 23 Mar 2006 06:15:27 +0000 (06:15 +0000)]
Updated for library changes:
1. LLVMCBackend.o now depends on LLVMCodeGen.o (why we're not sure)
2. LLVMExecutionEngine.o no longer depends on LLVMInterpreter.o nor LLVMJIT.o
Thanks, Chris.

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

18 years agoprune #includes
Chris Lattner [Thu, 23 Mar 2006 05:43:58 +0000 (05:43 +0000)]
prune #includes

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

18 years agoEliminate IntrinsicLowering from TargetMachine.
Chris Lattner [Thu, 23 Mar 2006 05:43:16 +0000 (05:43 +0000)]
Eliminate IntrinsicLowering from TargetMachine.
Make the CBE and V9 backends create their own, since they're the only ones that use it.

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

18 years agoEliminate IntrinsicLowering from TargetMachine.
Chris Lattner [Thu, 23 Mar 2006 05:41:41 +0000 (05:41 +0000)]
Eliminate IntrinsicLowering from TargetMachine.

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

18 years agosimplify some code
Chris Lattner [Thu, 23 Mar 2006 05:29:04 +0000 (05:29 +0000)]
simplify some code

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

18 years agoremove always-null IntrinsicLowering argument.
Chris Lattner [Thu, 23 Mar 2006 05:28:02 +0000 (05:28 +0000)]
remove always-null IntrinsicLowering argument.

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

18 years agoremove the intrinsiclowering hook
Chris Lattner [Thu, 23 Mar 2006 05:22:51 +0000 (05:22 +0000)]
remove the intrinsiclowering hook

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

18 years agoAdd v4i32 <-> v4f32 bitconvert patterns.
Evan Cheng [Thu, 23 Mar 2006 02:36:37 +0000 (02:36 +0000)]
Add v4i32 <-> v4f32 bitconvert patterns.

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

18 years agoAllow result node to be a simple leaf node. This enable bitconvert patterns
Evan Cheng [Thu, 23 Mar 2006 02:35:32 +0000 (02:35 +0000)]
Allow result node to be a simple leaf node. This enable bitconvert patterns
like this:
def : Pat<(v4i32 (bitconvert (v4f32 VR128:$src))), (v4i32 VR128:$src)>;

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

18 years agoAdd 128-bit integer vector load and add (for testing).
Evan Cheng [Thu, 23 Mar 2006 01:57:24 +0000 (01:57 +0000)]
Add 128-bit integer vector load and add (for testing).

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

18 years agoAdd support for 8 bit immediates with 16/32 bit cmp instructions
Nate Begeman [Thu, 23 Mar 2006 01:29:48 +0000 (01:29 +0000)]
Add support for 8 bit immediates with 16/32 bit cmp instructions

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

18 years agoFix a typo
Chris Lattner [Wed, 22 Mar 2006 22:20:49 +0000 (22:20 +0000)]
Fix a typo

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

18 years agoAdded a ValueType operand to isShuffleMaskLegal(). For now, x86 will not do
Evan Cheng [Wed, 22 Mar 2006 22:07:06 +0000 (22:07 +0000)]
Added a ValueType operand to isShuffleMaskLegal(). For now, x86 will not do
64-bit vector shuffle.

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

18 years agoReplace vector splat test case.
Evan Cheng [Wed, 22 Mar 2006 21:39:25 +0000 (21:39 +0000)]
Replace vector splat test case.

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

18 years agoAdd a v2f64 splat (using movlhps) test case.
Evan Cheng [Wed, 22 Mar 2006 20:29:11 +0000 (20:29 +0000)]
Add a v2f64 splat (using movlhps) test case.

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

18 years agoImplement simple support for vector casting. This can currently only handle
Chris Lattner [Wed, 22 Mar 2006 20:09:35 +0000 (20:09 +0000)]
Implement simple support for vector casting.  This can currently only handle
casts between legal vector types.

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

18 years agoFix comments
Chris Lattner [Wed, 22 Mar 2006 20:09:04 +0000 (20:09 +0000)]
Fix comments

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

18 years agoSHUFP* are two address code.
Evan Cheng [Wed, 22 Mar 2006 20:08:18 +0000 (20:08 +0000)]
SHUFP* are two address code.

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

18 years agoadd a new node
Chris Lattner [Wed, 22 Mar 2006 19:56:46 +0000 (19:56 +0000)]
add a new node

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

18 years agoSome clean up.
Evan Cheng [Wed, 22 Mar 2006 19:22:18 +0000 (19:22 +0000)]
Some clean up.

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

18 years ago- Supposely movlhps is faster / better than unpcklpd.
Evan Cheng [Wed, 22 Mar 2006 19:16:21 +0000 (19:16 +0000)]
- Supposely movlhps is faster / better than unpcklpd.
- Don't forget pshufd is only available with sse2.

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

18 years agotest that vspltw is generated for test cases
Chris Lattner [Wed, 22 Mar 2006 19:12:46 +0000 (19:12 +0000)]
test that vspltw is generated for test cases

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

18 years ago- Implement X86ISelLowering::isShuffleMaskLegal(). We currently only support
Evan Cheng [Wed, 22 Mar 2006 18:59:22 +0000 (18:59 +0000)]
- Implement X86ISelLowering::isShuffleMaskLegal(). We currently only support
  splat and PSHUFD cases.
- Clean up shuffle / splat matching code.

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

18 years agosilence a bogus gcc warning
Chris Lattner [Wed, 22 Mar 2006 17:27:24 +0000 (17:27 +0000)]
silence a bogus gcc warning

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

18 years agoThese changes are necessary to support the new llvm-config tool. llvm-config
Reid Spencer [Wed, 22 Mar 2006 15:59:55 +0000 (15:59 +0000)]
These changes are necessary to support the new llvm-config tool. llvm-config
is a handy tool for users of LLVM who want to be able to quickly get
information about LLVM's configuration. It is intended to be used in the
command line of other tools. Documentation will be forthcoming in a
subsequent patch.

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

18 years ago- VECTOR_SHUFFLE of v4i32 / v4f32 with undef second vector always matches
Evan Cheng [Wed, 22 Mar 2006 08:01:21 +0000 (08:01 +0000)]
- VECTOR_SHUFFLE of v4i32 / v4f32 with undef second vector always matches
  PSHUFD. We can make permutes entries which point to the undef pointing
  anything we want.
- Change some names to appease Chris.

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

18 years agoadd a note
Chris Lattner [Wed, 22 Mar 2006 07:33:46 +0000 (07:33 +0000)]
add a note

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

18 years agoFix PSHUF* and SHUF* jit code emission problems
Evan Cheng [Wed, 22 Mar 2006 07:10:28 +0000 (07:10 +0000)]
Fix PSHUF* and SHUF* jit code emission problems

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

18 years agoEliminate the dependency of ExecutionEngine on the JIT/Interpreter libraries.
Chris Lattner [Wed, 22 Mar 2006 06:07:50 +0000 (06:07 +0000)]
Eliminate the dependency of ExecutionEngine on the JIT/Interpreter libraries.

Now you can build a tool with just the JIT or just the interpreter.

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

18 years agowrap lines to 80 columns.
Chris Lattner [Wed, 22 Mar 2006 06:06:37 +0000 (06:06 +0000)]
wrap lines to 80 columns.

Add static JITCtor/InterpCtor fields

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

18 years agoThis has been implemented. Tweak it into another note
Chris Lattner [Wed, 22 Mar 2006 05:33:23 +0000 (05:33 +0000)]
This has been implemented.  Tweak it into another note

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

18 years agoWhen possible, custom lower 32-bit SINT_TO_FP to this:
Chris Lattner [Wed, 22 Mar 2006 05:30:33 +0000 (05:30 +0000)]
When possible, custom lower 32-bit SINT_TO_FP to this:

_foo2:
        extsw r2, r3
        std r2, -8(r1)
        lfd f0, -8(r1)
        fcfid f0, f0
        frsp f1, f0
        blr

instead of this:

_foo2:
        lis r2, ha16(LCPI2_0)
        lis r4, 17200
        xoris r3, r3, 32768
        stw r3, -4(r1)
        stw r4, -8(r1)
        lfs f0, lo16(LCPI2_0)(r2)
        lfd f1, -8(r1)
        fsub f0, f1, f0
        frsp f1, f0
        blr

This speeds up Misc/pi from 2.44s->2.09s with LLC and from 3.01->2.18s
with llcbeta (16.7% and 38.1% respectively).

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

18 years agoAdd support for "ri" addressing modes where the immediate is a 14-bit field
Chris Lattner [Wed, 22 Mar 2006 05:26:03 +0000 (05:26 +0000)]
Add support for "ri" addressing modes where the immediate is a 14-bit field
which is shifted left two bits before use.  Instructions like STD use this
addressing mode.

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

18 years agofix a warning
Chris Lattner [Wed, 22 Mar 2006 04:18:34 +0000 (04:18 +0000)]
fix a warning

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

18 years agoSome splat and shuffle support.
Evan Cheng [Wed, 22 Mar 2006 02:53:00 +0000 (02:53 +0000)]
Some splat and shuffle support.

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

18 years agoAdd a couple more pseudo instructions.
Evan Cheng [Wed, 22 Mar 2006 02:52:03 +0000 (02:52 +0000)]
Add a couple more pseudo instructions.

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

18 years agoEndianness does not affect the order of vector fields. This fixes
Chris Lattner [Wed, 22 Mar 2006 01:46:54 +0000 (01:46 +0000)]
Endianness does not affect the order of vector fields.  This fixes
SingleSource/UnitTests/Vector/build.c

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

18 years agoFix the JIT encoding of the VAForm_1 instructions, including vmaddfp
Chris Lattner [Wed, 22 Mar 2006 01:44:36 +0000 (01:44 +0000)]
Fix the JIT encoding of the VAForm_1 instructions, including vmaddfp

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

18 years agoEnclose some variables in a scope to avoid error with some gcc versions
Chris Lattner [Wed, 22 Mar 2006 00:12:37 +0000 (00:12 +0000)]
Enclose some variables in a scope to avoid error with some gcc versions

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

18 years agoDidn't mean to check this in. No MMX support yet.
Evan Cheng [Tue, 21 Mar 2006 23:04:23 +0000 (23:04 +0000)]
Didn't mean to check this in. No MMX support yet.

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

18 years ago- Use movaps to store 128-bit vector integers.
Evan Cheng [Tue, 21 Mar 2006 23:01:21 +0000 (23:01 +0000)]
- Use movaps to store 128-bit vector integers.
- Each scalar to vector v8i16 and v16i8 is a any_extend followed by a movd.

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

18 years agoadd expand support for extractelement
Chris Lattner [Tue, 21 Mar 2006 21:02:03 +0000 (21:02 +0000)]
add expand support for extractelement

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

18 years agoThese targets don't support EXTRACT_VECTOR_ELT, though, in time, X86 will.
Chris Lattner [Tue, 21 Mar 2006 20:51:05 +0000 (20:51 +0000)]
These targets don't support EXTRACT_VECTOR_ELT, though, in time, X86 will.

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

18 years agoDon't forget to promote xform function to an explicit node for def : Pat<>
Evan Cheng [Tue, 21 Mar 2006 20:44:17 +0000 (20:44 +0000)]
Don't forget to promote xform function to an explicit node for def : Pat<>
patterns.

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

18 years agoadd some trivial support for extractelement.
Chris Lattner [Tue, 21 Mar 2006 20:44:12 +0000 (20:44 +0000)]
add some trivial support for extractelement.

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

18 years agoadd some nodes for extractelement
Chris Lattner [Tue, 21 Mar 2006 20:43:08 +0000 (20:43 +0000)]
add some nodes for extractelement

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

18 years agoDon't emit pseudo instructions!
Chris Lattner [Tue, 21 Mar 2006 20:19:37 +0000 (20:19 +0000)]
Don't emit pseudo instructions!

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

18 years agoAdd a hacky workaround for crashes due to vectors live across blocks.
Chris Lattner [Tue, 21 Mar 2006 19:20:37 +0000 (19:20 +0000)]
Add a hacky workaround for crashes due to vectors live across blocks.
Note that this code won't work for vectors that aren't legal on the
target.  Improvements coming.

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

18 years agoUpdate readme
Nate Begeman [Tue, 21 Mar 2006 18:58:20 +0000 (18:58 +0000)]
Update readme

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

18 years agoAdd an integer splat test
Chris Lattner [Tue, 21 Mar 2006 18:27:27 +0000 (18:27 +0000)]
Add an integer splat test

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

18 years agoPrint absolute memory references like this:
Chris Lattner [Tue, 21 Mar 2006 17:21:13 +0000 (17:21 +0000)]
Print absolute memory references like this:

       lwz r2, 8(0)
instead of this:
       lwz r2, 8(r0)

This fixes the llc/llc-beta failures on PPC last night.

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

18 years agoCombine 2 entries
Evan Cheng [Tue, 21 Mar 2006 07:18:26 +0000 (07:18 +0000)]
Combine 2 entries

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

18 years agoAdd a note about x86 register coallescing
Evan Cheng [Tue, 21 Mar 2006 07:12:57 +0000 (07:12 +0000)]
Add a note about x86 register coallescing

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

18 years ago- Remove scalar to vector pseudo ops. They are just wrong.
Evan Cheng [Tue, 21 Mar 2006 07:09:35 +0000 (07:09 +0000)]
- Remove scalar to vector pseudo ops. They are just wrong.
- Handle FR32 to VR128:v4f32 and FR64 to VR128:v2f64 with aliases of MOVAPS
and MOVAPD. Mark them as move instructions and *hope* they will be deleted.

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

18 years agominor code simplification
Chris Lattner [Tue, 21 Mar 2006 06:42:58 +0000 (06:42 +0000)]
minor code simplification

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

18 years agoWith Evan's latest tblgen patch, this code is obsolete, thanks Evan!
Chris Lattner [Tue, 21 Mar 2006 06:37:40 +0000 (06:37 +0000)]
With Evan's latest tblgen patch, this code is obsolete, thanks Evan!

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

18 years agoCause the various warnings list to be generated via a <ul> list with
Reid Spencer [Tue, 21 Mar 2006 01:21:39 +0000 (01:21 +0000)]
Cause the various warnings list to be generated via a <ul> list with
text enclosed in <tt>. This ensures that (a) the text is in a fixed width
font (to indicated generated text) and (b) the text wraps without causing
the page width to be extended. The main result of this is that the report
will wrap to conform to the window size in which it is displayed instead of
having a very wide length if a warning message is long.

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

18 years agoDocument ENABLE_ASSERTIONS=1
Chris Lattner [Tue, 21 Mar 2006 01:10:57 +0000 (01:10 +0000)]
Document ENABLE_ASSERTIONS=1

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

18 years agoEnable assertions to be enabled in release builds by building with
Chris Lattner [Tue, 21 Mar 2006 01:06:41 +0000 (01:06 +0000)]
Enable assertions to be enabled in release builds by building with
make ENABLE_OPTIMIZED=1 ENABLE_ASSERTIONS=1

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

18 years agoWhen codegen'ing vector MUL using VFMADD, *add* the 0, don't *mul* the 0.
Chris Lattner [Tue, 21 Mar 2006 00:51:38 +0000 (00:51 +0000)]
When codegen'ing vector MUL using VFMADD, *add* the 0, don't *mul* the 0.

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

18 years agominor note
Chris Lattner [Tue, 21 Mar 2006 00:47:09 +0000 (00:47 +0000)]
minor note

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

18 years agox86 ISD::SCALAR_TO_VECTOR support.
Evan Cheng [Tue, 21 Mar 2006 00:33:35 +0000 (00:33 +0000)]
x86 ISD::SCALAR_TO_VECTOR support.

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

18 years agoJunk unused vector register classes.
Evan Cheng [Tue, 21 Mar 2006 00:30:59 +0000 (00:30 +0000)]
Junk unused vector register classes.

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

18 years agoThe node wrapped in PatLeaf<> should be treated as a leaf even if it isn't
Evan Cheng [Mon, 20 Mar 2006 22:53:06 +0000 (22:53 +0000)]
The node wrapped in PatLeaf<> should be treated as a leaf even if it isn't
one, i.e. don't select it.

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

18 years agoHandle constant addresses more efficiently, folding the low bits into the
Chris Lattner [Mon, 20 Mar 2006 22:38:22 +0000 (22:38 +0000)]
Handle constant addresses more efficiently, folding the low bits into the
disp field of the load/store if possible.  This compiles
CodeGen/PowerPC/load-constant-addr.ll to:

_test:
        lis r2, 2838
        lfs f1, 26848(r2)
        blr

instead of:

_test:
        lis r2, 2838
        ori r2, r2, 26848
        lfs f1, 0(r2)
        blr

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