oota-llvm.git
18 years agoLegalize ConstantFP into TargetConstantFP when the target allows. Implement
Chris Lattner [Sun, 29 Jan 2006 06:26:56 +0000 (06:26 +0000)]
Legalize ConstantFP into TargetConstantFP when the target allows.  Implement
custom expansion of ConstantFP nodes.

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

18 years agoTargets all now request ConstantFP to be legalized into TargetConstantFP.
Chris Lattner [Sun, 29 Jan 2006 06:26:08 +0000 (06:26 +0000)]
Targets all now request ConstantFP to be legalized into TargetConstantFP.
'fpimm' in .td files is now TargetConstantFP.

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

18 years agoUpdate alpha to reflect recent constantfp legalize changes. It's not clear
Chris Lattner [Sun, 29 Jan 2006 06:25:22 +0000 (06:25 +0000)]
Update alpha to reflect recent constantfp legalize changes.  It's not clear
why all this code isn't autogenerated. :(

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

18 years agoMake ConstantFP legalize into TargetConstantFP like other leaf nodes do. Allow
Chris Lattner [Sun, 29 Jan 2006 06:24:40 +0000 (06:24 +0000)]
Make ConstantFP legalize into TargetConstantFP like other leaf nodes do.  Allow
targets to register custom legalizers for ConstantFP in case there isn't a
fixed list of constants that can be generated.  On some architectures (ia64?)
all fp immediates are legal.

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

18 years agoremove the getBR2Way_CC method
Chris Lattner [Sun, 29 Jan 2006 06:01:13 +0000 (06:01 +0000)]
remove the getBR2Way_CC method

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

18 years agoeliminate uses of SelectionDAG::getBR2Way_CC
Chris Lattner [Sun, 29 Jan 2006 06:00:45 +0000 (06:00 +0000)]
eliminate uses of SelectionDAG::getBR2Way_CC

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

18 years agoit is nice not to chop off bits for those blessed with lots of bits
Andrew Lenharth [Sun, 29 Jan 2006 05:22:37 +0000 (05:22 +0000)]
it is nice not to chop off bits for those blessed with lots of bits

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

18 years agomake the casts actually cast to the variable type
Andrew Lenharth [Sun, 29 Jan 2006 05:17:22 +0000 (05:17 +0000)]
make the casts actually cast to the variable type

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

18 years agostart of the 64bit safety cleanup
Andrew Lenharth [Sun, 29 Jan 2006 05:07:04 +0000 (05:07 +0000)]
start of the 64bit safety cleanup

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

