oota-llvm.git
18 years agoAlso fold MOV8r0, MOV16r0, MOV32r0 + store to MOV8mi, MOV16mi, and MOV32mi.
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

18 years agoAdd some missing entries to X86RegisterInfo::foldMemoryOperand(). e.g.
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

18 years ago- Nuke 16-bit SBB instructions. We'll never use them.
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

18 years agoRemove BRTWOWAY*
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

18 years agoremove dead variable
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

18 years agoadd an assert to get a slightly better msg about this problem
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

18 years agoFix a problem fully scalarizing values.
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

18 years agoA new entry.
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

18 years agoNotes on how to kill the eeevil brtwoway, and make ppc branch selector
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

18 years agoStrangely, calls clobber call-clobbered vector regs. Whodathoughtit?
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

18 years agoadd a note
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

18 years agoteach the ppc backend how to spill/reload vector regs
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

18 years agoadd callee saved vector regs
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

18 years agoBug fix: condition inverted.
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

18 years agoFor each loop, keep track of all the IV expressions inserted indexed by
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

18 years agoAdded a way for TargetLowering to specify what values can be used as the
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

18 years agoin functions that use a lot of callee saved regs, this can be more than
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

18 years agoAdd support for copying registers. still needed: spilling and reloading them
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

18 years agoAdd support for CopyFromReg from vector values. Note: this doesn't support
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

18 years agoTeach CreateRegForValue how to handle vector types.
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

18 years agoset TransformToType correctly for vector types.
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

18 years agoAdd markers for the first and last vector value type.
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

18 years agoAnother case we could do better on.
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

18 years agoNew testcase, the new CFE compiles this into insertelement instructions, the
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

18 years agoSave/restore VRSAVE once per function, not once per block.
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

18 years agoTypo.
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

18 years agoFix a typo Eric van Riet Paap noticed
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

18 years agoAdd a RUN: line so this test doesn't fail.
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

18 years agoadd support for the bitconvert node
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

18 years agoadd support for vector->vector casts
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

18 years agoAdd a note, this code should be moved to the dag combiner.
Chris Lattner [Wed, 15 Mar 2006 22:19:18 +0000 (22:19 +0000)]
Add a note, this code should be moved to the dag combiner.

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

18 years agominor changes so that GCC builtin can be specified before the Intrinsic info,
Chris Lattner [Wed, 15 Mar 2006 19:23:40 +0000 (19:23 +0000)]
minor changes so that GCC builtin can be specified before the Intrinsic info,
add some more PPC intrinsics.

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

18 years agoTeach the strip pass to strip type names in addition to value names. This
Chris Lattner [Wed, 15 Mar 2006 19:22:41 +0000 (19:22 +0000)]
Teach the strip pass to strip type names in addition to value names.  This
is fallout from the type/value split in the symtab long long ago :)

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

18 years agoallow the GCCBuiltinName field to be optional
Chris Lattner [Wed, 15 Mar 2006 19:15:26 +0000 (19:15 +0000)]
allow the GCCBuiltinName field to be optional

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

18 years agoUpdate doc to reflect changes in subprogram and block descriptors.
Jim Laskey [Wed, 15 Mar 2006 19:10:52 +0000 (19:10 +0000)]
Update doc to reflect changes in subprogram and block descriptors.

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

18 years agoExpand subprogram and added block descriptor.
Jim Laskey [Wed, 15 Mar 2006 19:09:58 +0000 (19:09 +0000)]
Expand subprogram and added block descriptor.

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

18 years agono heap is happening here
Andrew Lenharth [Wed, 15 Mar 2006 19:03:16 +0000 (19:03 +0000)]
no heap is happening here

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

18 years agobetter check
Andrew Lenharth [Wed, 15 Mar 2006 19:02:54 +0000 (19:02 +0000)]
better check

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

18 years agoremove qsort for now
Andrew Lenharth [Wed, 15 Mar 2006 18:32:18 +0000 (18:32 +0000)]
remove qsort for now

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

18 years agoAlso requires -mattr=-sse3
Evan Cheng [Wed, 15 Mar 2006 18:05:13 +0000 (18:05 +0000)]
Also requires -mattr=-sse3

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

