Evan Cheng
2221de9cc1
Bug fix: condition inverted.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26804 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-16 22:02:48 +00:00
Evan Cheng
d1d6b5cce2
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
2006-03-16 21:53:05 +00:00
Evan Cheng
714554d707
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
2006-03-16 21:47:42 +00:00
Chris Lattner
8aa777d5ea
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
2006-03-16 21:31:45 +00:00
Chris Lattner
335fd3c7c2
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
2006-03-16 20:03:58 +00:00
Chris Lattner
199862b749
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
2006-03-16 19:57:50 +00:00
Chris Lattner
3c38449be6
Teach CreateRegForValue how to handle vector types.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26798 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-16 19:51:18 +00:00
Chris Lattner
3a59358499
set TransformToType correctly for vector types.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26797 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-16 19:50:01 +00:00
Chris Lattner
804d995f99
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
2006-03-16 19:42:44 +00:00
Nate Begeman
2df992883b
Another case we could do better on.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26795 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-16 18:50:44 +00:00
Chris Lattner
c5bf28a812
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
2006-03-16 18:47:51 +00:00
Chris Lattner
4bb1895072
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
2006-03-16 18:25:23 +00:00
Jim Laskey
41ff717e85
Typo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26792 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-16 18:15:12 +00:00
Chris Lattner
623751fbec
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
2006-03-16 16:14:59 +00:00
Reid Spencer
9a7ce7a09f
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
2006-03-16 03:05:57 +00:00
Chris Lattner
c29e12674b
add support for the bitconvert node
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26789 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-16 01:29:53 +00:00
Chris Lattner
28b5b1c7b5
add support for vector->vector casts
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26788 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-15 22:19:46 +00:00
Chris Lattner
06ac6ab938
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
2006-03-15 22:19:18 +00:00
Chris Lattner
8ed32f6f8e
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
2006-03-15 19:23:40 +00:00
Chris Lattner
b2f6c0075c
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
2006-03-15 19:22:41 +00:00
Chris Lattner
0da3130a98
allow the GCCBuiltinName field to be optional
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26784 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-15 19:15:26 +00:00
Jim Laskey
3d11beeadd
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
2006-03-15 19:10:52 +00:00
Jim Laskey
9d0ff8e6f9
Expand subprogram and added block descriptor.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26782 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-15 19:09:58 +00:00
Andrew Lenharth
26c2e73da6
no heap is happening here
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26781 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-15 19:03:16 +00:00
Andrew Lenharth
ace0565e65
better check
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26780 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-15 19:02:54 +00:00
Andrew Lenharth
3299cae135
remove qsort for now
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26779 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-15 18:32:18 +00:00
Evan Cheng
513d19b6a1
Also requires -mattr=-sse3
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26778 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-15 18:05:13 +00:00
Andrew Lenharth
0c3a0b6607
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
2006-03-15 05:43:41 +00:00
Nate Begeman
133decdceb
Update scheduling info for vrsave instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26776 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-15 05:25:05 +00:00
Andrew Lenharth
4bebcdbca1
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
2006-03-15 04:04:21 +00:00
Andrew Lenharth
24b1ea159e
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
2006-03-15 03:43:59 +00:00
Jeff Cohen
71c3bc3d96
Fix VC++ build error.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26773 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-15 02:51:05 +00:00
Chris Lattner
ad45b00d6a
remove typo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26772 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-15 02:05:38 +00:00
Chris Lattner
fda6affb95
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
2006-03-15 01:55:21 +00:00
Chris Lattner
3f8b8913bc
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
2006-03-15 01:33:26 +00:00
Chris Lattner
dfdcd5bb95
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
2006-03-15 01:32:36 +00:00
Robert Bocchino
230bd09aed
Fixed a typo in the vsetfp examples.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26768 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-14 23:22:57 +00:00
Robert Bocchino
8949de2588
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
2006-03-14 20:55:28 +00:00
Chris Lattner
80626e947f
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
2006-03-14 20:02:51 +00:00
Chris Lattner
840064e605
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
2006-03-14 20:00:20 +00:00
Chris Lattner
7538f4b52b
Bugfix, unbreaking CodeGen/PowerPC/cttz.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26764 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-14 19:49:57 +00:00
Chris Lattner
bb636274d4
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
2006-03-14 19:41:45 +00:00
Chris Lattner
cbd3cdd239
add a note
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26762 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-14 19:31:24 +00:00
Jim Laskey
4d9b10b098
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
2006-03-14 18:50:50 +00:00
Jim Laskey
2140798cc4
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
2006-03-14 18:37:57 +00:00
Jim Laskey
cec12a5c30
Bring debugging information up to date.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26759 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-14 18:08:46 +00:00
Chris Lattner
a08610c8a5
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
2006-03-14 17:56:49 +00:00
Chris Lattner
e9efecbf47
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
2006-03-14 16:04:29 +00:00
Chris Lattner
95f6553c49
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
2006-03-14 08:13:09 +00:00
Chris Lattner
895b392269
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
2006-03-14 07:11:11 +00:00