oota-llvm.git
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

18 years agoAdd a common INLINEASM opcode
Chris Lattner [Thu, 26 Jan 2006 23:27:02 +0000 (23:27 +0000)]
Add a common INLINEASM opcode

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

18 years agoTeach the dag selectors to select InlineAsm nodes.
Chris Lattner [Thu, 26 Jan 2006 23:08:55 +0000 (23:08 +0000)]
Teach the dag selectors to select InlineAsm nodes.
Aren't we happy the pattern selectors are almost all gone?

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

18 years agoDropped DwarfWriter::
Jim Laskey [Thu, 26 Jan 2006 22:25:04 +0000 (22:25 +0000)]
Dropped DwarfWriter::

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

18 years agoinitial selectiondag support for new INLINEASM node. Note that inline asms
Chris Lattner [Thu, 26 Jan 2006 22:24:51 +0000 (22:24 +0000)]
initial selectiondag support for new INLINEASM node.  Note that inline asms
with outputs or inputs are not supported yet. :)

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

18 years agoAdd new INLINEASM node
Chris Lattner [Thu, 26 Jan 2006 22:23:45 +0000 (22:23 +0000)]
Add new INLINEASM node

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

18 years agoUse global information to fill out Dwarf compile units.
Jim Laskey [Thu, 26 Jan 2006 21:22:49 +0000 (21:22 +0000)]
Use global information to fill out Dwarf compile units.

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

18 years agoImprove compatibility with VC2005, patch by Morten Ofstad!
Jeff Cohen [Thu, 26 Jan 2006 20:41:32 +0000 (20:41 +0000)]
Improve compatibility with VC2005, patch by Morten Ofstad!

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

18 years agoImplement a method for inline asm support
Chris Lattner [Thu, 26 Jan 2006 20:37:03 +0000 (20:37 +0000)]
Implement a method for inline asm support

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

18 years agoadd some methods for case-insensitive string compares
Chris Lattner [Thu, 26 Jan 2006 20:36:29 +0000 (20:36 +0000)]
add some methods for case-insensitive string compares

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

18 years agoUpdate files lists.
Jim Laskey [Thu, 26 Jan 2006 20:32:00 +0000 (20:32 +0000)]
Update files lists.

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

18 years agoUse find instead of lower_bounds.
Jim Laskey [Thu, 26 Jan 2006 20:30:51 +0000 (20:30 +0000)]
Use find instead of lower_bounds.

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

18 years agoAdd a method for inline asm support.
Chris Lattner [Thu, 26 Jan 2006 20:27:33 +0000 (20:27 +0000)]
Add a method for inline asm support.

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

18 years agoSet up MachineDebugInfo to scan for debug information form "llvm.db"g globals.
Jim Laskey [Thu, 26 Jan 2006 20:21:46 +0000 (20:21 +0000)]
Set up MachineDebugInfo to scan for debug information form "llvm.db"g globals.
Global Variable information is now pulled from "llvm.dbg.globals"

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

18 years agoAdd support to find existing entries.
Jim Laskey [Thu, 26 Jan 2006 20:09:35 +0000 (20:09 +0000)]
Add support to find existing entries.

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

18 years agoImprove compatibility with VC2005, patch by Morten Ofstad!
Chris Lattner [Thu, 26 Jan 2006 19:55:20 +0000 (19:55 +0000)]
Improve compatibility with VC2005, patch by Morten Ofstad!

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

18 years agodynamically allocate plugin space as needed
Andrew Lenharth [Thu, 26 Jan 2006 19:38:58 +0000 (19:38 +0000)]
dynamically allocate plugin space as needed

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

18 years agoAnother folding problem: if a node r/w chain or flag, don't fold it if it
Evan Cheng [Thu, 26 Jan 2006 19:13:45 +0000 (19:13 +0000)]
Another folding problem: if a node r/w chain or flag, don't fold it if it
has already been selected. The number of use check is not strong enough since
a node can be replaced with newly created target node. e.g. If the original
node has two uses, when it is selected for one of the uses it is replaced with
another. Each node now has a single use but isel still should not fold it.

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

