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