Commit Graph

557 Commits

Author SHA1 Message Date
Chris Lattner
7005632b59 Add an accessor for targets that pass args in regs
llvm-svn: 19702
2005-01-19 20:19:58 +00:00
Chris Lattner
0697def39d Keep track of the returned value type as well.
llvm-svn: 19669
2005-01-18 19:26:18 +00:00
Chris Lattner
818e819e43 Allow setcc operations to have non-bool types.
llvm-svn: 19655
2005-01-18 02:51:41 +00:00
Chris Lattner
e2fd07b43d Make methods private, add a method.
llvm-svn: 19634
2005-01-17 17:14:43 +00:00
Chris Lattner
783a9d8893 Add methods
llvm-svn: 19627
2005-01-17 02:24:59 +00:00
Chris Lattner
ee53940434 Add some helper methods.
llvm-svn: 19570
2005-01-15 06:52:18 +00:00
Chris Lattner
2f65e8798f Add new SIGN_EXTEND_INREG, ZERO_EXTEND_INREG, and FP_ROUND_INREG operators.
llvm-svn: 19568
2005-01-15 06:17:04 +00:00
Chris Lattner
3df2651c81 Change CopyFromReg to take and produce a chain node, allowing it to be used
with physregs that are not live across the entire block.

llvm-svn: 19560
2005-01-14 22:37:20 +00:00
Chris Lattner
c73bf62770 Start adding some new operators, give IMPLICIT_DEF a chain operand.
llvm-svn: 19558
2005-01-14 22:07:46 +00:00
Chris Lattner
c6f23adb2a Add a method
llvm-svn: 19538
2005-01-13 22:58:50 +00:00
Chris Lattner
7a8788c9ac Add new ImplicitDef node, rename CopyRegSDNode class to RegSDNode.
llvm-svn: 19535
2005-01-13 20:50:02 +00:00
Chris Lattner
000509e7b0 Add a new node type, add comments.
llvm-svn: 19525
2005-01-13 17:58:35 +00:00
Chris Lattner
92c07c0dba New method.
llvm-svn: 19516
2005-01-12 18:37:33 +00:00
Chris Lattner
f01a5206ea Update comments to indicate CopyFrom/ToReg take physregs as well as vregs.
llvm-svn: 19514
2005-01-12 18:11:36 +00:00
Chris Lattner
1b9caa4504 Add MEMSET/MEMCPY/MEMMOVE operations. Fix a really bad bug in the vector
SDNode ctor.