18 years agoallow field sensitivity to be a tunable parameter
Andrew Lenharth [Wed, 15 Mar 2006 05:43:41 +0000 (05:43 +0000)]
allow field sensitivity to be a tunable parameter

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

18 years agoUpdate scheduling info for vrsave instruction
Nate Begeman [Wed, 15 Mar 2006 05:25:05 +0000 (05:25 +0000)]
Update scheduling info for vrsave instruction

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

18 years agoHandle one offset with growth case seen in povray. Namely, if we have an offset,
Andrew Lenharth [Wed, 15 Mar 2006 04:04:21 +0000 (04:04 +0000)]
Handle one offset with growth case seen in povray.  Namely, if we have an offset,
and the offset lands at a field boundary in the old type, construct a new type,
copying the fields masked by the offset from the old type, and unify with that.

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

18 years agoimprove mem intrinsics and add a few things povray uses
Andrew Lenharth [Wed, 15 Mar 2006 03:43:59 +0000 (03:43 +0000)]
improve mem intrinsics and add a few things povray uses

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

18 years agoFix VC++ build error.
Jeff Cohen [Wed, 15 Mar 2006 02:51:05 +0000 (02:51 +0000)]
Fix VC++ build error.

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

18 years agoremove typo
Chris Lattner [Wed, 15 Mar 2006 02:05:38 +0000 (02:05 +0000)]
remove typo

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

18 years agoAutogenerate a table of intrinsic names, so we can map from intrinsic ID to
Chris Lattner [Wed, 15 Mar 2006 01:55:21 +0000 (01:55 +0000)]
Autogenerate a table of intrinsic names, so we can map from intrinsic ID to
LLVM intrinsic function name.

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

18 years agoAutogenerate code to map from GCC builtin to LLVM intrinsic.
Chris Lattner [Wed, 15 Mar 2006 01:33:26 +0000 (01:33 +0000)]
Autogenerate code to map from GCC builtin to LLVM intrinsic.

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

18 years agoSet TargetPrefix on target-specific intrinsics. That way, in theory, different
Chris Lattner [Wed, 15 Mar 2006 01:32:36 +0000 (01:32 +0000)]
Set TargetPrefix on target-specific intrinsics.  That way, in theory, different
targets could have different implemenations of a __builtin_foo gcc intrinsic.

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

18 years agoFixed a typo in the vsetfp examples.
Robert Bocchino [Tue, 14 Mar 2006 23:22:57 +0000 (23:22 +0000)]
Fixed a typo in the vsetfp examples.

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

18 years agoSplit the 'vset' instruction into two instructions, 'vsetint' and
Robert Bocchino [Tue, 14 Mar 2006 20:55:28 +0000 (20:55 +0000)]
Split the 'vset' instruction into two instructions, 'vsetint' and
'vsetfp', to reflect the fact that the semantics are different for
integer and fp values.

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

18 years agoUpdate this to match the documentation in the GC doc and to match actual
Chris Lattner [Tue, 14 Mar 2006 20:02:51 +0000 (20:02 +0000)]
Update this to match the documentation in the GC doc and to match actual
practice.

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

18 years agoFix the gcread/gcwrite intrinsic specifications, fixing
Chris Lattner [Tue, 14 Mar 2006 20:00:20 +0000 (20:00 +0000)]
Fix the gcread/gcwrite intrinsic specifications, fixing
CodeGen/Generic/GC/alloc_loop.ll

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

18 years agoBugfix, unbreaking CodeGen/PowerPC/cttz.ll
Chris Lattner [Tue, 14 Mar 2006 19:49:57 +0000 (19:49 +0000)]
Bugfix, unbreaking CodeGen/PowerPC/cttz.ll

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

18 years agoFix an et-forest memory leak. Patch by Daniel Berlin.
Chris Lattner [Tue, 14 Mar 2006 19:41:45 +0000 (19:41 +0000)]
Fix an et-forest memory leak.  Patch by Daniel Berlin.

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

