Jeff Cohen
be07f72ca2
<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
2005-11-04 02:59:16 +00:00
Duraid Madina
0954038705
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
2005-11-04 01:45:04 +00:00
Duraid Madina
49fcc4006c
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
2005-11-04 00:57:56 +00:00
Jim Laskey
7f39c14f52
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
2005-11-03 22:47:41 +00:00
Chris Lattner
f254836c3a
Fix mac os spelling
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24171 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-03 22:33:48 +00:00
Chris Lattner
c5851d4c61
Add more bison versions, thanks to Vladimir
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24169 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-03 18:32:06 +00:00
Chris Lattner
f2be1246fe
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
2005-11-03 18:28:22 +00:00
Duraid Madina
0e5e0d14a8
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
2005-11-03 10:09:32 +00:00
Chris Lattner
2b11995547
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
2005-11-03 07:17:51 +00:00
Chris Lattner
465c737467
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
2005-11-03 05:46:11 +00:00
Chris Lattner
61bc60fc4f
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
2005-11-03 05:45:34 +00:00
Nate Begeman
5dc7e861f8
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
2005-11-02 18:42:59 +00:00
Andrew Lenharth
7bbff04f7f
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
2005-11-02 18:35:40 +00:00
Andrew Lenharth
e8148bc291
This is missed by InstCombine, patch comming
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24157 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-02 18:34:05 +00:00
Chris Lattner
bad13eb189
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
2005-11-02 17:42:58 +00:00
Duraid Madina
056728f192
"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
2005-11-02 07:32:59 +00:00
Duraid Madina
a2df2aee81
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
2005-11-02 07:30:39 +00:00
Chris Lattner
cb2583e17d
This works now
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24150 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-02 06:49:37 +00:00
Chris Lattner
0614b628cf
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
2005-11-02 06:49:14 +00:00
Jeff Cohen
55d1728ec8
Keep VC++ happy.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24148 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-02 04:03:16 +00:00
Duraid Madina
5966955445
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
2005-11-02 02:37:18 +00:00
Duraid Madina
93856802ae
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
2005-11-02 02:35:04 +00:00
Chris Lattner
7c22575e32
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
2005-11-02 01:47:04 +00:00
Misha Brukman
2c122ceefe
* 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
2005-11-01 21:12:49 +00:00
Misha Brukman
f83d406541
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
2005-11-01 21:00:49 +00:00
Misha Brukman
ea04dfd611
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
2005-11-01 20:58:08 +00:00
Jim Laskey
6cee630070
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
2005-11-01 20:06:59 +00:00
Jeff Cohen
cb366d980a
Keep VC++ happy.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24137 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-01 18:04:06 +00:00
Chris Lattner
b0ddb49419
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
2005-11-01 17:59:42 +00:00
Duraid Madina
7a8ef3a0d4
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
2005-11-01 05:49:08 +00:00
Duraid Madina
dc9549b52c
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
2005-11-01 05:46:16 +00:00
Duraid Madina
aba8457125
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
2005-11-01 03:32:15 +00:00
Duraid Madina
e2fd9e2d9d
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
2005-11-01 03:07:25 +00:00
Duraid Madina
d1eda6d155
add zeroextend predicate->integer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24131 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-01 01:29:55 +00:00
Chris Lattner
5b0ac99c96
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
2005-11-01 00:12:36 +00:00
Chris Lattner
bb69e39b5b
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
2005-10-31 22:12:06 +00:00
Andrew Lenharth
42e957ce34
Updated alpha known problems.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24126 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-31 19:07:29 +00:00
Chris Lattner
cc577c0091
Apparently these do pass on some alphas
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24125 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-31 19:06:13 +00:00
Chris Lattner
306f6fefc9
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
2005-10-31 18:42:37 +00:00
Chris Lattner
76ff2c7504
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
2005-10-31 18:35:52 +00:00
Jim Laskey
b5a0c0ee05
Emit itinerary class in instruction info.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24122 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-31 17:16:46 +00:00
Jim Laskey
10b1dd99f3
Generate cpu to itinerary map.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24121 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-31 17:16:01 +00:00
Chris Lattner
0863ce59b5
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
2005-10-31 16:15:49 +00:00
Jim Laskey
5a608ddada
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
2005-10-31 12:49:09 +00:00
Duraid Madina
363aff2f3c
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
2005-10-31 01:42:11 +00:00
Jeff Cohen
a088734a24
Update Getting Started for Visual Studio page.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24117 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-30 21:00:24 +00:00
Chris Lattner
bf209489ad
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
2005-10-30 19:42:35 +00:00
Chris Lattner
65026a72ef
new testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24112 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-30 19:42:18 +00:00
Chris Lattner
a4176525cc
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
2005-10-30 18:54:27 +00:00
Chris Lattner
c1d6f67e8e
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
2005-10-30 16:44:01 +00:00