18 years agoEmit series of conditionals with &&, emitting stuff like this:
Chris Lattner [Sun, 29 Jan 2006 04:41:05 +0000 (04:41 +0000)]
Emit series of conditionals with &&, emitting stuff like this:

    if (N1.getOpcode() == ISD::LOAD &&
        N1.hasOneUse() &&
        !CodeGenMap.count(N1.getValue(0)) &&
        !CodeGenMap.count(N1.getValue(1))) {

instead of this:

    if (N1.getOpcode() == ISD::LOAD) {
      if (N1.hasOneUse()) {
        if (!CodeGenMap.count(N1.getValue(0))) {
          if (!CodeGenMap.count(N1.getValue(1))) {

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

18 years agoFactor matching code that is common between patterns. This works around
Chris Lattner [Sun, 29 Jan 2006 04:25:26 +0000 (04:25 +0000)]
Factor matching code that is common between patterns.  This works around
GCC not jump-threading across this common code, and produces far nicer
output.

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

18 years agocmovle != cmovlt
Chris Lattner [Sun, 29 Jan 2006 03:47:30 +0000 (03:47 +0000)]
cmovle != cmovlt

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

18 years agoFix typo.
Jeff Cohen [Sun, 29 Jan 2006 03:45:35 +0000 (03:45 +0000)]
Fix typo.

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

18 years agoSplit out code generation from analysis from emission
Chris Lattner [Sun, 29 Jan 2006 02:57:39 +0000 (02:57 +0000)]
Split out code generation from analysis from emission

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

18 years agomove some code around, no change in the generated code
Chris Lattner [Sun, 29 Jan 2006 02:43:35 +0000 (02:43 +0000)]
move some code around, no change in the generated code

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

18 years agonow that we have control over emission of the code, emit the code using nested
Chris Lattner [Sat, 28 Jan 2006 20:43:52 +0000 (20:43 +0000)]
now that we have control over emission of the code, emit the code using nested
"if" statements (indenting it appropriately, of course) instead of using goto's.

This inverts the logic for all of the if statements, which makes things simpler
to understand in addition to making the generated code easier to read.

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

18 years agoChange PatternCodeEmitter to emit code into a buffer instead of emitting it
Chris Lattner [Sat, 28 Jan 2006 20:31:24 +0000 (20:31 +0000)]
Change PatternCodeEmitter to emit code into a buffer instead of emitting it
directly to the output file.  This makes things simple because the code doesn't
have to worry about indentation or the case when there is no goto.  It also
allows us to indent the code better without touching everything :)

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

18 years agoFlesh out AMD family/models.
Jeff Cohen [Sat, 28 Jan 2006 20:30:18 +0000 (20:30 +0000)]
Flesh out AMD family/models.

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

18 years agoCorrectly determine CPU vendor.
Jeff Cohen [Sat, 28 Jan 2006 19:48:34 +0000 (19:48 +0000)]
Correctly determine CPU vendor.

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

18 years agoMake long warnings wrap and have less indent so other portions of the page
Reid Spencer [Sat, 28 Jan 2006 19:44:48 +0000 (19:44 +0000)]
Make long warnings wrap and have less indent so other portions of the page
are not skewed out of view.

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

18 years agoFit to 80 columns, no functionality change
Chris Lattner [Sat, 28 Jan 2006 19:06:51 +0000 (19:06 +0000)]
Fit to 80 columns, no functionality change

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

18 years agoUse union instead of reinterpret_cast.
Jeff Cohen [Sat, 28 Jan 2006 18:47:32 +0000 (18:47 +0000)]
Use union instead of reinterpret_cast.

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

18 years agoFix recognition of Intel CPUs.
Jeff Cohen [Sat, 28 Jan 2006 18:38:20 +0000 (18:38 +0000)]
Fix recognition of Intel CPUs.

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

18 years agoIs64Bit reflects the capability of the chip, not an aspect of the target os
Chris Lattner [Sat, 28 Jan 2006 18:23:48 +0000 (18:23 +0000)]
Is64Bit reflects the capability of the chip, not an aspect of the target os

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

18 years agoFix a bunch of JIT failures with the new isel
Chris Lattner [Sat, 28 Jan 2006 18:19:37 +0000 (18:19 +0000)]
Fix a bunch of JIT failures with the new isel

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

18 years agoImprove X86 subtarget support for Windows and AMD.
Jeff Cohen [Sat, 28 Jan 2006 18:09:06 +0000 (18:09 +0000)]
Improve X86 subtarget support for Windows and AMD.

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

18 years agoUse the new "UpdateNodeOperands" method to simplify LegalizeDAG and make it
Chris Lattner [Sat, 28 Jan 2006 10:58:55 +0000 (10:58 +0000)]
Use the new "UpdateNodeOperands" method to simplify LegalizeDAG and make it
faster.  This cuts about 120 lines of code out of the legalizer (mostly code
checking to see if operands have changed).

It also fixes an ugly performance issue, where the legalizer cloned the entire
graph after any change.  Now the "UpdateNodeOperands" method gives it a chance
to reuse nodes if the operands of a node change but not its opcode or valuetypes.

This speeds up instruction selection time on kimwitu++ by about 8.2% with a
release build.

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

18 years agosilence a warning
Chris Lattner [Sat, 28 Jan 2006 10:34:47 +0000 (10:34 +0000)]
silence a warning

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

18 years agoadd another method variant
Chris Lattner [Sat, 28 Jan 2006 10:09:25 +0000 (10:09 +0000)]
add another method variant

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

18 years agoadd another variant
Chris Lattner [Sat, 28 Jan 2006 10:08:58 +0000 (10:08 +0000)]
add another variant

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

18 years agoadd some methods for updating nodes
Chris Lattner [Sat, 28 Jan 2006 09:32:45 +0000 (09:32 +0000)]
add some methods for updating nodes

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

18 years agoAdd some methods
Chris Lattner [Sat, 28 Jan 2006 09:32:01 +0000 (09:32 +0000)]
Add some methods

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

18 years agominor tweaks
Chris Lattner [Sat, 28 Jan 2006 08:31:04 +0000 (08:31 +0000)]
minor tweaks

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

18 years agomove a bunch of code, no other change.
Chris Lattner [Sat, 28 Jan 2006 08:25:58 +0000 (08:25 +0000)]
move a bunch of code, no other change.

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

18 years agoremove a couple more now-extraneous legalizeop's
Chris Lattner [Sat, 28 Jan 2006 08:22:56 +0000 (08:22 +0000)]
remove a couple more now-extraneous legalizeop's

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

18 years agofix a bug
Chris Lattner [Sat, 28 Jan 2006 07:42:08 +0000 (07:42 +0000)]
fix a bug

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

18 years agoSeveral major changes:
Chris Lattner [Sat, 28 Jan 2006 07:39:30 +0000 (07:39 +0000)]
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.

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

18 years agoFix a bug in my elimination of ISD::CALL this morning. PPC now has to
Chris Lattner [Sat, 28 Jan 2006 07:33:03 +0000 (07:33 +0000)]
Fix a bug in my elimination of ISD::CALL this morning.  PPC now has to
provide the expansion for i64 calls itself

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

18 years agomake this work on non-native hosts
Chris Lattner [Sat, 28 Jan 2006 06:05:41 +0000 (06:05 +0000)]
make this work on non-native hosts

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

18 years agoadd a note about how we should implement this FIXME from the legalizer:
Chris Lattner [Sat, 28 Jan 2006 05:40:47 +0000 (05:40 +0000)]
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.

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

18 years agoEliminate the need for ExpandOp to set 'needsanotheriteration', as it already
Chris Lattner [Sat, 28 Jan 2006 05:07:51 +0000 (05:07 +0000)]
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.

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

18 years agoInstead of making callers of ExpandLibCall legalize the result, make
Chris Lattner [Sat, 28 Jan 2006 04:28:26 +0000 (04:28 +0000)]
Instead of making callers of ExpandLibCall legalize the result, make
ExpandLibCall do it itself.

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

18 years agoEliminate the need to do another iteration of the legalizer after inserting
Chris Lattner [Sat, 28 Jan 2006 04:23:12 +0000 (04:23 +0000)]
Eliminate the need to do another iteration of the legalizer after inserting
a libcall.

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

18 years agoremove this method I just added, now is not the time.
Chris Lattner [Sat, 28 Jan 2006 03:43:33 +0000 (03:43 +0000)]
remove this method I just added, now is not the time.

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

18 years agoremove method I just added
Chris Lattner [Sat, 28 Jan 2006 03:43:09 +0000 (03:43 +0000)]
remove method I just added

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

18 years agoadd a new callback
Chris Lattner [Sat, 28 Jan 2006 03:37:03 +0000 (03:37 +0000)]
add a new callback

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

18 years agoImplement Promote for VAARG, and allow it to be custom promoted for people
Nate Begeman [Sat, 28 Jan 2006 03:14:31 +0000 (03:14 +0000)]
Implement Promote for VAARG, and allow it to be custom promoted for people
who don't want the default behavior (Alpha).

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

18 years agoAdd a couple more things to the readme.
Nate Begeman [Sat, 28 Jan 2006 01:22:10 +0000 (01:22 +0000)]
Add a couple more things to the readme.

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

18 years agoAdd a missing case to the dag combiner.
Nate Begeman [Sat, 28 Jan 2006 01:06:30 +0000 (01:06 +0000)]
Add a missing case to the dag combiner.

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

18 years agoRemove the ISD::CALL and ISD::TAILCALL nodes
Chris Lattner [Sat, 28 Jan 2006 00:18:58 +0000 (00:18 +0000)]
Remove the ISD::CALL and ISD::TAILCALL nodes

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

18 years agoThe 'target-independent' ISD::CALL isn't. Nuke it, making way for Nate's
Chris Lattner [Sat, 28 Jan 2006 00:18:27 +0000 (00:18 +0000)]
The 'target-independent' ISD::CALL isn't.  Nuke it, making way for Nate's
future work.

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

18 years agoRemove some dead code
Chris Lattner [Sat, 28 Jan 2006 00:02:51 +0000 (00:02 +0000)]
Remove some dead code

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

18 years agoSwitch to AlphaISD::CALL instead of ISD::CALL
Chris Lattner [Fri, 27 Jan 2006 23:39:00 +0000 (23:39 +0000)]
Switch to AlphaISD::CALL instead of ISD::CALL

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

18 years agoUse PPCISD::CALL instead of ISD::CALL
Chris Lattner [Fri, 27 Jan 2006 23:34:02 +0000 (23:34 +0000)]
Use PPCISD::CALL instead of ISD::CALL

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

18 years agoUse V8ISD::CALL instead of ISD::CALL
Chris Lattner [Fri, 27 Jan 2006 23:30:03 +0000 (23:30 +0000)]
Use V8ISD::CALL instead of ISD::CALL

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

18 years agoA bit of wisdom from Chris on the last entry.
Evan Cheng [Fri, 27 Jan 2006 22:54:32 +0000 (22:54 +0000)]
A bit of wisdom from Chris on the last entry.

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

18 years agoAT&T assembly convention: registers are in lower case.
Evan Cheng [Fri, 27 Jan 2006 22:53:29 +0000 (22:53 +0000)]
AT&T assembly convention: registers are in lower case.

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

18 years agoUse Intel assembly syntax to look for ST
Evan Cheng [Fri, 27 Jan 2006 22:51:51 +0000 (22:51 +0000)]
Use Intel assembly syntax to look for ST

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

18 years agoinitialize member vars
Chris Lattner [Fri, 27 Jan 2006 22:38:36 +0000 (22:38 +0000)]
initialize member vars

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

18 years agoinitialize all instance vars
Chris Lattner [Fri, 27 Jan 2006 22:37:09 +0000 (22:37 +0000)]
initialize all instance vars

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

18 years agoMake llvm.frame/returnaddr not crash on ppc
Chris Lattner [Fri, 27 Jan 2006 22:25:06 +0000 (22:25 +0000)]
Make llvm.frame/returnaddr not crash on ppc

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

18 years agoTeach tablegen to generate code that is VC++ warning-free.
Jeff Cohen [Fri, 27 Jan 2006 22:22:28 +0000 (22:22 +0000)]
Teach tablegen to generate code that is VC++ warning-free.

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

18 years ago(store (op (load ...)), ...)
Evan Cheng [Fri, 27 Jan 2006 22:13:45 +0000 (22:13 +0000)]
(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.

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

18 years ago* Eliminate FAKE_SOURCES
Chris Lattner [Fri, 27 Jan 2006 22:13:12 +0000 (22:13 +0000)]
* 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.

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

18 years agoAdded notes about a x86 isel deficiency.
Evan Cheng [Fri, 27 Jan 2006 22:11:01 +0000 (22:11 +0000)]
Added notes about a x86 isel deficiency.

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

18 years agoRemove out of date comment
Chris Lattner [Fri, 27 Jan 2006 22:06:50 +0000 (22:06 +0000)]
Remove out of date comment

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

18 years agoRemove the only use of FAKE_SOURCES
Chris Lattner [Fri, 27 Jan 2006 22:06:23 +0000 (22:06 +0000)]
Remove the only use of FAKE_SOURCES

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

18 years agoRemove FAKE_SOURCES
Chris Lattner [Fri, 27 Jan 2006 22:06:01 +0000 (22:06 +0000)]
Remove FAKE_SOURCES

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

18 years agoAdded a temporary option -enable-x86-sse to enable sse support. It is used by
Evan Cheng [Fri, 27 Jan 2006 21:49:34 +0000 (21:49 +0000)]
Added a temporary option -enable-x86-sse to enable sse support. It is used by
llc-beta.

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

18 years agoBye bye Pattern ISel, hello DAG ISel.
Evan Cheng [Fri, 27 Jan 2006 21:26:54 +0000 (21:26 +0000)]
Bye bye Pattern ISel, hello DAG ISel.

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

18 years agoX86 dag isel is now (soon) the default.
Evan Cheng [Fri, 27 Jan 2006 21:15:22 +0000 (21:15 +0000)]
X86 dag isel is now (soon) the default.

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

18 years agoThese are fp stack test cases.
Evan Cheng [Fri, 27 Jan 2006 21:14:23 +0000 (21:14 +0000)]
These are fp stack test cases.

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

18 years agoXFAIL tailcall test cases until it's implemented.
Evan Cheng [Fri, 27 Jan 2006 21:13:27 +0000 (21:13 +0000)]
XFAIL tailcall test cases until it's implemented.

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

18 years agoRemove TLI.LowerReturnTo, and just let targets custom lower ISD::RET for
Nate Begeman [Fri, 27 Jan 2006 21:09:22 +0000 (21:09 +0000)]
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.

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

18 years agoUsing bit size of integers instead of ambiguous "long" et all.
Jim Laskey [Fri, 27 Jan 2006 20:31:25 +0000 (20:31 +0000)]
Using bit size of integers instead of ambiguous "long" et all.

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

18 years agoA better workaround
Evan Cheng [Fri, 27 Jan 2006 19:30:30 +0000 (19:30 +0000)]
A better workaround

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

18 years agoSorry - really folowing convention.
Jim Laskey [Fri, 27 Jan 2006 18:32:41 +0000 (18:32 +0000)]
Sorry - really folowing convention.

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

18 years agoforce sse/3dnow off until they work. This fixes all the x86 failures last night
Chris Lattner [Fri, 27 Jan 2006 18:30:50 +0000 (18:30 +0000)]
force sse/3dnow off until they work.  This fixes all the x86 failures last night

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

18 years agoFollowing convention.
Jim Laskey [Fri, 27 Jan 2006 18:28:31 +0000 (18:28 +0000)]
Following convention.

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

18 years agoUnbreak the JIT with SSE
Chris Lattner [Fri, 27 Jan 2006 18:27:18 +0000 (18:27 +0000)]
Unbreak the JIT with SSE

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

18 years agofix build
Andrew Lenharth [Fri, 27 Jan 2006 18:16:17 +0000 (18:16 +0000)]
fix build

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

18 years agoFix build error that is apparently only a warning with some compilers.
Chris Lattner [Fri, 27 Jan 2006 17:31:30 +0000 (17:31 +0000)]
Fix build error that is apparently only a warning with some compilers.

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

18 years agoForgot the version number.
Jim Laskey [Fri, 27 Jan 2006 15:46:54 +0000 (15:46 +0000)]
Forgot the version number.

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

18 years agoImprove visibility/correctness of operand indices in "llvm.db" objects.
Jim Laskey [Fri, 27 Jan 2006 15:20:54 +0000 (15:20 +0000)]
Improve visibility/correctness of operand indices in "llvm.db" objects.
Handle 64 in DIEs.

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

18 years agoCatch up on some of the file addition/deletions.
Jim Laskey [Fri, 27 Jan 2006 13:24:20 +0000 (13:24 +0000)]
Catch up on some of the file addition/deletions.

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

18 years agoFix auto-upgrade of intrinsics to work properly with both assembly and
Reid Spencer [Fri, 27 Jan 2006 11:49:27 +0000 (11:49 +0000)]
Fix auto-upgrade of intrinsics to work properly with both assembly and
bytecode reading. This code is crufty, the result of much hacking to get things
working correctly. Cleanup patches will follow.

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

18 years agoA test case for ensuring that conversion of old-format intrinsics with
Reid Spencer [Fri, 27 Jan 2006 11:28:48 +0000 (11:28 +0000)]
A test case for ensuring that conversion of old-format intrinsics with
signed arguments get auto-upgraded correctly.

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

18 years agoThis now passes.
Reid Spencer [Fri, 27 Jan 2006 11:27:37 +0000 (11:27 +0000)]
This now passes.

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

18 years agox86 CPU detection and proper subtarget support
Evan Cheng [Fri, 27 Jan 2006 08:10:46 +0000 (08:10 +0000)]
x86 CPU detection and proper subtarget support

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

18 years agoSubtarget feature can now set any variable to any value
Evan Cheng [Fri, 27 Jan 2006 08:09:42 +0000 (08:09 +0000)]
Subtarget feature can now set any variable to any value

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

18 years agoUse printInlineAsm to, well, print inline asm's.
Chris Lattner [Fri, 27 Jan 2006 02:10:50 +0000 (02:10 +0000)]
Use printInlineAsm to, well, print inline asm's.

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

18 years agoStub out a method
Chris Lattner [Fri, 27 Jan 2006 02:10:10 +0000 (02:10 +0000)]
Stub out a method

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

18 years agoadd a method
Chris Lattner [Fri, 27 Jan 2006 02:09:16 +0000 (02:09 +0000)]
add a method

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

18 years agoPHI and INLINEASM are now built-in instructions provided by Target.td
Chris Lattner [Fri, 27 Jan 2006 01:46:15 +0000 (01:46 +0000)]
PHI and INLINEASM are now built-in instructions provided by Target.td

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

18 years agoPHI and INLINEASM are now builtin instructions provided by Target.td
Chris Lattner [Fri, 27 Jan 2006 01:45:06 +0000 (01:45 +0000)]
PHI and INLINEASM are now builtin instructions provided by Target.td

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

18 years agoIf we want to emit things in enum order, use getInstructionsByEnumValue to
Chris Lattner [Fri, 27 Jan 2006 01:44:09 +0000 (01:44 +0000)]
If we want to emit things in enum order, use getInstructionsByEnumValue to
get the order, don't compute it ourselves.

Don't emit stuff like (14<<0), emit 14 instead.

Don't attempt to get target properties for builtin instructions.

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

18 years agoThere is at least a 'noitinerary' itinerary now
Chris Lattner [Fri, 27 Jan 2006 01:41:55 +0000 (01:41 +0000)]
There is at least a 'noitinerary' itinerary now

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

18 years agoAdd a default NoItinerary class for targets to use.
Chris Lattner [Fri, 27 Jan 2006 01:41:38 +0000 (01:41 +0000)]
Add a default NoItinerary class for targets to use.

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

18 years agoDon't emit JIT code for these instructions
Chris Lattner [Fri, 27 Jan 2006 01:39:38 +0000 (01:39 +0000)]
Don't emit JIT code for these instructions

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

18 years agoTeach the scheduler to emit the appropriate INLINEASM MachineInstr for an
Chris Lattner [Thu, 26 Jan 2006 23:28:04 +0000 (23:28 +0000)]
Teach the scheduler to emit the appropriate INLINEASM MachineInstr for an
ISD::INLINEASM node.

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