18 years agoadd a note
Chris Lattner [Tue, 14 Mar 2006 19:31:24 +0000 (19:31 +0000)]
add a note

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

18 years agoReflect the fact that empty strings can be expressed as null.
Jim Laskey [Tue, 14 Mar 2006 18:50:50 +0000 (18:50 +0000)]
Reflect the fact that empty strings can be expressed as null.

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

18 years ago1. Use null for serialized empty strings.
Jim Laskey [Tue, 14 Mar 2006 18:37:57 +0000 (18:37 +0000)]
1. Use null for serialized empty strings.
2. Allow for user defined debug descriptors.
3. Allow for user augmented fields on debug descriptors.

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

18 years agoBring debugging information up to date.
Jim Laskey [Tue, 14 Mar 2006 18:08:46 +0000 (18:08 +0000)]
Bring debugging information up to date.

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

18 years agoFix an off by one error that caused PPC LLC failures last night.
Chris Lattner [Tue, 14 Mar 2006 17:56:49 +0000 (17:56 +0000)]
Fix an off by one error that caused PPC LLC failures last night.

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

18 years agoImplement a FIXME, recusively reassociating
Chris Lattner [Tue, 14 Mar 2006 16:04:29 +0000 (16:04 +0000)]
Implement a FIXME, recusively reassociating
A*A*B + A*A*C   -->   A*(A*B+A*C)   -->   A*(A*(B+C))

This implements Reassociate/mul-factor3.ll

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

18 years agonew testcase from a FIXME in the code
Chris Lattner [Tue, 14 Mar 2006 08:13:09 +0000 (08:13 +0000)]
new testcase from a FIXME in the code

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

18 years agoextract some code into a method, no functionality change
Chris Lattner [Tue, 14 Mar 2006 07:11:11 +0000 (07:11 +0000)]
extract some code into a method, no functionality change

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

18 years agotransformation implemented
Chris Lattner [Tue, 14 Mar 2006 06:57:34 +0000 (06:57 +0000)]
transformation implemented

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

18 years agoPromote shifts by a constant to multiplies so that we can reassociate
Chris Lattner [Tue, 14 Mar 2006 06:55:18 +0000 (06:55 +0000)]
Promote shifts by a constant to multiplies so that we can reassociate
(x<<1)+(y<<1) -> (X+Y)<<1.  This implements
Transforms/Reassociate/shift-factor.ll

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

18 years agoTest that we can reassociate (x<<1)+(y<<1) -> (X+Y)<<1.
Chris Lattner [Tue, 14 Mar 2006 06:54:32 +0000 (06:54 +0000)]
Test that we can reassociate (x<<1)+(y<<1) -> (X+Y)<<1.

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

18 years agoAllow a sequence of digits at the end of the directory name when trying to
Reid Spencer [Tue, 14 Mar 2006 06:08:05 +0000 (06:08 +0000)]
Allow a sequence of digits at the end of the directory name when trying to
determine the top directory. This allows the tool to find the correct top
directory when you have something like:

   /x/llvm
   /x/llvm2
   /x/llvm3

Previously the scripts would always find /x/llvm even if you were in the
llvm2 or llvm3 directory because the pattern didn't allow the digits at
the end of the path.

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

18 years agoChange llvm.cs.uiuc.edu -> llvm.org
Reid Spencer [Tue, 14 Mar 2006 06:05:05 +0000 (06:05 +0000)]
Change llvm.cs.uiuc.edu -> llvm.org

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

18 years agoAdd a newline at the end to avoid gcc warnings.
Reid Spencer [Tue, 14 Mar 2006 05:59:52 +0000 (05:59 +0000)]
Add a newline at the end to avoid gcc warnings.

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

18 years agoConvert llvm.cs.uiuc.edu -> llvm.org
Reid Spencer [Tue, 14 Mar 2006 05:54:52 +0000 (05:54 +0000)]
Convert llvm.cs.uiuc.edu -> llvm.org

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

18 years agoChange docs for llvm.cs.uiuc.edu -> llvm.org
Reid Spencer [Tue, 14 Mar 2006 05:42:07 +0000 (05:42 +0000)]
Change docs for llvm.cs.uiuc.edu -> llvm.org

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

