1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
Commit Graph

3317 Commits

Author SHA1 Message Date
Chris Lattner
6bb2c3e9cd split register class handling from explicit physreg handling.
llvm-svn: 26308
2006-02-22 00:56:39 +00:00
Chris Lattner
086fd0f862 expose the set of values types holdable in a regclass to clients
llvm-svn: 26307
2006-02-21 23:51:58 +00:00
Chris Lattner
ed3b59056a Pass in a value type to getRegForInlineAsmConstraint, allowing targets to
select different sets of registers depending on the type requested.

llvm-svn: 26304
2006-02-21 23:10:29 +00:00
Evan Cheng
6a9422ce1c Added x86 integer vector types: 64-bit packed byte integer (v16i8), 64-bit
packed word integer (v8i16), and 64-bit packed doubleword integer (v2i32).

llvm-svn: 26294
2006-02-20 22:34:53 +00:00
Evan Cheng
bba9078fed Move PICEnabled declaration here.
llvm-svn: 26271
2006-02-18 00:06:03 +00:00
Chris Lattner
c3c99f3a18 add a new method
llvm-svn: 26268
2006-02-17 21:57:00 +00:00
Nate Begeman
aef186befc Fix a nit sabre noticed
llvm-svn: 26262
2006-02-17 18:06:19 +00:00
Nate Begeman
9c0ab71f4a kill ADD_PARTS & SUB_PARTS and replace them with fancy new ADDC, ADDE, SUBC
and SUBE nodes that actually expose what's going on and allow for
significant simplifications in the targets.

llvm-svn: 26255
2006-02-17 05:43:56 +00:00
Nate Begeman
0bc71999b9 Rework the SelectionDAG-based implementations of SimplifyDemandedBits
and ComputeMaskedBits to match the new improved versions in instcombine.
Tested against all of multisource/benchmarks on ppc.

llvm-svn: 26238
2006-02-16 21:11:51 +00:00
Evan Cheng
f6c74c0096 Rename maxStoresPerMemSet to maxStoresPerMemset, etc.
llvm-svn: 26174
2006-02-14 08:38:30 +00:00
Chris Lattner
307a2b55bb Fix typo that caused build failures for things trying to use m_Or.
llvm-svn: 26153
2006-02-13 23:06:39 +00:00
Jim Laskey
40610cacc0 Sync up the tag numbers with gcc4.
llvm-svn: 26146
2006-02-13 16:56:43 +00:00
Jim Laskey
fac853338f Rename to better reflect usage (current and planned.)
llvm-svn: 26145
2006-02-13 12:50:39 +00:00
Chris Lattner
2d35c6e90f Add a method
llvm-svn: 26141
2006-02-13 08:54:46 +00:00
Jim Laskey
55467f611d Reorg for integration with gcc4. Old style debug info will not be passed though
to SelIDAG.

llvm-svn: 26115
2006-02-11 01:01:30 +00:00
Chris Lattner
0d03d576e4 Remove a level of indirection.
llvm-svn: 26109
2006-02-10 21:32:11 +00:00
Evan Cheng
7441e03b0b Added SelectionDAG::InsertISelMapEntry(). This is used to workaround the gcc
problem where it inline the map insertion call too aggressively. Before this
change it was producing a frame size of 24k for Select_store(), now it's down
to 10k (by calling this method rather than calling the map insertion operator).

llvm-svn: 26094
2006-02-09 22:11:03 +00:00
Evan Cheng
3486292b7d More changes to reduce frame size.
Move all getTargetNode() out of SelectionDAG.h into SelectionDAG.cpp. This
prevents them from being inlined.
Change getTargetNode() so they return SDNode * instead of SDOperand to prevent
copying. It should also help compilation speed.

llvm-svn: 26083
2006-02-09 07:15:23 +00:00
Chris Lattner
7775687364 instead of keeping track of Constant/alignment pairs, actually compute the
offset of each entry from the start of the constant pool.

llvm-svn: 26077
2006-02-09 04:44:32 +00:00
Chris Lattner
10af703b36 Use a MachineConstantPoolEntry struct instead of a pair to hold
constant pool entries.

llvm-svn: 26075
2006-02-09 04:21:49 +00:00
Chris Lattner
f9e38897e3 Assert invariants
llvm-svn: 26073
2006-02-09 02:25:42 +00:00
Chris Lattner
309539fb45 Require an alignment.
llvm-svn: 26072
2006-02-09 02:24:25 +00:00
Chris Lattner
70865ea43f Add a comment: value is log2
llvm-svn: 26068
2006-02-09 02:10:15 +00:00
Chris Lattner
6556f15ad8 Add support for assembler directives that wrap inline asm
llvm-svn: 26065
2006-02-08 23:41:56 +00:00
Chris Lattner
4a48539377 Add some happy helper methods.
llvm-svn: 26046
2006-02-08 02:05:45 +00:00
Chris Lattner
478eb50b79 getConstraintType should be virtual.
llvm-svn: 26041
2006-02-07 20:13:44 +00:00
Chris Lattner
0c8352628d add a new Type::getIntegralTypeMask() method, which is useful for clients that
want to do bitwise inspection of integer types.

