1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
Commit Graph

22179 Commits

Author SHA1 Message Date
Chris Lattner
a1769576f0 Teach the scheduler to emit the appropriate INLINEASM MachineInstr for an
ISD::INLINEASM node.

llvm-svn: 25668
2006-01-26 23:28:04 +00:00
Chris Lattner
b234392bc5 Add a common INLINEASM opcode
llvm-svn: 25667
2006-01-26 23:27:02 +00:00
Chris Lattner
0ee2c3b109 Teach the dag selectors to select InlineAsm nodes.
Aren't we happy the pattern selectors are almost all gone?

llvm-svn: 25666
2006-01-26 23:08:55 +00:00
Jim Laskey
143edc0923 Dropped DwarfWriter::
llvm-svn: 25665
2006-01-26 22:25:04 +00:00
Chris Lattner
b2771c7fcb initial selectiondag support for new INLINEASM node. Note that inline asms
with outputs or inputs are not supported yet. :)

llvm-svn: 25664
2006-01-26 22:24:51 +00:00
Chris Lattner
6980ff5179 Add new INLINEASM node
llvm-svn: 25663
2006-01-26 22:23:45 +00:00
Jim Laskey
df47d0df3e Use global information to fill out Dwarf compile units.
llvm-svn: 25662
2006-01-26 21:22:49 +00:00
Jeff Cohen
f329a41a66 Improve compatibility with VC2005, patch by Morten Ofstad!
llvm-svn: 25661
2006-01-26 20:41:32 +00:00
Chris Lattner
800999ca4b Implement a method for inline asm support
llvm-svn: 25660
2006-01-26 20:37:03 +00:00
Chris Lattner
27ca00bcf7 add some methods for case-insensitive string compares
llvm-svn: 25659
2006-01-26 20:36:29 +00:00
Jim Laskey
6b0ba36457 Update files lists.
llvm-svn: 25658
2006-01-26 20:32:00 +00:00
Jim Laskey
bf023c019d Use find instead of lower_bounds.
llvm-svn: 25657
2006-01-26 20:30:51 +00:00
Chris Lattner
ab8e0e40f9 Add a method for inline asm support.
llvm-svn: 25656
2006-01-26 20:27:33 +00:00
Jim Laskey
583aae3110 Set up MachineDebugInfo to scan for debug information form "llvm.db"g globals.
Global Variable information is now pulled from "llvm.dbg.globals"

llvm-svn: 25655
2006-01-26 20:21:46 +00:00
Jim Laskey
f6b249fb50 Add support to find existing entries.
llvm-svn: 25654
2006-01-26 20:09:35 +00:00
Chris Lattner
bfd5404cbf Improve compatibility with VC2005, patch by Morten Ofstad!
llvm-svn: 25653
2006-01-26 19:55:20 +00:00
Andrew Lenharth
a2054ac660 dynamically allocate plugin space as needed
llvm-svn: 25652
2006-01-26 19:38:58 +00:00
Evan Cheng
8b6fb0763c 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.

llvm-svn: 25651
2006-01-26 19:13:45 +00:00
Andrew Lenharth
1c7b272409 Pass plugins on to children when optimizing.
llvm-svn: 25650
2006-01-26 18:37:21 +00:00
Andrew Lenharth
c2973ea159 Remember plugins should someone like bugpoint want to know them.
llvm-svn: 25649
2006-01-26 18:36:50 +00:00
Andrew Lenharth
a825297b64 added a couple test cases, including the new vaarg breakage
llvm-svn: 25648
2006-01-26 17:43:42 +00:00
Jeff Cohen
e850a9e43f Teach Visual Studio about X86 subtargets.
llvm-svn: 25647
2006-01-26 16:49:00 +00:00
Jim Laskey
036aa0ddc9 Split out Dwarf constants for use outside DwarfWriter.
llvm-svn: 25646
2006-01-26 14:45:22 +00:00
Evan Cheng
670dc80530 Added preliminary x86 subtarget support.
llvm-svn: 25645
2006-01-26 09:53:06 +00:00
Duraid Madina
f868d1777b 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.