18 years agoPass plugins on to children when optimizing.
Andrew Lenharth [Thu, 26 Jan 2006 18:37:21 +0000 (18:37 +0000)]
Pass plugins on to children when optimizing.

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

18 years agoRemember plugins should someone like bugpoint want to know them.
Andrew Lenharth [Thu, 26 Jan 2006 18:36:50 +0000 (18:36 +0000)]
Remember plugins should someone like bugpoint want to know them.

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

18 years agoadded a couple test cases, including the new vaarg breakage
Andrew Lenharth [Thu, 26 Jan 2006 17:43:42 +0000 (17:43 +0000)]
added a couple test cases, including the new vaarg breakage

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

18 years agoTeach Visual Studio about X86 subtargets.
Jeff Cohen [Thu, 26 Jan 2006 16:49:00 +0000 (16:49 +0000)]
Teach Visual Studio about X86 subtargets.

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

18 years agoSplit out Dwarf constants for use outside DwarfWriter.
Jim Laskey [Thu, 26 Jan 2006 14:45:22 +0000 (14:45 +0000)]
Split out Dwarf constants for use outside DwarfWriter.

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

18 years agoAdded preliminary x86 subtarget support.
Evan Cheng [Thu, 26 Jan 2006 09:53:06 +0000 (09:53 +0000)]
Added preliminary x86 subtarget support.

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

18 years agofix stack corruption! Previously, 16-byte whole-FP-register stores were
Duraid Madina [Thu, 26 Jan 2006 09:45:03 +0000 (09:45 +0000)]
fix stack corruption! Previously, 16-byte whole-FP-register stores were
being treated as needing only 8 bytes (though they were 16 byte aligned.)

This should fix a bunch of tests - anyone have any comments, though?

  - in Target.td , SpillSize and SpillAlignment seem dead - is this what
    Size and Alignment do now?
  - in CodeGenRegisters.h/CodeGenTarget.cpp , DeclaredSpillSize and
    DeclaredSpillAlignment seem dead.
  - there are a bunch of comments here and there that don't clearly
    distinguish between 'size' and 'spillsize' etc. hmm.

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

18 years agosome hoovering
Duraid Madina [Thu, 26 Jan 2006 09:08:31 +0000 (09:08 +0000)]
some hoovering

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

18 years agoRest of subtarget support, remove references to ppc
Chris Lattner [Thu, 26 Jan 2006 07:22:22 +0000 (07:22 +0000)]
Rest of subtarget support, remove references to ppc

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

18 years agoAdd trivial subtarget support
Chris Lattner [Thu, 26 Jan 2006 06:51:21 +0000 (06:51 +0000)]
Add trivial subtarget support

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

18 years agominor renaming
Andrew Lenharth [Thu, 26 Jan 2006 03:24:15 +0000 (03:24 +0000)]
minor renaming

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

18 years agoallow R28 to be used for frame calculations without entirely removing it from circulation
Andrew Lenharth [Thu, 26 Jan 2006 03:22:07 +0000 (03:22 +0000)]
allow R28 to be used for frame calculations without entirely removing it from circulation

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

18 years agoWork around some x86 Darwin assembler bugs
Evan Cheng [Thu, 26 Jan 2006 02:27:43 +0000 (02:27 +0000)]
Work around some x86 Darwin assembler bugs

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

18 years agoadd method for constraint parsing
Chris Lattner [Thu, 26 Jan 2006 02:21:59 +0000 (02:21 +0000)]
add method for constraint parsing

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

18 years agoadd methods for constraint parsing
Chris Lattner [Thu, 26 Jan 2006 02:21:42 +0000 (02:21 +0000)]
add methods for constraint parsing

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

18 years agoAdd a FIXME comment.
Evan Cheng [Thu, 26 Jan 2006 02:13:31 +0000 (02:13 +0000)]
Add a FIXME comment.

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