18 years agoChanges docs for llvm.cs.uiuc.edu -> llvm.org
Reid Spencer [Tue, 14 Mar 2006 05:39:39 +0000 (05:39 +0000)]
Changes docs for llvm.cs.uiuc.edu -> llvm.org

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

18 years ago1. Handle removal of all arguments for a morphed intrinsic.
Jim Laskey [Tue, 14 Mar 2006 02:00:35 +0000 (02:00 +0000)]
1. Handle removal of all arguments for a morphed intrinsic.
2. Remove the declaration of llvm.dbg.declare.

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

18 years agoRemove the use of llvm.dbg.declare.
Jim Laskey [Tue, 14 Mar 2006 01:53:11 +0000 (01:53 +0000)]
Remove the use of llvm.dbg.declare.

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

18 years agoPPC LSR pass should use target lowering hooks.
Evan Cheng [Mon, 13 Mar 2006 23:56:51 +0000 (23:56 +0000)]
PPC LSR pass should use target lowering hooks.

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

18 years agoAdded getTargetLowering() to TargetMachine. Refactored targets to support this.
Evan Cheng [Mon, 13 Mar 2006 23:20:37 +0000 (23:20 +0000)]
Added getTargetLowering() to TargetMachine. Refactored targets to support this.

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

18 years agoUpdate
Evan Cheng [Mon, 13 Mar 2006 23:19:10 +0000 (23:19 +0000)]
Update

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

18 years agoAdd LSR hooks.
Evan Cheng [Mon, 13 Mar 2006 23:18:16 +0000 (23:18 +0000)]
Add LSR hooks.

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

18 years agoAdded getTargetLowering() - returns DAG lowering info.
Evan Cheng [Mon, 13 Mar 2006 23:17:42 +0000 (23:17 +0000)]
Added getTargetLowering() - returns DAG lowering info.

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

18 years agoAdded target lowering hooks which LSR consults to make more intelligent
Evan Cheng [Mon, 13 Mar 2006 23:14:23 +0000 (23:14 +0000)]
Added target lowering hooks which LSR consults to make more intelligent
transformation decisions.

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

18 years agoHandle builtins that directly correspond to GCC builtins.
Chris Lattner [Mon, 13 Mar 2006 23:09:05 +0000 (23:09 +0000)]
Handle builtins that directly correspond to GCC builtins.

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

18 years agoemit a mapping from LLVM intrinsic -> GCC builtins.
Chris Lattner [Mon, 13 Mar 2006 23:08:44 +0000 (23:08 +0000)]
emit a mapping from LLVM intrinsic -> GCC builtins.

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

18 years agoVerify that packed type operands have the right size and base type.
Chris Lattner [Mon, 13 Mar 2006 22:38:57 +0000 (22:38 +0000)]
Verify that packed type operands have the right size and base type.

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

18 years agoAdd a first ppc altivec intrinsic. Add packed type support.
Chris Lattner [Mon, 13 Mar 2006 22:38:32 +0000 (22:38 +0000)]
Add a first ppc altivec intrinsic.  Add packed type support.

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

18 years agoFor functions that use vector registers, save VRSAVE, mark used
Chris Lattner [Mon, 13 Mar 2006 21:52:10 +0000 (21:52 +0000)]
For functions that use vector registers, save VRSAVE, mark used
registers, and update it on entry to each function, then restore it on exit.

This compiles:

void func(vfloat *a, vfloat *b, vfloat *c) {
        *a = *b * *c + *c;
}

to this:

_func:
        mfspr r2, 256
        oris r6, r2, 49152
        mtspr 256, r6
        lvx v0, 0, r5
        lvx v1, 0, r4
        vmaddfp v0, v1, v0, v0
        stvx v0, 0, r3
        mtspr 256, r2
        blr

GCC produces this (which has additional stack accesses):

_func:
        mfspr r0,256
        stw r0,-4(r1)
        oris r0,r0,0xc000
        mtspr 256,r0
        lvx v0,0,r5
        lvx v1,0,r4
        lwz r12,-4(r1)
        vmaddfp v0,v0,v1,v0
        stvx v0,0,r3
        mtspr 256,r12
        blr

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

