1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-30 07:22:55 +01:00
Commit Graph

22291 Commits

Author SHA1 Message Date
Reid Spencer
da3cec9fa4 This now passes.
llvm-svn: 25680
2006-01-27 11:27:37 +00:00
Evan Cheng
5891f49c47 x86 CPU detection and proper subtarget support
llvm-svn: 25679
2006-01-27 08:10:46 +00:00
Evan Cheng
77885c204d Subtarget feature can now set any variable to any value
llvm-svn: 25678
2006-01-27 08:09:42 +00:00
Chris Lattner
df97630390 Use printInlineAsm to, well, print inline asm's.
llvm-svn: 25677
2006-01-27 02:10:50 +00:00
Chris Lattner
09d8aa244e Stub out a method
llvm-svn: 25676
2006-01-27 02:10:10 +00:00
Chris Lattner
0ef77f8cec add a method
llvm-svn: 25675
2006-01-27 02:09:16 +00:00
Chris Lattner
20d4194a0d PHI and INLINEASM are now built-in instructions provided by Target.td
llvm-svn: 25674
2006-01-27 01:46:15 +00:00
Chris Lattner
cc5d4e56f0 PHI and INLINEASM are now builtin instructions provided by Target.td
llvm-svn: 25673
2006-01-27 01:45:06 +00:00
Chris Lattner
c3d295a47c 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.

llvm-svn: 25672
2006-01-27 01:44:09 +00:00
Chris Lattner
a932c5aafb There is at least a 'noitinerary' itinerary now
llvm-svn: 25671
2006-01-27 01:41:55 +00:00
Chris Lattner
8cef15a908 Add a default NoItinerary class for targets to use.
llvm-svn: 25670
2006-01-27 01:41:38 +00:00
Chris Lattner
1ec0a10fed Don't emit JIT code for these instructions
llvm-svn: 25669
2006-01-27 01:39:38 +00:00
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