llvm-svn: 25644
2006-01-26 09:45:03 +00:00
Duraid Madina
13335846a8 some hoovering
llvm-svn: 25643
2006-01-26 09:08:31 +00:00
Chris Lattner
0204d70798 Rest of subtarget support, remove references to ppc
llvm-svn: 25642
2006-01-26 07:22:22 +00:00
Chris Lattner
eb424bfbca Add trivial subtarget support
llvm-svn: 25641
2006-01-26 06:51:21 +00:00
Andrew Lenharth
23afe2f288 minor renaming
llvm-svn: 25640
2006-01-26 03:24:15 +00:00
Andrew Lenharth
ad88ba7c98 allow R28 to be used for frame calculations without entirely removing it from circulation
llvm-svn: 25639
2006-01-26 03:22:07 +00:00
Evan Cheng
7a77e3f80c Work around some x86 Darwin assembler bugs
llvm-svn: 25638
2006-01-26 02:27:43 +00:00
Chris Lattner
c88610d074 add method for constraint parsing
llvm-svn: 25637
2006-01-26 02:21:59 +00:00
Chris Lattner
b94207514a add methods for constraint parsing
llvm-svn: 25636
2006-01-26 02:21:42 +00:00
Evan Cheng
37d647c562 Add a FIXME comment.
llvm-svn: 25635
2006-01-26 02:13:31 +00:00
Evan Cheng
bf29b90240 When trying to fold X86::SETCC into a Select, make a copy if it has more than
one use. This allows more CMOV instructions.

llvm-svn: 25634
2006-01-26 02:13:10 +00:00
Chris Lattner
66f10c8957 teach the cloner to handle inline asms
llvm-svn: 25633
2006-01-26 01:55:22 +00:00
Chris Lattner
a3d00d1780 Allow use of isa<InlineAsm>(X) without #including InlineAsm.h
llvm-svn: 25632
2006-01-26 01:54:21 +00:00
Chris Lattner
a0c517622a parse and verify the constraint string.
llvm-svn: 25631
2006-01-26 00:48:33 +00:00
Evan Cheng
fcd2a73349 Clean up some code; improve efficiency; and fixed a potential bug involving
chain successors.

llvm-svn: 25630
2006-01-26 00:30:29 +00:00
Evan Cheng
224e14daa1 Remove the uses of STATUS flag register. Rely on node property SDNPInFlag,
SDNPOutFlag, and SDNPOptInFlag instead.

llvm-svn: 25629
2006-01-26 00:29:36 +00:00
Evan Cheng
cf49c6411a Duh.
llvm-svn: 25628
2006-01-26 00:28:35 +00:00
Evan Cheng
849d522805 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.

llvm-svn: 25627
2006-01-26 00:22:25 +00:00
Chris Lattner
e930f6bafb Make sure the only user of InlineAsm's are direct calls.
llvm-svn: 25626
2006-01-26 00:08:45 +00:00
Chris Lattner
e9e727b2bc new tests for actual inline asm expressions
llvm-svn: 25625
2006-01-25 23:49:54 +00:00
Chris Lattner
071cd81c93 document the syntax of inline asm
llvm-svn: 25624
2006-01-25 23:47:57 +00:00
Andrew Lenharth
084c16fe59 oops
llvm-svn: 25623
2006-01-25 23:33:32 +00:00
Chris Lattner
5eef733a66 update the bytecode format guide for the encoding of inline asm.
llvm-svn: 25622
2006-01-25 23:31:53 +00:00
Chris Lattner
db805c3206 add bc reader/writer support for inline asm
llvm-svn: 25621
2006-01-25 23:08:15 +00:00
Andrew Lenharth
01e5b9e862 forgot one
llvm-svn: 25620
2006-01-25 22:28:07 +00:00
Chris Lattner
a4f17ed13e regenerate
llvm-svn: 25619
2006-01-25 22:27:16 +00:00