Chris Lattner
1761a3e6bb
Add some methods
...
llvm-svn: 25741
2006-01-28 09:32:01 +00:00
Chris Lattner
99bdf26410
minor tweaks
...
llvm-svn: 25740
2006-01-28 08:31:04 +00:00
Chris Lattner
94ab3cee71
move a bunch of code, no other change.
...
llvm-svn: 25739
2006-01-28 08:25:58 +00:00
Chris Lattner
9633d61b5b
remove a couple more now-extraneous legalizeop's
...
llvm-svn: 25738
2006-01-28 08:22:56 +00:00
Chris Lattner
4bc3abc3d0
fix a bug
...
llvm-svn: 25737
2006-01-28 07:42:08 +00:00
Chris Lattner
8eed1b6bda
Several major changes:
...
1. Pull out the expand cases for BSWAP and CT* into a separate function,
reducing the size of LegalizeOp.
2. Fix a bug where expand(bswap i64) was wrong when i64 is legal.
3. Changed LegalizeOp/PromoteOp so that the legalizer never needs to be
iterative. It now operates in a single pass over the nodes.
4. Simplify a LOT of code, with a net reduction of ~280 lines.
llvm-svn: 25736
2006-01-28 07:39:30 +00:00
Chris Lattner
d2eb15f467
Fix a bug in my elimination of ISD::CALL this morning. PPC now has to
...
provide the expansion for i64 calls itself
llvm-svn: 25735
2006-01-28 07:33:03 +00:00
Chris Lattner
686a1203f0
make this work on non-native hosts
...
llvm-svn: 25734
2006-01-28 06:05:41 +00:00
Chris Lattner
170727421b
add a note about how we should implement this FIXME from the legalizer:
...
// FIXME: revisit this when we have some kind of mechanism by which targets
// can decided legality of vector constants, of which there may be very
// many.
llvm-svn: 25733
2006-01-28 05:40:47 +00:00
Chris Lattner
84086fd689
Eliminate the need for ExpandOp to set 'needsanotheriteration', as it already
...
relegalizes the stuff it returns.
Add the ability to custom expand ADD/SUB, so that targets don't need to deal
with ADD_PARTS/SUB_PARTS if they don't want.
Fix some obscure potential bugs and simplify code.
llvm-svn: 25732
2006-01-28 05:07:51 +00:00
Chris Lattner
3b5a984065
Instead of making callers of ExpandLibCall legalize the result, make
...
ExpandLibCall do it itself.
llvm-svn: 25731
2006-01-28 04:28:26 +00:00
Chris Lattner
045a778e63
Eliminate the need to do another iteration of the legalizer after inserting
...
a libcall.
llvm-svn: 25730
2006-01-28 04:23:12 +00:00
Chris Lattner
2240c0df71
remove this method I just added, now is not the time.
...
llvm-svn: 25729
2006-01-28 03:43:33 +00:00
Chris Lattner
d6d4bcc419
remove method I just added
...
llvm-svn: 25728
2006-01-28 03:43:09 +00:00
Chris Lattner
063c13029b
add a new callback
...
llvm-svn: 25727
2006-01-28 03:37:03 +00:00
Nate Begeman
87c2c0e66b
Implement Promote for VAARG, and allow it to be custom promoted for people
...
who don't want the default behavior (Alpha).
llvm-svn: 25726
2006-01-28 03:14:31 +00:00
Nate Begeman
a46156da35
Add a couple more things to the readme.
...
llvm-svn: 25724
2006-01-28 01:22:10 +00:00
Nate Begeman
dc3fba6b6b
Add a missing case to the dag combiner.
...
llvm-svn: 25723
2006-01-28 01:06:30 +00:00
Chris Lattner
e7428f436a
Remove the ISD::CALL and ISD::TAILCALL nodes
...
llvm-svn: 25721
2006-01-28 00:18:58 +00:00
Chris Lattner
c9fb6af71c
The 'target-independent' ISD::CALL isn't. Nuke it, making way for Nate's
...
future work.
llvm-svn: 25720
2006-01-28 00:18:27 +00:00
Chris Lattner
d467a681e9
Remove some dead code
...
llvm-svn: 25719
2006-01-28 00:02:51 +00:00
Chris Lattner
2d4f83eaaf
Switch to AlphaISD::CALL instead of ISD::CALL
...
llvm-svn: 25718
2006-01-27 23:39:00 +00:00
Chris Lattner
6a5d2450a3
Use PPCISD::CALL instead of ISD::CALL
...
llvm-svn: 25717
2006-01-27 23:34:02 +00:00
Chris Lattner
ab3ad7d4ef
Use V8ISD::CALL instead of ISD::CALL
...
llvm-svn: 25716
2006-01-27 23:30:03 +00:00
Evan Cheng
442713efd7
A bit of wisdom from Chris on the last entry.
...
llvm-svn: 25715
2006-01-27 22:54:32 +00:00
Evan Cheng
03aaa82992
AT&T assembly convention: registers are in lower case.
...
llvm-svn: 25714
2006-01-27 22:53:29 +00:00
Evan Cheng
1db9df37e9
Use Intel assembly syntax to look for ST
...
llvm-svn: 25713
2006-01-27 22:51:51 +00:00
Chris Lattner
c245c32022
initialize member vars
...
llvm-svn: 25712
2006-01-27 22:38:36 +00:00
Chris Lattner
35d325e8aa
initialize all instance vars
...
llvm-svn: 25711
2006-01-27 22:37:09 +00:00
Chris Lattner
59a4f3f637
Make llvm.frame/returnaddr not crash on ppc
...
llvm-svn: 25710
2006-01-27 22:25:06 +00:00
Jeff Cohen
96bb922537
Teach tablegen to generate code that is VC++ warning-free.
...
llvm-svn: 25709
2006-01-27 22:22:28 +00:00
Evan Cheng
450fcb1d91
(store (op (load ...)), ...)
...
If store's chain operand is load, then use load's chain operand instead. If
it isn't (likely a TokenFactor), then do not allow the folding.
llvm-svn: 25708
2006-01-27 22:13:45 +00:00
Chris Lattner
42365cf504
* Eliminate FAKE_SOURCES
...
* Make runtimes and projects build with the new front-end by not relying on
'llvm-gcc -c' to build a .bc file. Instead, use llvm-gcc -S -emit-llvm,
then an explicit invocation of gccas. Also, don't use llvm-gcc to link
.bc files together, use gccld directly.
llvm-svn: 25707
2006-01-27 22:13:12 +00:00
Evan Cheng
51c1d32061
Added notes about a x86 isel deficiency.
...
llvm-svn: 25706
2006-01-27 22:11:01 +00:00
Chris Lattner
eb5e553719
Remove out of date comment
...
llvm-svn: 25705
2006-01-27 22:06:50 +00:00
Chris Lattner
6a3f08a312
Remove the only use of FAKE_SOURCES
...
llvm-svn: 25704
2006-01-27 22:06:23 +00:00
Chris Lattner
6604d5edc9
Remove FAKE_SOURCES
...
llvm-svn: 25703
2006-01-27 22:06:01 +00:00
Evan Cheng
5c1d0d40dc
Added a temporary option -enable-x86-sse to enable sse support. It is used by
...
llc-beta.
llvm-svn: 25701
2006-01-27 21:49:34 +00:00
Evan Cheng
746086dc97
Bye bye Pattern ISel, hello DAG ISel.
...
llvm-svn: 25700
2006-01-27 21:26:54 +00:00
Evan Cheng
e66a46d289
X86 dag isel is now (soon) the default.
...
llvm-svn: 25699
2006-01-27 21:15:22 +00:00
Evan Cheng
5d4ce9a622
These are fp stack test cases.
...
llvm-svn: 25698
2006-01-27 21:14:23 +00:00
Evan Cheng
b22e64b314
XFAIL tailcall test cases until it's implemented.
...
llvm-svn: 25697
2006-01-27 21:13:27 +00:00
Nate Begeman
d2c6fbef4a
Remove TLI.LowerReturnTo, and just let targets custom lower ISD::RET for
...
the same functionality. This addresses another piece of bug 680. Next,
on to fixing Alpha VAARG, which I broke last time.
llvm-svn: 25696
2006-01-27 21:09:22 +00:00
Jim Laskey
c8759505c4
Using bit size of integers instead of ambiguous "long" et all.
...
llvm-svn: 25694
2006-01-27 20:31:25 +00:00
Evan Cheng
577ea086c4
A better workaround
...
llvm-svn: 25692
2006-01-27 19:30:30 +00:00
Jim Laskey
2221ac79d5
Sorry - really folowing convention.
...
llvm-svn: 25691
2006-01-27 18:32:41 +00:00
Chris Lattner
932260bb64
force sse/3dnow off until they work. This fixes all the x86 failures last night
...
llvm-svn: 25690
2006-01-27 18:30:50 +00:00
Jim Laskey
479abc37ff
Following convention.
...
llvm-svn: 25689
2006-01-27 18:28:31 +00:00
Chris Lattner
e1f4b9e384
Unbreak the JIT with SSE
...
llvm-svn: 25688
2006-01-27 18:27:18 +00:00
Andrew Lenharth
67e53709df
fix build
...
llvm-svn: 25687
2006-01-27 18:16:17 +00:00