oota-llvm.git
18 years agoAllow globals to have an alignment specified. Switch to using isPowerOf2_32
Chris Lattner [Sun, 6 Nov 2005 06:46:28 +0000 (06:46 +0000)]
Allow globals to have an alignment specified.  Switch to using isPowerOf2_32
at Jim's request for the checking code.

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

18 years agoallow functions and modules to have an explicit alignment
Chris Lattner [Sun, 6 Nov 2005 06:44:42 +0000 (06:44 +0000)]
allow functions and modules to have an explicit alignment

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

18 years agoregenerate
Chris Lattner [Sun, 6 Nov 2005 06:34:34 +0000 (06:34 +0000)]
regenerate

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

18 years agofactor optional alignment
Chris Lattner [Sun, 6 Nov 2005 06:34:12 +0000 (06:34 +0000)]
factor optional alignment

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

18 years agoask for 16-byte aligned jmpbufs. This should unbreak C++ on IA64 (and
Duraid Madina [Sun, 6 Nov 2005 04:29:30 +0000 (04:29 +0000)]
ask for 16-byte aligned jmpbufs. This should unbreak C++ on IA64 (and
a bunch of other things) but is currently ignored by the code
generator.

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

18 years agoenumerate non-standard argument encoding cases, such as alignment info for
Chris Lattner [Sat, 5 Nov 2005 22:32:06 +0000 (22:32 +0000)]
enumerate non-standard argument encoding cases, such as alignment info for
allocations

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

18 years agorearrange some info about the instruction encoding
Chris Lattner [Sat, 5 Nov 2005 22:20:06 +0000 (22:20 +0000)]
rearrange some info about the instruction encoding

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

18 years agoWrite/read allocation instruction alignment info to .bc files.
Chris Lattner [Sat, 5 Nov 2005 22:08:14 +0000 (22:08 +0000)]
Write/read allocation instruction alignment info to .bc files.

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

18 years agonew testcase
Chris Lattner [Sat, 5 Nov 2005 22:07:30 +0000 (22:07 +0000)]
new testcase

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

18 years agoadd an accessor
Chris Lattner [Sat, 5 Nov 2005 21:58:30 +0000 (21:58 +0000)]
add an accessor

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

18 years agoverify that alignments are always a power of 2
Chris Lattner [Sat, 5 Nov 2005 21:57:54 +0000 (21:57 +0000)]
verify that alignments are always a power of 2

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

18 years agoregenerate
Chris Lattner [Sat, 5 Nov 2005 21:54:23 +0000 (21:54 +0000)]
regenerate

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

18 years agoVerify that alignment amounts are a power of 2
Chris Lattner [Sat, 5 Nov 2005 21:54:03 +0000 (21:54 +0000)]
Verify that alignment amounts are a power of 2

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

18 years agofix printing the alignment directive
Chris Lattner [Sat, 5 Nov 2005 21:20:34 +0000 (21:20 +0000)]
fix printing the alignment directive

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

18 years agoAdd support alignment of allocation instructions.
Nate Begeman [Sat, 5 Nov 2005 09:21:28 +0000 (09:21 +0000)]
Add support alignment of allocation instructions.
Add support for specifying alignment and size of setjmp jmpbufs.

No targets currently do anything with this information, nor is it presrved
in the bytecode representation.  That's coming up next.

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

18 years agoadd a case Nate sent me
Chris Lattner [Sat, 5 Nov 2005 08:57:56 +0000 (08:57 +0000)]
add a case Nate sent me

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

18 years agoImplement Transforms/TailCallElim/return-undef.ll, a trivial case
Chris Lattner [Sat, 5 Nov 2005 08:21:11 +0000 (08:21 +0000)]
Implement Transforms/TailCallElim/return-undef.ll, a trivial case
that has been sitting in my inbox since May 18. :)

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

18 years agoNew testcase
Chris Lattner [Sat, 5 Nov 2005 08:20:28 +0000 (08:20 +0000)]
New testcase

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