18 years agoOptimizing to calloc() to malloc() + memset() can be bad on some platforms.
Evan Cheng [Mon, 13 Mar 2006 21:22:43 +0000 (21:22 +0000)]
Optimizing to calloc() to malloc() + memset() can be bad on some platforms.

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

18 years agomake sure dead token factor nodes are removed by the dag combiner.
Chris Lattner [Mon, 13 Mar 2006 18:37:30 +0000 (18:37 +0000)]
make sure dead token factor nodes are removed by the dag combiner.

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

18 years agoBring makefile back into compliance with standard by using
Reid Spencer [Mon, 13 Mar 2006 17:57:31 +0000 (17:57 +0000)]
Bring makefile back into compliance with standard by using
$(Echo) instead of @echo

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

18 years agoHandle the removal of the debug chain.
Jim Laskey [Mon, 13 Mar 2006 13:07:37 +0000 (13:07 +0000)]
Handle the removal of the debug chain.

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

18 years agoremove two implemented items
Chris Lattner [Mon, 13 Mar 2006 06:52:22 +0000 (06:52 +0000)]
remove two implemented items

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

18 years agoFold X+Y -> X|Y when safe. This implements:
Chris Lattner [Mon, 13 Mar 2006 06:51:27 +0000 (06:51 +0000)]
Fold X+Y -> X|Y when safe.  This implements:
Regression/CodeGen/PowerPC/and_add.ll

a case that occurs with dynamic allocas of constant size.

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

18 years agonew testcase
Chris Lattner [Mon, 13 Mar 2006 06:50:47 +0000 (06:50 +0000)]
new testcase

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

18 years agoI can't convince myself that this is safe, remove the recursive call.
Chris Lattner [Mon, 13 Mar 2006 06:42:16 +0000 (06:42 +0000)]
I can't convince myself that this is safe, remove the recursive call.

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

18 years agoadd a couple of missing folds
Chris Lattner [Mon, 13 Mar 2006 06:26:26 +0000 (06:26 +0000)]
add a couple of missing folds

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

18 years agoFor targets with FABS/FNEG support, lower copysign to an integer load,
Chris Lattner [Mon, 13 Mar 2006 06:08:38 +0000 (06:08 +0000)]
For targets with FABS/FNEG support, lower copysign to an integer load,
a select and FABS/FNEG.

This speeds up a trivial (aka stupid) copysign benchmark I wrote from 6.73s
to 2.64s, woo.

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

18 years agoFix a couple of bugs that broke the alpha tester build
Chris Lattner [Mon, 13 Mar 2006 05:23:59 +0000 (05:23 +0000)]
Fix a couple of bugs that broke the alpha tester build

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

18 years agoHandle cracked instructions in dispatch group formation.
Chris Lattner [Mon, 13 Mar 2006 05:20:04 +0000 (05:20 +0000)]
Handle cracked instructions in dispatch group formation.

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

18 years agoMark instructions that are cracked by the PPC970 decoder as such.
Chris Lattner [Mon, 13 Mar 2006 05:15:10 +0000 (05:15 +0000)]
Mark instructions that are cracked by the PPC970 decoder as such.

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

18 years agoSeveral big changes:
Chris Lattner [Sun, 12 Mar 2006 09:13:49 +0000 (09:13 +0000)]
Several big changes:
1. Use flags on the instructions in the .td file to indicate the PPC970 unit
   type instead of a table in the .cpp file.  Much cleaner.
2. Change the hazard recognizer to build d-groups according to the actual
   algorithm used, not my flawed understanding of it.
3. Model "must be in the first slot" and "must be the only instr in a group"
   accurately.

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

18 years agoDon't advance the hazard recognizer when there are no hazards and no instructions
Chris Lattner [Sun, 12 Mar 2006 09:01:41 +0000 (09:01 +0000)]
Don't advance the hazard recognizer when there are no hazards and no instructions
to be emitted.

Don't add one to the latency of a completed instruction if the latency of the
op is 0.

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