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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Chris Lattner [Tue, 24 Jan 2006 05:01:39 +0000 (05:01 +0000)]
new c front-end testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25579
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 24 Jan 2006 04:50:48 +0000 (04:50 +0000)]
Allow jit-beta to work
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25578
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Tue, 24 Jan 2006 04:43:17 +0000 (04:43 +0000)]
Fix VC++ compilation error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25577
91177308-0d34-0410-b5e6-
96231b3b80d8