Reid Spencer
f6a56abd4d
Bytecode Analyzer cleanup:
...
- don't save the "dump" output, just emit it
- record the bc version number
- record info about the dependent libraries and target triple
- use the correct enumeration as the index on the block size map
llvm-svn: 15977
2004-08-21 20:40:08 +00:00
Brian Gaeke
01636f4e0f
Packed types, brought to you by Brad Jones
...
llvm-svn: 15938
2004-08-20 06:00:58 +00:00
Chris Lattner
ee276368a4
The Type* is redundant with the TypeSlot
...
llvm-svn: 15451
2004-08-04 00:18:37 +00:00
Reid Spencer
415011884f
bug 402:
...
A new set of block identifiers has been added for version 1.3 so that the
range of values can fit within 5 bits. This aids in halving the size of
block headers.
llvm-svn: 15206
2004-07-25 17:50:00 +00:00
Reid Spencer
0338d6578b
Constant value not needed after CPR's disappear.
...
llvm-svn: 14917
2004-07-17 23:23:30 +00:00
Reid Spencer
725398ad54
Make all the virtual function (except destructor) inline so there are
...
default implementations without taking up a ton of space in a .cpp file.
llvm-svn: 14603
2004-07-04 11:29:56 +00:00
Reid Spencer
54405c93a8
Provide support for the BytecodeHandler interface which will be called by
...
the bcreader if one is supplied to the bytecode reader's interface
functions.
llvm-svn: 14489
2004-06-29 23:20:03 +00:00
Reid Spencer
30929e9de2
Fix include guard
...
Adjust comments
Make handlers for constants provide useful information.
llvm-svn: 14488
2004-06-29 23:18:52 +00:00
Reid Spencer
4007ca4da9
Adjust comments to match code.
...
Allow analysis to return the module created by the bcreader.
llvm-svn: 14487
2004-06-29 23:17:34 +00:00
Reid Spencer
776fdd441f
- Changed Handler.h -> BytecodeHandler.h
...
- Fixed some small coding standard compliance issues in BytecodeHandler.h
llvm-svn: 14393
2004-06-25 02:32:27 +00:00
Chris Lattner
73f4c9fcd2
Okay, Module have not been known as 'C' for a LONG time now
...
llvm-svn: 14392
2004-06-25 00:42:23 +00:00
Reid Spencer
fd6af2f261
Definition of the Bytecode Handler interface. Subclasses can override just
...
the methods they are interested in to perform out-of-band tasks while the
BytecodeReader is constructing a module. Handlers should *not* modify any
of the LLVM IR objects during this process.
llvm-svn: 14380
2004-06-24 23:05:07 +00:00
Reid Spencer
efdd7cd3ac
Implement tracking of bytecode instruction size and the number of long
...
instructions generated.
llvm-svn: 14154
2004-06-11 15:10:38 +00:00
Reid Spencer
b2f8a70990
Updated the BytecodeAnalysis data structure to contain additional fields
...
needed for analysis of individual functions.
llvm-svn: 14125
2004-06-10 22:28:11 +00:00
Reid Spencer
ce1adf1ff0
Implemented the bulk of the functionality. Cleaned up the code.
...
llvm-svn: 14113
2004-06-10 08:09:13 +00:00
Reid Spencer
149dc84ce8
Add some new fields for bytecode analysis.
...
llvm-svn: 14092
2004-06-09 06:18:53 +00:00
Misha Brukman
db138d0f67
Fix case of doxygen directive `\p': it's lowercase.
...
llvm-svn: 14068
2004-06-08 13:49:17 +00:00
Reid Spencer
03ec821b37
Clean up documentation and make it possible for the BytecodeAnalyzer to
...
store the output of the bytecode dumper.
llvm-svn: 14058
2004-06-08 05:55:53 +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
Chris Lattner
d9e314f73e
Add enum for compaction table.
...
llvm-svn: 10916
2004-01-18 21:09:23 +00:00
Chris Lattner
00f2e379c6
remove obsolete file
...
llvm-svn: 10740
2004-01-10 19:00:26 +00:00
Chris Lattner
b18c2cc333
Add new block number
...
llvm-svn: 10281
2003-12-01 07:08:06 +00:00
Chris Lattner
2089c03675
Remove unused enum value
...
llvm-svn: 10279
2003-12-01 05:40:37 +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
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
def80d731a
Rename AbstractModuleProvider -> ModuleProvider, to match the header file name,
...
and because, while the class used by the interface is abstract, the actual
concept is not.
llvm-svn: 8850
2003-10-04 20:14:59 +00:00
Chris Lattner
4e4c763dfc
Standardize header file comments
...
llvm-svn: 8782
2003-09-30 18:37:50 +00:00
Misha Brukman
7623477716
Added doxygen comments for the streaming module provider.
...
llvm-svn: 8672
2003-09-22 23:40:38 +00:00
Misha Brukman
a0fb45ff4b
Added functions to perform streaming function loading, doxygenified comments.
...
llvm-svn: 8670
2003-09-22 23:36:33 +00:00
Misha Brukman
26a7c3e066
Converted tabs to spaces.
...
llvm-svn: 8669
2003-09-22 23:35:54 +00:00
Misha Brukman
56f7db4178
Spell `necessary' correctly.
...
llvm-svn: 7944
2003-08-18 14:43:39 +00:00
John Criswell
7e0327045f
Changed the LITTLE_ENDIAN and BIG_ENDIAN macros to ENDIAN_LITTLE and ENDIAN_BIG.
...
This will prevent them from conflicting with macros defined by the system
header files.
When autoconf comes, this will look a lot nicer.
llvm-svn: 6684
2003-06-11 19:44:51 +00:00
Chris Lattner
ff78e3f3e4
Fix memory corruption problem
...
llvm-svn: 6003
2003-05-06 18:45:02 +00:00
Chris Lattner
85d01fed47
Add information about the module source
...
llvm-svn: 5837
2003-04-22 18:03:13 +00:00
Chris Lattner
a20c5c7083
Add prototype to read .a files
...
llvm-svn: 5821
2003-04-19 21:45:52 +00:00
Chris Lattner
8c1c878dcb
Add new chunk type
...
llvm-svn: 5747
2003-03-19 20:48:27 +00:00
Chris Lattner
a1d58f804e
Generalize interface a bit
...
llvm-svn: 5711
2003-03-06 16:50:21 +00:00
Chris Lattner
7a26bbcc83
Fix typo
...
llvm-svn: 4281
2002-10-25 22:53:56 +00:00
Chris Lattner
2cef6041d2
Fix namespace correctness bug
...
llvm-svn: 3798
2002-09-17 23:48:02 +00:00
Chris Lattner
fe4886e32b
Add a version of the bytecode writer pass that has a default ctor
...
llvm-svn: 3031
2002-07-23 19:56:03 +00:00
Anand Shukla
206dd8cd4e
changed first arg of parseBytecodeBuffer to unsigned char
...
llvm-svn: 2978
2002-07-21 09:31:59 +00:00
Anand Shukla
830bb08488
changed first arg og parseBytecodeBuffer to uchar
...
llvm-svn: 2977
2002-07-21 09:26:32 +00:00
Chris Lattner
3abd9700fb
Fix prototype to make function.
...
llvm-svn: 2939
2002-07-17 21:34:20 +00:00
Anand Shukla
5dbf11fc92
added include<iostream> for cerr
...
llvm-svn: 2800
2002-06-25 22:04:00 +00:00
Anand Shukla
bddcd163a1
changes to make it compatible with 64bit gcc
...
llvm-svn: 2786
2002-06-25 20:22:25 +00:00
Chris Lattner
cee706572b
*** empty log message ***
...
llvm-svn: 2777
2002-06-25 16:12:52 +00:00
Chris Lattner
96e0c48175
Eliminate duplicate or unneccesary #include's
...
llvm-svn: 2397
2002-04-29 17:42:12 +00:00
Chris Lattner
589debc4ba
Add new optional getPassName() virtual function that a Pass can override
...
to make debugging output a lot nicer.
llvm-svn: 2395
2002-04-29 14:57:45 +00:00
Chris Lattner
8c98acc07f
s/Method/Function
...
llvm-svn: 2035
2002-03-29 03:51:11 +00:00
Chris Lattner
2521ae1011
Implement a more powerful, simpler, pass system. This pass system can figure
...
out how to run a collection of passes optimially given their behaviors and
charactaristics.
Convert code to use it.
llvm-svn: 1507
2002-01-21 07:31:50 +00:00