llvm-svn: 26032
2006-02-07 06:17:10 +00:00
Jeff Cohen
e2ef48c356 Fix some truncation warnings.
llvm-svn: 26029
2006-02-07 03:34:35 +00:00
Chris Lattner
0c9ddf7346 fix an error compiling with -pedantic
llvm-svn: 26028
2006-02-07 01:12:49 +00:00
Chris Lattner
81280678cc Change the prototype of PrintAsmOperand
llvm-svn: 26020
2006-02-06 22:16:41 +00:00
Jim Laskey
f36d437b39 Goodbye nasty macro.
llvm-svn: 26019
2006-02-06 21:54:05 +00:00
Jim Laskey
0cfdd812d1 Edit requests from Sabre.
llvm-svn: 26018
2006-02-06 19:12:02 +00:00
Jim Laskey
e27947e8fb Changing model for the construction of debug information.
llvm-svn: 26016
2006-02-06 15:33:21 +00:00
Evan Cheng
d46a7fc65a * Added SDNode::isOnlyUse().
* Fix hasNUsesOfValue(), it should be const.

llvm-svn: 25990
2006-02-05 06:29:23 +00:00
Chris Lattner
682b5a2626 add a new method, getPreferredAlignmentLog.
llvm-svn: 25977
2006-02-05 01:24:06 +00:00
Chris Lattner
d92225434a Refactor a bunch of code into a non-inlined method
llvm-svn: 25972
2006-02-04 09:51:33 +00:00
Evan Cheng
062ac6e46b Get rid of some memory leaks identified by Valgrind
llvm-svn: 25960
2006-02-04 06:49:00 +00:00
Chris Lattner
43978e529e add a method
llvm-svn: 25959
2006-02-04 05:49:01 +00:00
Chris Lattner
2395722dbd Add some methods for inline asm support.
llvm-svn: 25950
2006-02-04 02:12:09 +00:00
Nate Begeman
2d9838ec9b Add a framework for eliminating instructions that produces undemanded bits.
llvm-svn: 25945
2006-02-03 22:24:05 +00:00
Chris Lattner
6684ba101f Move isLoadFrom/StoreToStackSlot from MRegisterInfo to TargetInstrInfo,
a far more logical place.  Other methods should also be moved if anyone
is interested. :)

llvm-svn: 25912
2006-02-02 20:11:55 +00:00
Chris Lattner
3cbf670f57 add a new isStoreToStackSlot method
llvm-svn: 25909
2006-02-02 19:55:29 +00:00
Chris Lattner
d3e4f27b9f add an instance var and argument.
llvm-svn: 25891
2006-02-02 00:23:12 +00:00
Chris Lattner
c97cf51e02 add a new PrintAsmOperand method, move some stuff around for ease of reading.
llvm-svn: 25885
2006-02-01 22:39:30 +00:00
Chris Lattner
fa737604c5 Beef up the interface to inline asm constraint parsing, making it more
general, useful, and easier to use.

llvm-svn: 25864
2006-02-01 01:27:37 +00:00
Evan Cheng
f115c17f23 Allow the specification of explicit alignments for constant pool entries.
llvm-svn: 25855
2006-01-31 22:23:14 +00:00
Evan Cheng
153b75f154 One more getTargetNode() variant shouldn't hurt...
llvm-svn: 25816
2006-01-30 07:47:47 +00:00
Chris Lattner
5583b2e227 Clear the OpAction field before setting it. This allows a target to set
an instruction operation action to Expand, then set it to Legal later.

llvm-svn: 25812
2006-01-30 06:09:03 +00:00
Jeff Cohen
d80b0d7375 Add AddSymbol() method to DynamicLibrary to work around Windows limitation
of being unable to search for symbols in an EXE.  It will also allow other
existing hacks to be improved.

llvm-svn: 25805
2006-01-30 04:33:51 +00:00
Chris Lattner
a1cc69e24e Move MaskedValueIsZero from the DAGCombiner to the TargetLowering interface,
making isMaskedValueZeroForTargetNode simpler, and useable from other parts
of the compiler.

llvm-svn: 25802
2006-01-30 04:08:18 +00:00