18 years agoTurn sdiv into udiv if both operands have a clear sign bit. This occurs
Chris Lattner [Sat, 5 Nov 2005 07:40:31 +0000 (07:40 +0000)]
Turn sdiv into udiv if both operands have a clear sign bit.  This occurs
a few times in crafty:

OLD:    %tmp.36 = div int %tmp.35, 8            ; <int> [#uses=1]
NEW:    %tmp.36 = div uint %tmp.35, 8           ; <uint> [#uses=0]
OLD:    %tmp.19 = div int %tmp.18, 8            ; <int> [#uses=1]
NEW:    %tmp.19 = div uint %tmp.18, 8           ; <uint> [#uses=0]
OLD:    %tmp.117 = div int %tmp.116, 8          ; <int> [#uses=1]
NEW:    %tmp.117 = div uint %tmp.116, 8         ; <uint> [#uses=0]
OLD:    %tmp.92 = div int %tmp.91, 8            ; <int> [#uses=1]
NEW:    %tmp.92 = div uint %tmp.91, 8           ; <uint> [#uses=0]

Which all turn into shrs.

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

18 years agoTurn srem -> urem when neither input has their sign bit set. This triggers
Chris Lattner [Sat, 5 Nov 2005 07:28:37 +0000 (07:28 +0000)]
Turn srem -> urem when neither input has their sign bit set.  This triggers
8 times in vortex, allowing the srems to be turned into shrs:

OLD:    %tmp.104 = rem int %tmp.5.i37, 16               ; <int> [#uses=1]
NEW:    %tmp.104 = rem uint %tmp.5.i37, 16              ; <uint> [#uses=0]
OLD:    %tmp.98 = rem int %tmp.5.i24, 16                ; <int> [#uses=1]
NEW:    %tmp.98 = rem uint %tmp.5.i24, 16               ; <uint> [#uses=0]
OLD:    %tmp.91 = rem int %tmp.5.i19, 8         ; <int> [#uses=1]
NEW:    %tmp.91 = rem uint %tmp.5.i19, 8                ; <uint> [#uses=0]
OLD:    %tmp.88 = rem int %tmp.5.i14, 8         ; <int> [#uses=1]
NEW:    %tmp.88 = rem uint %tmp.5.i14, 8                ; <uint> [#uses=0]
OLD:    %tmp.85 = rem int %tmp.5.i9, 1024               ; <int> [#uses=2]
NEW:    %tmp.85 = rem uint %tmp.5.i9, 1024              ; <uint> [#uses=0]
OLD:    %tmp.82 = rem int %tmp.5.i, 512         ; <int> [#uses=2]
NEW:    %tmp.82 = rem uint %tmp.5.i1, 512               ; <uint> [#uses=0]
OLD:    %tmp.48.i = rem int %tmp.5.i.i161, 4            ; <int> [#uses=1]
NEW:    %tmp.48.i = rem uint %tmp.5.i.i161, 4           ; <uint> [#uses=0]
OLD:    %tmp.20.i2 = rem int %tmp.5.i.i, 4              ; <int> [#uses=1]
NEW:    %tmp.20.i2 = rem uint %tmp.5.i.i, 4             ; <uint> [#uses=0]

it also occurs 9 times in gcc, but with odd constant divisors (1009 and 61)
so the payoff isn't as great.

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

18 years agoFix logic bug in finding retry slot in tally.
Jim Laskey [Sat, 5 Nov 2005 00:01:25 +0000 (00:01 +0000)]
Fix logic bug in finding retry slot in tally.

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

18 years agoFix a warning
Jim Laskey [Fri, 4 Nov 2005 18:26:02 +0000 (18:26 +0000)]
Fix a warning

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

18 years agooops, forgot to load GP for indirect calls, though the old code now commented
Duraid Madina [Fri, 4 Nov 2005 17:55:53 +0000 (17:55 +0000)]
oops, forgot to load GP for indirect calls, though the old code now commented
out failed (e.g. methcall) - now the code compiles, though it's not quite
right just yet (tm) ;)

would fix this but it's 3am! :O

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

18 years agokill redundant SP/GP/RP save/restores across calls
Duraid Madina [Fri, 4 Nov 2005 10:01:10 +0000 (10:01 +0000)]
kill redundant SP/GP/RP save/restores across calls

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

18 years agoadd support for loading bools
Duraid Madina [Fri, 4 Nov 2005 09:59:06 +0000 (09:59 +0000)]
add support for loading bools

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

18 years agoScheduling now uses itinerary data.
Jim Laskey [Fri, 4 Nov 2005 04:05:35 +0000 (04:05 +0000)]
Scheduling now uses itinerary data.

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

18 years ago<cassert> no longer required to make VC++ happy.
Jeff Cohen [Fri, 4 Nov 2005 02:59:16 +0000 (02:59 +0000)]
<cassert> no longer required to make VC++ happy.

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

18 years agochange NULL to 0, unbreaks the ppc target when building on ia64
Duraid Madina [Fri, 4 Nov 2005 01:45:04 +0000 (01:45 +0000)]
change NULL to 0, unbreaks the ppc target when building on ia64

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

18 years agofun with predicates! (add TRUNC i64->i1, AND i1 i1, fix XOR i1 i1)
Duraid Madina [Fri, 4 Nov 2005 00:57:56 +0000 (00:57 +0000)]
fun with predicates! (add TRUNC i64->i1, AND i1 i1, fix XOR i1 i1)

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

18 years ago1. Remove ranges from itinerary data.
Jim Laskey [Thu, 3 Nov 2005 22:47:41 +0000 (22:47 +0000)]
1. Remove ranges from itinerary data.

2. Tidy up the subtarget emittined code.

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

18 years agoFix mac os spelling
Chris Lattner [Thu, 3 Nov 2005 22:33:48 +0000 (22:33 +0000)]
Fix mac os spelling

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

18 years agoAdd more bison versions, thanks to Vladimir
Chris Lattner [Thu, 3 Nov 2005 18:32:06 +0000 (18:32 +0000)]
Add more bison versions, thanks to Vladimir

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

18 years agoPer bug 655, give people more options in case 1.35 doesn't build on their
Chris Lattner [Thu, 3 Nov 2005 18:28:22 +0000 (18:28 +0000)]
Per bug 655, give people more options in case 1.35 doesn't build on their
system.

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

18 years agoadd pattern to load constant 0 into a predicate reg
Duraid Madina [Thu, 3 Nov 2005 10:09:32 +0000 (10:09 +0000)]
add pattern to load constant 0 into a predicate reg

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

18 years agoadd a hack that fixes:
Chris Lattner [Thu, 3 Nov 2005 07:17:51 +0000 (07:17 +0000)]
add a hack that fixes:
llvm-gcc main.c -Wl,-native -o a.out -g

This is important because it used by many configure scripts.

John, please pull this onto the 1.6 branch.

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

18 years agoReject integer literals that are out of range for their type.
Chris Lattner [Thu, 3 Nov 2005 05:46:11 +0000 (05:46 +0000)]
Reject integer literals that are out of range for their type.

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

18 years agoFix a bug that prevented this pattern from matching
Chris Lattner [Thu, 3 Nov 2005 05:45:34 +0000 (05:45 +0000)]
Fix a bug that prevented this pattern from matching

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

18 years agoFix a crash that Andrew noticed, and add a pair of braces to unfconfuse
Nate Begeman [Wed, 2 Nov 2005 18:42:59 +0000 (18:42 +0000)]
Fix a crash that Andrew noticed, and add a pair of braces to unfconfuse
XCode's indenting.

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

18 years agomake this 64 bit clean, fixed test30 of /Regression/Transforms/InstCombine/add.ll
Andrew Lenharth [Wed, 2 Nov 2005 18:35:40 +0000 (18:35 +0000)]
make this 64 bit clean, fixed test30 of /Regression/Transforms/InstCombine/add.ll

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

18 years agoThis is missed by InstCombine, patch comming
Andrew Lenharth [Wed, 2 Nov 2005 18:34:05 +0000 (18:34 +0000)]
This is missed by InstCombine, patch comming

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

18 years agoFix a QOI issue noticed by Markus F.X.J. Oberhumer.
Chris Lattner [Wed, 2 Nov 2005 17:42:58 +0000 (17:42 +0000)]
Fix a QOI issue noticed by Markus F.X.J. Oberhumer.
This fixes PR641

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

18 years ago"fix" support for FP constants (this code asserts in the scheduler,
Duraid Madina [Wed, 2 Nov 2005 07:32:59 +0000 (07:32 +0000)]
"fix" support for FP constants (this code asserts in the scheduler,
though)

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

18 years agoadd F0 and F1 to the FP register class
Duraid Madina [Wed, 2 Nov 2005 07:30:39 +0000 (07:30 +0000)]
add F0 and F1 to the FP register class

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

18 years agoThis works now
Chris Lattner [Wed, 2 Nov 2005 06:49:37 +0000 (06:49 +0000)]
This works now

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

18 years agoAdd support for immediates directly in the pattern, this allows itanium to
Chris Lattner [Wed, 2 Nov 2005 06:49:14 +0000 (06:49 +0000)]
Add support for immediates directly in the pattern, this allows itanium to
define:

def : Pat<(i1 1), (CMPEQ r0, r0)>;

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

18 years agoKeep VC++ happy.
Jeff Cohen [Wed, 2 Nov 2005 04:03:16 +0000 (04:03 +0000)]
Keep VC++ happy.

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

18 years agoadd support for SELECT to TargetSelectionDAG.td, add support for
Duraid Madina [Wed, 2 Nov 2005 02:37:18 +0000 (02:37 +0000)]
add support for SELECT to TargetSelectionDAG.td, add support for
selecting ints to IA64, and a few other ia64 bits and pieces

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

18 years agoadd support for loading FP constants +0.0 and +1.0 to the dag isel,
Duraid Madina [Wed, 2 Nov 2005 02:35:04 +0000 (02:35 +0000)]
add support for loading FP constants +0.0 and +1.0 to the dag isel,
stop pretending -0.0 and -1.0 are machine constants

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

18 years agoFix a source of undefined behavior when dealing with 64-bit types. This
Chris Lattner [Wed, 2 Nov 2005 01:47:04 +0000 (01:47 +0000)]
Fix a source of undefined behavior when dealing with 64-bit types. This
may fix PR652.  Thanks to Andrew for tracking down the problem.

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

18 years ago* Replace ampersands in section titles with more formal ``and''
Misha Brukman [Tue, 1 Nov 2005 21:12:49 +0000 (21:12 +0000)]
* Replace ampersands in section titles with more formal ``and''
* Surround C++ template operators with <tt>
* Add <> after templated operators for consistency

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

18 years agoRe-generated to fix copy-paste typo noticed by Marco Matthies.
Misha Brukman [Tue, 1 Nov 2005 21:00:49 +0000 (21:00 +0000)]
Re-generated to fix copy-paste typo noticed by Marco Matthies.

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

18 years agoFixed copy-paste typo, patch by Marco Matthies.
Misha Brukman [Tue, 1 Nov 2005 20:58:08 +0000 (20:58 +0000)]
Fixed copy-paste typo, patch by Marco Matthies.

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

18 years agoAllow itineraries to be passed through the Target Machine.
Jim Laskey [Tue, 1 Nov 2005 20:06:59 +0000 (20:06 +0000)]
Allow itineraries to be passed through the Target Machine.

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

18 years agoKeep VC++ happy.
Jeff Cohen [Tue, 1 Nov 2005 18:04:06 +0000 (18:04 +0000)]
Keep VC++ happy.

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

18 years agoLet people who run the nightly tester specify paths to external tests, instead
Chris Lattner [Tue, 1 Nov 2005 17:59:42 +0000 (17:59 +0000)]
Let people who run the nightly tester specify paths to external tests, instead
of having to hack the nightly tester script itself.

as an example, I use the following for my machine:

$HOME/llvm/utils/NightlyTest.pl -parallel -release -enable-llcbeta \
     -spec2000path /Volumes/ProjectsDisk/cvs/benchmarks/speccpu2000-llvm/benchspec/ \
     -povraypath /Volumes/ProjectsDisk/cvs/benchmarks/povray31 \
     -namdpath /Volumes/ProjectsDisk/cvs/benchmarks/namd

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

18 years agoheh, scheduling was easy?
Duraid Madina [Tue, 1 Nov 2005 05:49:08 +0000 (05:49 +0000)]
heh, scheduling was easy?

need to send chris, jim and sampo a box of fish each

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

18 years agoFORTRAN!!! :( and other similarly unfortunate things mean that on ia64
Duraid Madina [Tue, 1 Nov 2005 05:46:16 +0000 (05:46 +0000)]
FORTRAN!!! :( and other similarly unfortunate things mean that on ia64
one sometimes needs to pass FP args in both FP *and* integer registers.

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

18 years agoso tablegen was thinking I might want to convert FPs to predicates.
Duraid Madina [Tue, 1 Nov 2005 03:32:15 +0000 (03:32 +0000)]
so tablegen was thinking I might want to convert FPs to predicates.
clever little tablegen!

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

18 years agoadd support for int->FP and FP->int ops, and add ia64 patterns for these
Duraid Madina [Tue, 1 Nov 2005 03:07:25 +0000 (03:07 +0000)]
add support for int->FP and FP->int ops, and add ia64 patterns for these

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

18 years agoadd zeroextend predicate->integer
Duraid Madina [Tue, 1 Nov 2005 01:29:55 +0000 (01:29 +0000)]
add zeroextend predicate->integer

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

18 years agoAdd a flag to enable a darwin linker optimization
Chris Lattner [Tue, 1 Nov 2005 00:12:36 +0000 (00:12 +0000)]
Add a flag to enable a darwin linker optimization

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

18 years agoMake constant pool entries use private labels. This is important when you're
Chris Lattner [Mon, 31 Oct 2005 22:12:06 +0000 (22:12 +0000)]
Make constant pool entries use private labels.  This is important when you're
not compiling a whole program at a time :)

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

18 years agoUpdated alpha known problems.
Andrew Lenharth [Mon, 31 Oct 2005 19:07:29 +0000 (19:07 +0000)]
Updated alpha known problems.

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

18 years agoApparently these do pass on some alphas
Chris Lattner [Mon, 31 Oct 2005 19:06:13 +0000 (19:06 +0000)]
Apparently these do pass on some alphas

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

18 years agoFix an iterator invalidation problem in code used by the -strip pass
Chris Lattner [Mon, 31 Oct 2005 18:42:37 +0000 (18:42 +0000)]
Fix an iterator invalidation problem in code used by the -strip pass

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

18 years agoLimit the search depth of MaskedValueIsZero to 6 instructions, to avoid
Chris Lattner [Mon, 31 Oct 2005 18:35:52 +0000 (18:35 +0000)]
Limit the search depth of MaskedValueIsZero to 6 instructions, to avoid
bad cases.  This fixes Markus's second testcase in PR639, and should
seal it for good.

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

18 years agoEmit itinerary class in instruction info.
Jim Laskey [Mon, 31 Oct 2005 17:16:46 +0000 (17:16 +0000)]
Emit itinerary class in instruction info.

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

18 years agoGenerate cpu to itinerary map.
Jim Laskey [Mon, 31 Oct 2005 17:16:01 +0000 (17:16 +0000)]
Generate cpu to itinerary map.

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

18 years agothese tests fail on alpha for some reason
Chris Lattner [Mon, 31 Oct 2005 16:15:49 +0000 (16:15 +0000)]
these tests fail on alpha for some reason

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

18 years ago1. Embed and not inherit vector for NodeGroup.
Jim Laskey [Mon, 31 Oct 2005 12:49:09 +0000 (12:49 +0000)]
1. Embed and not inherit vector for NodeGroup.

2. Iterate operands and not uses (performance.)

3. Some long pending comment changes.

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

18 years agoadd FP compares and implicit register defs to the dag isel
Duraid Madina [Mon, 31 Oct 2005 01:42:11 +0000 (01:42 +0000)]
add FP compares and implicit register defs to the dag isel

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

18 years agoUpdate Getting Started for Visual Studio page.
Jeff Cohen [Sun, 30 Oct 2005 21:00:24 +0000 (21:00 +0000)]
Update Getting Started for Visual Studio page.

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

18 years agoSignificantly simplify this code and make it more aggressive. Instead of having
Chris Lattner [Sun, 30 Oct 2005 19:42:35 +0000 (19:42 +0000)]
Significantly simplify this code and make it more aggressive.  Instead of having
a special case hack for X86, make the hack more general: if an incoming argument
register is not used in any block other than the entry block, don't copy it to
a vreg.  This helps us compile code like this:

%struct.foo = type { int, int, [0 x ubyte] }
int %test(%struct.foo* %X) {
        %tmp1 = getelementptr %struct.foo* %X, int 0, uint 2, int 100
        %tmp = load ubyte* %tmp1                ; <ubyte> [#uses=1]
        %tmp2 = cast ubyte %tmp to int          ; <int> [#uses=1]
        ret int %tmp2
}

to:

_test:
        lbz r3, 108(r3)
        blr

instead of:

_test:
        lbz r2, 108(r3)
        or r3, r2, r2
        blr

The (dead) copy emitted to copy r3 into a vreg for extra-block uses was
increasing the live range of r3 past the load, preventing the coallescing.

This implements CodeGen/PowerPC/reg-coallesce-simple.ll

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

18 years agonew testcase
Chris Lattner [Sun, 30 Oct 2005 19:42:18 +0000 (19:42 +0000)]
new testcase

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

18 years agoReduce the number of copies emitted as machine instructions by
Chris Lattner [Sun, 30 Oct 2005 18:54:27 +0000 (18:54 +0000)]
Reduce the number of copies emitted as machine instructions by
generating results in vregs that will need them.  In the case of something
like this:  CopyToReg((add X, Y), reg1024), we no longer emit code like
this:

   reg1025 = add X, Y
   reg1024 = reg 1025

Instead, we emit:

   reg1024 = add X, Y

Whoa! :)

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

18 years agoIf the module has no t-t and the host is an alpha, default to using the Alpha BE
Chris Lattner [Sun, 30 Oct 2005 16:44:01 +0000 (16:44 +0000)]
If the module has no t-t and the host is an alpha, default to using the Alpha BE

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

18 years agofix some broken comparisons, this affected the Pattern isel too.
Duraid Madina [Sun, 30 Oct 2005 10:14:19 +0000 (10:14 +0000)]
fix some broken comparisons, this affected the Pattern isel too.

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

18 years agoThe pass was removed, but the spirit lives on
Chris Lattner [Sun, 30 Oct 2005 07:22:15 +0000 (07:22 +0000)]
The pass was removed, but the spirit lives on

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

18 years agoThis is implemented
Chris Lattner [Sun, 30 Oct 2005 06:42:12 +0000 (06:42 +0000)]
This is implemented

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

18 years agoCodegen mul by negative power of two with a shift and negate.
Chris Lattner [Sun, 30 Oct 2005 06:41:49 +0000 (06:41 +0000)]
Codegen mul by negative power of two with a shift and negate.
This implements test/Regression/CodeGen/PowerPC/mul-neg-power-2.ll,
producing:

_foo:
        slwi r2, r3, 1
        subfic r3, r2, 63
        blr

instead of:

_foo:
        mulli r2, r3, -2
        addi r3, r2, 63
        blr

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

18 years agonew testcase
Chris Lattner [Sun, 30 Oct 2005 06:37:33 +0000 (06:37 +0000)]
new testcase

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

18 years agoFix a problem that Nate noticed with LSR:
Chris Lattner [Sun, 30 Oct 2005 06:24:33 +0000 (06:24 +0000)]
Fix a problem that Nate noticed with LSR:

When inserting code for an addrec expression with a non-unit stride, be
more careful where we insert the multiply.  In particular, insert the multiply
in the outermost loop we can, instead of the requested insertion point.

This allows LSR to notice the mul in the right loop, reducing it when it gets
to it.  This allows it to reduce the multiply, where before it missed it.

This happens quite a bit in the test suite, for example, eliminating 2
multiplies in art, 3 in ammp, 4 in apsi, reducing from 1050 multiplies to
910 muls in galgel (!), from 877 to 859 in applu, and 36 to 30 in bzip2.

This speeds up galgel from 16.45s to 16.01s, applu from 14.21 to 13.94s and
fourinarow from 66.67s to 63.48s.

This implements Transforms/LoopStrengthReduce/nested-reduce.ll

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

18 years agonew testcase
Chris Lattner [Sun, 30 Oct 2005 05:14:02 +0000 (05:14 +0000)]
new testcase

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

18 years agoRevert an accidental commit.
Chris Lattner [Sat, 29 Oct 2005 17:01:41 +0000 (17:01 +0000)]
Revert an accidental commit.

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

18 years agoMore files deleted.
Jeff Cohen [Sat, 29 Oct 2005 16:51:48 +0000 (16:51 +0000)]
More files deleted.

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

18 years agoMake -time-passes output prettier
Chris Lattner [Sat, 29 Oct 2005 16:45:02 +0000 (16:45 +0000)]
Make -time-passes output prettier

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

18 years agoMake negative immediates in patterns work correctly, silence some warnings
Chris Lattner [Sat, 29 Oct 2005 16:39:40 +0000 (16:39 +0000)]
Make negative immediates in patterns work correctly, silence some warnings
building the itanium backend.

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

18 years agoadd some FP stuff, some mix.* stuff, and constant pool support to the
Duraid Madina [Sat, 29 Oct 2005 16:08:30 +0000 (16:08 +0000)]
add some FP stuff, some mix.* stuff, and constant pool support to the
DAG instruction selector, which should be destroyed one day (in the pattern
isel also) since ia64 can pack any constant in the instruction stream

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

18 years agoFix <> in html
Chris Lattner [Sat, 29 Oct 2005 07:08:19 +0000 (07:08 +0000)]
Fix <> in html

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

18 years agoFirst hack-and-slash on the release notes. Comments and improvements welcome
Chris Lattner [Sat, 29 Oct 2005 07:07:09 +0000 (07:07 +0000)]
First hack-and-slash on the release notes.  Comments and improvements welcome

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

18 years agoRemove the lowerconstantexprs pass
Chris Lattner [Sat, 29 Oct 2005 05:34:40 +0000 (05:34 +0000)]
Remove the lowerconstantexprs pass

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

18 years agoThis pass is now obsolete since all targets have moved to the SelectionDAG
Chris Lattner [Sat, 29 Oct 2005 05:33:46 +0000 (05:33 +0000)]
This pass is now obsolete since all targets have moved to the SelectionDAG
infrastructure and the simple isels have been removed.

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

18 years agoRemove the LowerConstantExpressionsPass pass
Chris Lattner [Sat, 29 Oct 2005 05:32:20 +0000 (05:32 +0000)]
Remove the LowerConstantExpressionsPass pass

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

18 years agoremove reference to this pass
Chris Lattner [Sat, 29 Oct 2005 05:28:34 +0000 (05:28 +0000)]
remove reference to this pass

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

18 years agoBasic updates
Chris Lattner [Sat, 29 Oct 2005 05:14:01 +0000 (05:14 +0000)]
Basic updates

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

18 years agoBuh bye Expression.(cpp|h)
Chris Lattner [Sat, 29 Oct 2005 04:55:57 +0000 (04:55 +0000)]
Buh bye Expression.(cpp|h)

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

18 years agoremove a dead file
Chris Lattner [Sat, 29 Oct 2005 04:43:38 +0000 (04:43 +0000)]
remove a dead file

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

18 years agoremove a dead header
Chris Lattner [Sat, 29 Oct 2005 04:43:10 +0000 (04:43 +0000)]
remove a dead header

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

18 years agoRemove dead #include
Chris Lattner [Sat, 29 Oct 2005 04:41:30 +0000 (04:41 +0000)]
Remove dead #include

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

18 years agoNow that instcombine does this xform, remove it from the -raise pass
Chris Lattner [Sat, 29 Oct 2005 04:40:23 +0000 (04:40 +0000)]
Now that instcombine does this xform, remove it from the -raise pass

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