18 years agoWhen trying to fold X86::SETCC into a Select, make a copy if it has more than
Evan Cheng [Thu, 26 Jan 2006 02:13:10 +0000 (02:13 +0000)]
When trying to fold X86::SETCC into a Select, make a copy if it has more than
one use. This allows more CMOV instructions.

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

18 years agoteach the cloner to handle inline asms
Chris Lattner [Thu, 26 Jan 2006 01:55:22 +0000 (01:55 +0000)]
teach the cloner to handle inline asms

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

18 years agoAllow use of isa<InlineAsm>(X) without #including InlineAsm.h
Chris Lattner [Thu, 26 Jan 2006 01:54:21 +0000 (01:54 +0000)]
Allow use of isa<InlineAsm>(X) without #including InlineAsm.h

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

18 years agoparse and verify the constraint string.
Chris Lattner [Thu, 26 Jan 2006 00:48:33 +0000 (00:48 +0000)]
parse and verify the constraint string.

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

18 years agoClean up some code; improve efficiency; and fixed a potential bug involving
Evan Cheng [Thu, 26 Jan 2006 00:30:29 +0000 (00:30 +0000)]
Clean up some code; improve efficiency; and fixed a potential bug involving
chain successors.

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

18 years agoRemove the uses of STATUS flag register. Rely on node property SDNPInFlag,
Evan Cheng [Thu, 26 Jan 2006 00:29:36 +0000 (00:29 +0000)]
Remove the uses of STATUS flag register. Rely on node property SDNPInFlag,
SDNPOutFlag, and SDNPOptInFlag instead.

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

18 years agoDuh.
Evan Cheng [Thu, 26 Jan 2006 00:28:35 +0000 (00:28 +0000)]
Duh.

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

18 years agoIncoming (and optional) flag bugs. They may be embedded inside a inner node of
Evan Cheng [Thu, 26 Jan 2006 00:22:25 +0000 (00:22 +0000)]
Incoming (and optional) flag bugs. They may be embedded inside a inner node of
a pattern. Also, nodes which take incoming flag should not be folded if it has
more than one use.

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

18 years agoMake sure the only user of InlineAsm's are direct calls.
Chris Lattner [Thu, 26 Jan 2006 00:08:45 +0000 (00:08 +0000)]
Make sure the only user of InlineAsm's are direct calls.

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

18 years agonew tests for actual inline asm expressions
Chris Lattner [Wed, 25 Jan 2006 23:49:54 +0000 (23:49 +0000)]
new tests for actual inline asm expressions

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

18 years agodocument the syntax of inline asm
Chris Lattner [Wed, 25 Jan 2006 23:47:57 +0000 (23:47 +0000)]
document the syntax of inline asm

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

18 years agooops
Andrew Lenharth [Wed, 25 Jan 2006 23:33:32 +0000 (23:33 +0000)]
oops

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

18 years agoupdate the bytecode format guide for the encoding of inline asm.
Chris Lattner [Wed, 25 Jan 2006 23:31:53 +0000 (23:31 +0000)]
update the bytecode format guide for the encoding of inline asm.

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

18 years agoadd bc reader/writer support for inline asm
Chris Lattner [Wed, 25 Jan 2006 23:08:15 +0000 (23:08 +0000)]
add bc reader/writer support for inline asm

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

18 years agoforgot one
Andrew Lenharth [Wed, 25 Jan 2006 22:28:07 +0000 (22:28 +0000)]
forgot one

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

18 years agoregenerate
Chris Lattner [Wed, 25 Jan 2006 22:27:16 +0000 (22:27 +0000)]
regenerate

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

18 years agoParse inline asm objects
Chris Lattner [Wed, 25 Jan 2006 22:26:43 +0000 (22:26 +0000)]
Parse inline asm objects

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

18 years agoPrint InlineAsm objects
Chris Lattner [Wed, 25 Jan 2006 22:26:05 +0000 (22:26 +0000)]
Print InlineAsm objects

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

