Evan Cheng
559806f575
x86 CPU detection and proper subtarget support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25679 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-27 08:10:46 +00:00
Evan Cheng
19c9550744
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
2006-01-27 08:09:42 +00:00
Chris Lattner
0264d1a477
Stub out a method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25676 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-27 02:10:10 +00:00
Chris Lattner
cedc6f4b30
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
2006-01-27 01:46:15 +00:00
Chris Lattner
3b0d1d71d1
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
2006-01-27 01:41:38 +00:00
Chris Lattner
acc43bf4ab
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
2006-01-26 23:28:04 +00:00
Chris Lattner
ce7518ce92
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
2006-01-26 22:24:51 +00:00
Jim Laskey
6e87c0e029
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
2006-01-26 21:22:49 +00:00
Jeff Cohen
9471c8a93b
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
2006-01-26 20:41:32 +00:00
Chris Lattner
4ccb070f15
Implement a method for inline asm support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25660 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-26 20:37:03 +00:00
Jim Laskey
b3e789ac25
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
2006-01-26 20:21:46 +00:00
Chris Lattner
38f7373018
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
2006-01-26 19:55:20 +00:00
Andrew Lenharth
9d90144099
dynamically allocate plugin space as needed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25652 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-26 19:38:58 +00:00
Andrew Lenharth
4b934766bd
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
2006-01-26 18:36:50 +00:00
Evan Cheng
97c7fc351e
Added preliminary x86 subtarget support.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25645 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-26 09:53:06 +00:00
Duraid Madina
b0636041c8
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
2006-01-26 09:45:03 +00:00
Duraid Madina
d92f116a1c
some hoovering
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25643 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-26 09:08:31 +00:00
Chris Lattner
4dcfaac2e3
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
2006-01-26 07:22:22 +00:00
Chris Lattner
0d170a7969
Add trivial subtarget support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25641 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-26 06:51:21 +00:00
Andrew Lenharth
9e234856fe
minor renaming
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25640 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-26 03:24:15 +00:00
Andrew Lenharth
cd1544eede
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
2006-01-26 03:22:07 +00:00
Evan Cheng
67caa39e4c
Work around some x86 Darwin assembler bugs
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25638 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-26 02:27:43 +00:00
Chris Lattner
f0b415f178
add method for constraint parsing
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25637 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-26 02:21:59 +00:00
Evan Cheng
9bba894596
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
2006-01-26 02:13:10 +00:00
Chris Lattner
f47a6b4882
teach the cloner to handle inline asms
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25633 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-26 01:55:22 +00:00
Chris Lattner
3b91778659
parse and verify the constraint string.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25631 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-26 00:48:33 +00:00
Evan Cheng
cdf3838bf1
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
2006-01-26 00:30:29 +00:00
Evan Cheng
71fb9ad5d9
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
2006-01-26 00:29:36 +00:00
Chris Lattner
3188b73642
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
2006-01-26 00:08:45 +00:00
Andrew Lenharth
677c4f2cbc
oops
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25623 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-25 23:33:32 +00:00
Chris Lattner
3bc5a60b80
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
2006-01-25 23:08:15 +00:00
Andrew Lenharth
5f8f0e219d
forgot one
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25620 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-25 22:28:07 +00:00
Chris Lattner
0e9c376761
regenerate
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25619 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-25 22:27:16 +00:00
Chris Lattner
aa2c853766
Parse inline asm objects
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25618 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-25 22:26:43 +00:00
Chris Lattner
80cd115618
Print InlineAsm objects
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25617 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-25 22:26:05 +00:00
Andrew Lenharth
0e538791b8
make things compile again
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25614 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-25 21:54:38 +00:00
Reid Spencer
2a8e6186e9
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
2006-01-25 21:49:13 +00:00
Chris Lattner
863517aea0
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
2006-01-25 18:57:27 +00:00
Chris Lattner
ee4a76563a
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
2006-01-25 18:57:15 +00:00
Evan Cheng
46c01cfe9f
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
2006-01-25 18:54:24 +00:00
Evan Cheng
0577a22c67
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
2006-01-25 18:52:42 +00:00
Nate Begeman
acc398c195
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
2006-01-25 18:21:52 +00:00
Jeff Cohen
05ebc8d795
Make it even more portable.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25605 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-25 17:18:50 +00:00
Jeff Cohen
44c687d0af
Fix VC++ compilation error.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25604 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-25 17:17:49 +00:00
Evan Cheng
7558b0e80c
Default scheduling preference is SchedulingForLatency.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25603 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-25 09:15:54 +00:00
Evan Cheng
0b2afbd58a
X86 prefer scheduling for reduced register pressure.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25602 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-25 09:15:17 +00:00
Evan Cheng
cd1419af1e
Bottom up register usage reducing list scheduler.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25601 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-25 09:14:32 +00:00
Evan Cheng
e0a5832374
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
2006-01-25 09:13:41 +00:00
Evan Cheng
3f23952404
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
2006-01-25 09:12:57 +00:00
Evan Cheng
0d718e9afc
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
2006-01-25 09:05:09 +00:00