Commit Graph

62 Commits

Author SHA1 Message Date
Chris Lattner
e561ef0261 Add method
llvm-svn: 18368
2004-11-30 02:51:53 +00:00
Chris Lattner
70197d8f29 Add long overdue methods
llvm-svn: 16921
2004-10-11 22:21:13 +00:00
Chris Lattner
78e3b3650e Now that the SparcV9 specific MachineCodeForInstruction class uses it's own
map on the side, Instruction no longer has to be Annotable.  This reduces
the size of the Instruction class by another 4 bytes (on a 32-bit system).

llvm-svn: 14439
2004-06-27 18:57:34 +00:00
Chris Lattner
dd7c37af2e Eliminate the Instruction::iType field, folding it into the Value::VTy field.
This reduces the size of the instruction class by 4 bytes, and means that
isa<CallInst>(V) (for example) only needs to do one load from memory instead
of two.

llvm-svn: 14434
2004-06-27 18:38:24 +00:00
Chris Lattner
b6833e4a48 Consider anything with a ValueType that is >= Instruction to be an instruction
llvm-svn: 14429
2004-06-26 20:51:50 +00:00
Reid Spencer
7172b26a18 Revert an unneeded interface change to Instruction.h
llvm-svn: 14137
2004-06-11 03:06:43 +00:00
Reid Spencer
aa6ccbcdee Added an isPhiNode(unsigned) static method to determine if an opcode is
a PhiNode or not. Needed by Bytecode Analyzer.

llvm-svn: 14124
2004-06-10 22:27:10 +00:00
Chris Lattner
95ac084df9 Apparently a particular vendor compiler uses the struct/class tag to MANGLE
symbols with.  Therefore, if you do not use struct/class consistently, you can
get LINK ERRORS.  grr.

This fixes the link errors for libsupport and vmcore.

-Chris

llvm-svn: 14070
2004-06-08 17:44:21 +00:00
Reid Spencer
329505d08b Commit For New Tool: llvm-abcd (Analysis of ByteCode Dumper). This tool
will (eventually) provide statistical analysis of bytecode files as well
as the ability to dump them in a low level format (slot numbers not
resolved). The purpose of this is to aid in the Type!=Value change of
bug 122. With this initial release, llvm-abcd merely dumps out the
bytecode. However, the infrastructure for separating bytecode parsing from
handling the parsing events is in place. The style chosen is similar to
SAX XML parsing where a handler object is called to handlign the parsing
events. This probably isn't useful to anyone but me right now as there is
no analysis yet, and the dumper doesn't work on every bytecode file. It
will probably be useful by the end of this week. Note that there is some
duplication of code from the bytecode reader.  This was done to eliminate
errors from being introduced in the reader and to minimize the impact to
other LLVM developers. At some point, the Analyzer and the Reader will be
integrated to use the same infrastructure. Also, sorry for the minor change
to Instruction.h but I just couldn't bring myself to write code that
depends on Instruction internals.

llvm-svn: 14048
2004-06-07 17:53:43 +00:00
Alkis Evlogimenos
edff018f18 Refactor common initialization code in private init() functions.
This is a first step in supplying append to basic block constructors
for all instruction types.

llvm-svn: 13793
2004-05-26 21:41:09 +00:00
Misha Brukman
7c46021fe7 Assert if Instruction is being deleted before being removed from BasicBlock.
llvm-svn: 12982
2004-04-16 15:46:43 +00:00
Chris Lattner
252e887094 Ugh, the old sparc backend attaches MachineCodeForInstruction annotations on
LLVM instructions.  Because it contains an explicit cast, we didn't catch it.
I guess instruction's will be annotable for the duration of the sparcv9's
existence.

llvm-svn: 11999
2004-02-29 18:54:23 +00:00
Chris Lattner
ebdd628dbf Add new method
llvm-svn: 10809
2004-01-12 23:18:06 +00:00
Brian Gaeke
d25f86d683 Put all LLVM code into the llvm namespace, as per bug 109.
llvm-svn: 9903
2003-11-11 22:41:34 +00:00
Chris Lattner
8d2a791804 Expose new print methods
llvm-svn: 9620
2003-10-30 23:41:19 +00:00
John Criswell
16c6cda9d5 Added LLVM copyright header (for lack of a better term).
llvm-svn: 9304
2003-10-20 20:19:47 +00:00
Chris Lattner
394f190dab Remove unneeded dtors
llvm-svn: 8896
2003-10-06 17:36:49 +00:00
Tanya Lattner
f3da6ac76f Renamed trapping instruction function to be more consistent with other functions in the file.
llvm-svn: 7448
2003-07-31 05:08:02 +00:00
Tanya Lattner
8c2ac118ce Added function to determine if an Instruction may trap.
llvm-svn: 7442
2003-07-31 04:05:50 +00:00
Misha Brukman
88c077722e Removed extra parenthesis and fixed spelling.
llvm-svn: 7359
2003-07-28 16:53:28 +00:00
John Criswell
258dfc0319 Merged in autoconf branch. This provides configuration via the autoconf
system.