18 years agoadd another method
Chris Lattner [Wed, 25 Jan 2006 22:10:35 +0000 (22:10 +0000)]
add another method

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

18 years agomake things compile again
Andrew Lenharth [Wed, 25 Jan 2006 21:54:38 +0000 (21:54 +0000)]
make things compile again

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

18 years agoDon't break the optimized build (by incorrect placement of #endif)
Reid Spencer [Wed, 25 Jan 2006 21:49:13 +0000 (21:49 +0000)]
Don't break the optimized build (by incorrect placement of #endif)

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

18 years agoadd some useful accessors :)
Chris Lattner [Wed, 25 Jan 2006 19:58:26 +0000 (19:58 +0000)]
add some useful accessors :)

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

18 years agoChange inline asms to be uniqued like constants, not embedded in a Module.
Chris Lattner [Wed, 25 Jan 2006 18:57:27 +0000 (18:57 +0000)]
Change inline asms to be uniqued like constants, not embedded in a Module.

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

18 years agoinitialize an instance var, apparently I forgot to commit this long ago
Chris Lattner [Wed, 25 Jan 2006 18:57:15 +0000 (18:57 +0000)]
initialize an instance var, apparently I forgot to commit this long ago

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

18 years agoNo need to keep track of top and bottom nodes in a group since the vector is
Evan Cheng [Wed, 25 Jan 2006 18:54:24 +0000 (18:54 +0000)]
No need to keep track of top and bottom nodes in a group since the vector is
already in order. Thanks Jim for pointing it out.

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

18 years agoSet SchedulingForLatency to be the default scheduling preference for all.
Evan Cheng [Wed, 25 Jan 2006 18:52:42 +0000 (18:52 +0000)]
Set SchedulingForLatency to be the default scheduling preference for all.

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

18 years agoFirst part of bug 680:
Nate Begeman [Wed, 25 Jan 2006 18:21:52 +0000 (18:21 +0000)]
First part of bug 680:
Remove TLI.LowerVA* and replace it with SDNodes that are lowered the same
way as everything else.

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

18 years agoMake it even more portable.
Jeff Cohen [Wed, 25 Jan 2006 17:18:50 +0000 (17:18 +0000)]
Make it even more portable.

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

18 years agoFix VC++ compilation error.
Jeff Cohen [Wed, 25 Jan 2006 17:17:49 +0000 (17:17 +0000)]
Fix VC++ compilation error.

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

18 years agoDefault scheduling preference is SchedulingForLatency.
Evan Cheng [Wed, 25 Jan 2006 09:15:54 +0000 (09:15 +0000)]
Default scheduling preference is SchedulingForLatency.

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

18 years agoX86 prefer scheduling for reduced register pressure.
Evan Cheng [Wed, 25 Jan 2006 09:15:17 +0000 (09:15 +0000)]
X86 prefer scheduling for reduced register pressure.

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

18 years agoBottom up register usage reducing list scheduler.
Evan Cheng [Wed, 25 Jan 2006 09:14:32 +0000 (09:14 +0000)]
Bottom up register usage reducing list scheduler.

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

18 years agoKeep track of bottom / top element of a set of flagged nodes.
Evan Cheng [Wed, 25 Jan 2006 09:13:41 +0000 (09:13 +0000)]
Keep track of bottom / top element of a set of flagged nodes.

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

18 years agoIf scheduler choice is the default (-sched=default), use target scheduling
Evan Cheng [Wed, 25 Jan 2006 09:12:57 +0000 (09:12 +0000)]
If scheduler choice is the default (-sched=default), use target scheduling
preference to determine which scheduler to use. SchedulingForLatency ==
Breadth first; SchedulingForRegPressure == bottom up register reduction list
scheduler.

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