llvm-svn: 19462
2005-01-11 05:56:17 +00:00
Chris Lattner
9ed0d66c8a Add a helper method.
llvm-svn: 19442
2005-01-10 23:25:04 +00:00
Chris Lattner
a4f7c88eb6 Add support for graph operations, and add a viewGraph method to SelectionDAG.
llvm-svn: 19440
2005-01-10 23:05:53 +00:00
Chris Lattner
911dca53ee Adjust prototype
llvm-svn: 19387
2005-01-08 19:57:49 +00:00
Chris Lattner
a58b3f48ef Silence VS warnings.
llvm-svn: 19384
2005-01-08 19:52:31 +00:00
Chris Lattner
e4cd40b379 Add operators for FP -> INT conversions and back.
llvm-svn: 19368
2005-01-08 08:08:49 +00:00
Chris Lattner
6182c88b85 Add a new SelectionDAG::RemoveDeadNodes method
llvm-svn: 19344
2005-01-07 21:08:55 +00:00
Jeff Cohen
6b821ecd16 Fix include. Too easy to make mistakes like this on Windows :(
llvm-svn: 19343
2005-01-07 19:21:49 +00:00
Jeff Cohen
a97d6be787 Get new SelectionDAG stuff building with Visual Studio.
llvm-svn: 19340
2005-01-07 15:52:36 +00:00
Chris Lattner
c72669973a Complete rewrite of the SelectionDAG class.
llvm-svn: 19327
2005-01-07 07:46:32 +00:00
Chris Lattner
409c6158ad Common base class for SelectionDAG-based instruction selectors.
llvm-svn: 19326
2005-01-07 07:46:03 +00:00
Chris Lattner
c5b77f7009 Initial implementation of the nodes in a SelectionDAG.
llvm-svn: 19325
2005-01-07 07:45:27 +00:00
Chris Lattner
d8856e4665 Add required #include
llvm-svn: 19302
2005-01-06 03:25:27 +00:00
Chris Lattner
b5473d7cf3 Add a useful method
llvm-svn: 19301
2005-01-06 03:23:59 +00:00
Chris Lattner
8263ec34fd Add a list end sentinal
llvm-svn: 19299
2005-01-05 22:14:14 +00:00
Chris Lattner
1105e059bb add an assertion
llvm-svn: 19290
2005-01-05 16:27:34 +00:00
Chris Lattner
70d0a6155b Add a useful accessor
llvm-svn: 19209
2005-01-01 15:58:55 +00:00
Chris Lattner
7f004e59d8 Add two helper functions.
llvm-svn: 19208
2005-01-01 15:58:41 +00:00
Chris Lattner
70c19defde Fix the FIXME, nuke the JIT specific forceCompilationOf method.
llvm-svn: 18131
2004-11-22 21:54:35 +00:00
Chris Lattner
39b616869e These methods are now obsolete
llvm-svn: 18128
2004-11-22 21:48:01 +00:00
Chris Lattner
3765dc4ebd Add another bit, to make the JIT a bit more efficient.
llvm-svn: 18077
2004-11-21 03:27:13 +00:00
Chris Lattner
53ea58d4c1 Change this interface a bit
llvm-svn: 18063
2004-11-20 23:52:43 +00:00
Chris Lattner
62d04b04f0 Add missing #include
llvm-svn: 18058
2004-11-20 23:40:54 +00:00
Chris Lattner
c0599d0f14 Add getCurrentPCOffset() and addRelocation() methods.
llvm-svn: 18034
2004-11-20 03:44:39 +00:00
Chris Lattner
20654daf37 Add the getRelocationType method that I forgot
llvm-svn: 18033
2004-11-20 03:43:50 +00:00
Chris Lattner
674e29ccde New file
llvm-svn: 18029
2004-11-20 03:05:50 +00:00
Chris Lattner
6e17c0f19e Remove dead #include
llvm-svn: 18027
2004-11-20 02:17:03 +00:00
Chris Lattner
f9b6c00d88 External symbols are const char*'s now, change this to match.
llvm-svn: 18008
2004-11-19 20:56:22 +00:00
Chris Lattner
2a37cb2ef9 Instead of storing std::string's for ExternalSymbol references, rely on the
fact that all ExternalSymbols are actually string literals with static storage.
Thus we don't have to do anything special to hold them and we certainly don't
have to copy string data around.

llvm-svn: 18007
2004-11-19 20:46:15 +00:00
Chris Lattner
dd0094e4ed Convert 'struct' to 'class' in various places to adhere to the coding standards
and work better with VC++.  Patch contributed by Morten Ofstad!

llvm-svn: 17281
2004-10-27 16:14:51 +00:00
Chris Lattner
fabd2aa5b5 Remove the unused MachineBasicBlock2IndexFunctor class.
Move method bodies that depend on <algorithm> out of line to
MachineBasicBlock.cpp.  Patch contributed by Morten Ofstad!

llvm-svn: 17252
2004-10-26 15:41:13 +00:00
Chris Lattner
9f1c4d5b67 Fix miscompilations in the SparcV9 backend that were induced by this patch:
http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20041011/019311.html

llvm-svn: 17130
2004-10-18 17:19:20 +00:00
Chris Lattner
65976f4178 Allow machine operands to represent global variables with offsets. This is
useful when you have a reference like:

int A[100];

void foo() { A[10] = 1; }

In this case, &A[10] is a single constant and should be treated as such.

Only MO_GlobalAddress and MO_ExternalSymbol are allowed to use this field, no
other operand type is.

This is another fine patch contributed by Jeff Cohen!!

llvm-svn: 17007
2004-10-15 04:38:41 +00:00
Misha Brukman
e20eb48c53 Convert tabs to spaces
llvm-svn: 16988
2004-10-14 18:47:56 +00:00
Alkis Evlogimenos
bbc01f13fc Add const version of getLastBlock() member function.
llvm-svn: 16625
2004-09-30 21:42:02 +00:00
Alkis Evlogimenos
adea49eec0 Use class instead of struct for defining classes. This unbreaks the
build on windows. Patch contributed by Paolo Invernizzi!

llvm-svn: 16531
2004-09-28 01:59:17 +00:00