llvm-svn: 7014
2003-06-30 21:59:07 +00:00
Chris Lattner
6c12776232 Remove a ton of extraneous #includes
llvm-svn: 6842
2003-06-22 03:08:05 +00:00
John Criswell
4781723de6 Included assert.h so that the code compiles under newer versions of GCC.
llvm-svn: 6682
2003-06-11 14:01:36 +00:00
Chris Lattner
19e35f5a22 Revert modulo scheduling change that should be part of the modulo-sched pass itself,
not part of the Instruction class.

llvm-svn: 5787
2003-04-16 20:30:02 +00:00
Guochun Shi
62370b42ad added some memory for clone function
llvm-svn: 5765
2003-04-06 23:58:44 +00:00
Chris Lattner
497c0d443c Rename Instruction::hasSideEffects() -> mayWriteToMemory()
llvm-svn: 5620
2003-02-24 20:48:32 +00:00
Chris Lattner
2ce9a55285 New isAssociative/isCommutative inspection methods, graciously contributed by
Casey Carter.

llvm-svn: 4459
2002-10-31 04:14:01 +00:00
Chris Lattner
fdf2ca9468 - Rename Instruction::First*Op to *OpsBegin, and Num*Ops to *OpsEnd to
reflect the fact that it's a range being defined.

llvm-svn: 4147
2002-10-13 19:39:16 +00:00
Chris Lattner
7636598d94 Implement support for inserting an instruction into a basic block right when it
is created.

llvm-svn: 3651
2002-09-10 15:36:11 +00:00
Chris Lattner
85cf7de5b9 * Clean up some comments
* Move code out of header file to .cpp files, to make future changes easier
* Add arguments to classes so that they can be automatically inserted into their
  parent structure upon creation.

llvm-svn: 3604
2002-09-06 21:31:57 +00:00
Chris Lattner
69f833618d Convert comments to Doxygen style
llvm-svn: 3507
2002-08-25 22:54:55 +00:00
Chris Lattner
aac33658b1 Remove the last traces of the NOT instruction
llvm-svn: 3346
2002-08-15 16:14:49 +00:00
Chris Lattner
d909e03b2e Remove support for unary operators.
llvm-svn: 3326
2002-08-14 18:19:46 +00:00
Chris Lattner
53d5b3111d Remove obsolete, confusing, method
llvm-svn: 3175
2002-07-31 01:45:02 +00:00
Vikram S. Adve
b54f48c9a7 Create a static version of Instruction::getOpcodeName(opCode) that
can be invoked with only an opcode (i.e., without an instruction).
Move all opCode->opCodeName translations there.

llvm-svn: 2892
2002-07-14 22:48:20 +00:00
Chris Lattner
cee706572b *** empty log message ***
llvm-svn: 2777
2002-06-25 16:12:52 +00:00
Chris Lattner
ca6c5955f4 remove deprecated getInstType() method
llvm-svn: 2595
2002-05-10 13:28:47 +00:00
Chris Lattner
6bdd1d2e3f * Add virtual print methods
* s/Method/Function

llvm-svn: 2172
2002-04-08 21:56:02 +00:00
Chris Lattner
418a519513 Remove unneccesary forward definitions
llvm-svn: 1955
2002-03-23 22:48:07 +00:00
Chris Lattner
fcc2cfec1f * Inline destructor
* Remove MachineCodeForVMInstr support (it's now an annotation)
* Remove dropAllReferences override (just use User's)

llvm-svn: 1633
2002-02-03 06:58:15 +00:00
Chris Lattner
3dc9a2a61f Changes to build successfully with GCC 3.02
llvm-svn: 1503
2002-01-20 22:54:45 +00:00
Chris Lattner
b2e2570645 Subclasses can change the opcode of an instruction
llvm-svn: 1440
2001-12-13 00:39:33 +00:00
Chris Lattner
42433c96b6 Use the instruction.def file to remain up to date with future instruction
changes

llvm-svn: 792
2001-10-14 17:24:50 +00:00
Chris Lattner
c950dfff3a Add new opcode for Invoke instruction
llvm-svn: 736
2001-10-13 06:15:20 +00:00
Chris Lattner
08b1dde37e Commit more code over to new cast style
llvm-svn: 697
2001-10-02 03:41:24 +00:00
Chris Lattner
b59e92797b Add support for newer cleaner isa, cast, dyn_cast
llvm-svn: 693
2001-10-01 13:58:13 +00:00
Chris Lattner
d6a98c11bc Chris seems fond of #include <vector>. Fix these. Also convert use list in
Value to a vector instead of a list.

Move SchedGraph.h & SchedPriorities.h into lib/CodeGen/InstrScheduling

llvm-svn: 572
2001-09-14 16:56:32 +00:00
Chris Lattner
7f8ccda329 Support new setName interface
llvm-svn: 421
2001-09-07 16:19:55 +00:00
Vikram S. Adve
09b706ba67 Make a function const.
llvm-svn: 315
2001-07-28 04:40:15 +00:00
Chris Lattner
39b84317b3 More minor reorganizations
llvm-svn: 251
2001-07-21 20:08:52 +00:00