18 years agoAdd a enum to specify target scheduling preference: SchedulingForLatency or
Evan Cheng [Wed, 25 Jan 2006 09:09:02 +0000 (09:09 +0000)]
Add a enum to specify target scheduling preference: SchedulingForLatency or
SchedulingForRegPressure. Added corresponding methods to set / get the value.

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

18 years agoSome minor scheduler changes.
Evan Cheng [Wed, 25 Jan 2006 09:07:50 +0000 (09:07 +0000)]
Some minor scheduler changes.

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

18 years agoFix a selectcc lowering bug. Make a copy of X86ISD::CMP when folding it.
Evan Cheng [Wed, 25 Jan 2006 09:05:09 +0000 (09:05 +0000)]
Fix a selectcc lowering bug. Make a copy of X86ISD::CMP when folding it.

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

18 years agoLoosen up these checks to allow direct uses of ESP
Chris Lattner [Wed, 25 Jan 2006 08:00:36 +0000 (08:00 +0000)]
Loosen up these checks to allow direct uses of ESP

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

18 years agoPortably cast a pointer to an integer.
Jeff Cohen [Wed, 25 Jan 2006 02:40:10 +0000 (02:40 +0000)]
Portably cast a pointer to an integer.

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

18 years agoadd bundling! well not really, for now it's just stop-insertion.
Duraid Madina [Wed, 25 Jan 2006 02:23:38 +0000 (02:23 +0000)]
add bundling! well not really, for now it's just stop-insertion.

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

18 years agomaintaining stackpointer alignment. Perhaps it doesn't matter
Andrew Lenharth [Wed, 25 Jan 2006 01:51:08 +0000 (01:51 +0000)]
maintaining stackpointer alignment.  Perhaps it doesn't matter

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

18 years agofix build on 64 bit hosts
Andrew Lenharth [Tue, 24 Jan 2006 21:26:43 +0000 (21:26 +0000)]
fix build on 64 bit hosts

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

18 years agoFix an optional in flag bug.
Evan Cheng [Tue, 24 Jan 2006 20:46:50 +0000 (20:46 +0000)]
Fix an optional in flag bug.

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

18 years agoOptional InFlag was not being included in node.
Evan Cheng [Tue, 24 Jan 2006 20:07:38 +0000 (20:07 +0000)]
Optional InFlag was not being included in node.

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

18 years agoFix Regression/Transforms/ScalarRepl/2006-01-24-IllegalUnionPromoteCrash.ll
Chris Lattner [Tue, 24 Jan 2006 19:36:27 +0000 (19:36 +0000)]
Fix Regression/Transforms/ScalarRepl/2006-01-24-IllegalUnionPromoteCrash.ll

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

18 years agotestcase that crashes scalarrepl
Chris Lattner [Tue, 24 Jan 2006 19:34:57 +0000 (19:34 +0000)]
testcase that crashes scalarrepl

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

18 years agouse ESP directly, not a copy of ESP into some other register for fastcc calls
Chris Lattner [Tue, 24 Jan 2006 06:14:44 +0000 (06:14 +0000)]
use ESP directly, not a copy of ESP into some other register for fastcc calls

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

18 years agoThis is still broken
Chris Lattner [Tue, 24 Jan 2006 06:13:48 +0000 (06:13 +0000)]
This is still broken

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

18 years agoFix an infinite loop I caused by making sure to legalize the flag operand
Chris Lattner [Tue, 24 Jan 2006 05:48:21 +0000 (05:48 +0000)]
Fix an infinite loop I caused by making sure to legalize the flag operand
of CALLSEQ_* nodes

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

18 years agoadd a method
Chris Lattner [Tue, 24 Jan 2006 05:47:05 +0000 (05:47 +0000)]
add a method

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

18 years agoEmit the copies out of call return registers *after* the ISD::CALLSEQ_END
Chris Lattner [Tue, 24 Jan 2006 05:17:12 +0000 (05:17 +0000)]
Emit the copies out of call return registers *after* the ISD::CALLSEQ_END
node, fixing fastcc and the case where a function has a frame pointer due
to dynamic allocas.

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