Daniel Dunbar
42985bbe38
Make llvm-bcanalyzer percentages more readable.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82772 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-25 16:04:21 +00:00
Daniel Dunbar
80ba3d2c0b
Strip trailing whitespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82771 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-25 16:03:57 +00:00
Duncan Sands
0cad4e3f0b
Print INST_INBOUNDS_GEP rather than UnknownCode30.
...
Likewise for constant inbounds GEP.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82763 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-25 12:28:37 +00:00
Devang Patel
e8e0213cc3
Write and read metadata attachments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82259 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-18 19:26:43 +00:00
Duncan Sands
15af79c8f8
Fix the build when using gcc-4.4 on linux. Header needed
...
for stderr and fprintf.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79909 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-24 10:59:01 +00:00
Chris Lattner
74382b7c69
Prune #includes from llvm/Linker.h and llvm/System/Path.h,
...
forcing them down into various .cpp files.
This change also:
1. Renames TimeValue::toString() and Path::toString() to ::str()
for similarity with the STL.
2. Removes all stream insertion support for sys::Path, forcing
clients to call .str().
3. Removes a use of Config/alloca.h from bugpoint, using smallvector
instead.
4. Weans llvm-db off <iostream>
sys::Path really needs to be gutted, but I don't have the desire to
do it at this point.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79869 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 22:45:37 +00:00
Devang Patel
124e6eb09d
Handle NamedMDNode.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77633 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-30 23:03:19 +00:00
Devang Patel
104cf9e02b
Derive MDNode from MetadataBase instead of Constant. Emit MDNodes into METADATA_BLOCK in bitcode file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76834 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-23 01:07:34 +00:00
Devang Patel
e54abc90fe
Introduce MetadataBase, a base class for MDString and MDNode.
...
Derive MDString directly from MetadataBase.
Introduce new bitcode block to hold metadata.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76759 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-22 17:43:22 +00:00
Dan Gohman
ac95cc79ac
Convert more tools code from cerr and cout to errs() and outs().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76070 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-16 15:30:09 +00:00
Dan Gohman
65f57c233c
Use errs() instead of std::cerr.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75791 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-15 16:35:29 +00:00
Nick Lewycky
079c034489
Add missing codenames to the .bc analyzer.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72684 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-01 04:41:03 +00:00
Dan Gohman
fbccdef106
Fix a compiler warning on hosts where uint64_t isn't unsigned long long.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70548 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-01 16:33:33 +00:00
Chris Lattner
0370cc6399
give bitstreamreader an API to ignore names for blocks/records,
...
only llvm-bcanalyzer wants this info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70239 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-27 20:04:08 +00:00
Chris Lattner
c167cac8f0
Print statistics for each record kind saying the number of bits
...
and % abbreviated. For example:
Record Histogram:
Count # Bits % Abv Record Kind
25738 3424174 100.00 SM_SLOC_INSTANTIATION_ENTRY
814 562079 100.00 SM_SLOC_FILE_ENTRY
798 34110 SM_HEADER_FILE_INFO
3 91104 100.00 SM_SLOC_BUFFER_BLOB
3 498 100.00 SM_SLOC_BUFFER_ENTRY
1 465 SM_LINE_TABLE
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70215 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-27 18:15:27 +00:00
Chris Lattner
2443747e45
clean up the output of llvm-bcanalyzer by using printf
...
instead of ostreams for formatting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70214 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-27 17:59:34 +00:00
Chris Lattner
f9a3ec86c1
Add two new record types to the blockinfo block:
...
BLOCKNAME and SETRECORDNAME. This allows a bitcode
file to be self describing with pretty names for
records and blocks in addition to numbers. This
enhances llvm-bcanalyzer to use this to print prettily.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70165 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-26 22:21:57 +00:00
Chris Lattner
962dde3cef
Make a major API change to BitstreamReader: split all the reading
...
state out of the BitstreamReader class into a BitstreamCursor class.
Doing this allows the client to have multiple cursors into the same
file, each with potentially different live block stacks and
abbreviation records.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70157 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-26 20:59:02 +00:00
Chris Lattner
ae7dd8004e
Add an API for the bitstream reader to read blobs and return
...
them by reference, instead of packing each byte into a
smallvector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68486 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-07 02:56:46 +00:00
Chris Lattner
3f75d3176b
stub out code for reading record with blobs as blobs. Not active yet.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68472 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-06 22:44:40 +00:00
Chris Lattner
e2a466bfa9
Teach llvm-bcanalyzer to skip over the header we use on LLVM IR files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68458 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-06 20:54:32 +00:00
Dan Gohman
de551f91d8
Use CHAR_BIT instead of hard-coding 8 in several places where it
...
is appropriate. This helps visually differentiate host-oriented
calculations from target-oriented calculations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68227 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-01 18:45:54 +00:00
Chris Lattner
cc14d25dd9
Change various llvm utilities to use PrettyStackTraceProgram in
...
their main routines. This makes the tools print their argc/argv
commands if they crash.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66248 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 05:34:10 +00:00
Chris Lattner
e3ff456fd1
disable exports from a bunch more tools, those without plugins.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65558 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-26 19:01:11 +00:00
Nick Lewycky
82b80d9884
Update to add newer bitcodes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58852 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-07 14:52:51 +00:00
Oscar Fuentes
3d01fc7de8
Initial support for the CMake build system.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56419 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-22 01:08:49 +00:00
Nick Lewycky
280a6e607d
Remove 'unwinds to' support from mainline. This patch undoes r47802 r47989
...
r48047 r48084 r48085 r48086 r48088 r48096 r48099 r48109 and r48123.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50265 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-25 16:53:59 +00:00
Chris Lattner
038112a4e0
Change the MemoryBuffer::getFile* methods to take just a pointer to the
...
start of a filename, not a filename+length. All clients can produce a
null terminated name, and the system api's require null terminated
strings anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49041 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01 18:04:03 +00:00
Nick Lewycky
fc82fabe00
Add an unwind_to field to basic blocks, making them Users instead of Values.
...
This is the first checkin for PR1269, the new EH infrastructure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47802 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-02 02:48:09 +00:00
Nick Lewycky
33a834a6f6
Also handle "getresult".
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47797 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-01 21:47:06 +00:00
Chris Lattner
21c62da287
remove attributions from tools.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45421 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-29 20:44:31 +00:00
Chris Lattner
5116784826
remove attributions from tools/utils makefiles.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45414 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-29 20:07:17 +00:00
Christopher Lamb
fe63fb986d
Implement address space attribute for LLVM pointer types. Address spaces are
...
regions of memory that have a target specific relationship, as described in the
Embedded C Technical Report.
This also implements the 2007-12-11-AddressSpaces test,
which demonstrates how address space attributes can be used in LLVM IR.
In addition, this patch changes the bitcode signature for stores (in a backwards
compatible manner), such that the pointer type, rather than the pointee type, is
encoded. This permits type information in the pointer (e.g. address space) to be
preserved for stores.
LangRef updates are forthcoming.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44858 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-11 08:59:05 +00:00
Dan Gohman
82a13c9c48
Move the space in overview output for commands out of each of the
...
commands and into the common code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42752 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-08 15:45:12 +00:00
Gabor Greif
8ff70c2635
Pretty straightforward replacement of "bytecode" by "bitcode"
...
performed on tools/ first, in order not to cause lethal damage
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37877 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-04 21:55:50 +00:00
Chris Lattner
44dadffe4b
switch tools to bitcode instead of bytecode
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36868 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 09:29:57 +00:00
Chris Lattner
c5ff2cc3de
add inline asm code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36826 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 01:50:11 +00:00
Chris Lattner
cb3d91b05b
add a denser encoding for null terminated strings, add a 6-bit abbrev as
...
well. This shrinks kc++ from 2724088 to 2717360 bytes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36821 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 00:53:07 +00:00
Chris Lattner
b1e85b58f0
emit spiffy little histograms of codes, if enabled. Don't print averages if
...
there is only one item.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36773 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-05 01:46:49 +00:00
Chris Lattner
44b0f10721
do not charge subblock sizes to the parent block.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36772 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-05 01:29:31 +00:00
Chris Lattner
1772b12d13
update to new APIs, make output a bit (haha) nicer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36768 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-05 00:17:42 +00:00
Chris Lattner
cd5b7d7c9d
add support for new codes/block
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36726 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 03:01:41 +00:00
Chris Lattner
8f92668f53
add phi
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36611 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-01 02:43:46 +00:00
Chris Lattner
b30c925046
Implement much expanded dumper support. We now print stuff like:
...
<MODULE_BLOCK NumWords=27 BlockCodeSize=3>
<TYPE_BLOCK NumWords=7 BlockCodeSize=4>
<NUMENTRY op0=7>
<POINTER op0=1>
<FUNCTION op0=0 op1=2 op2=2 op3=2 op4=2>
<VECTOR op0=2 op1=3>
<INTEGER op0=64>
<VECTOR op0=8 op1=5>
<INTEGER op0=16>
<VOID>
...
With work, the operands can be pretty printed symbolically.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36579 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 21:48:19 +00:00
Chris Lattner
4238d474b4
add some simple per-block statistics
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36576 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 20:00:02 +00:00
Chris Lattner
32de6330f1
Implement support to read an arbitrary bitcode file. Next up, dumping the
...
file symbolically and actually computing statistics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36557 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 08:31:14 +00:00
Chris Lattner
45e0f890f8
very early support for analyzing a bitstream. This opens the file, starts
...
reading the stream, and detects whether it is LLVM IR or not.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36556 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 08:12:22 +00:00
Chris Lattner
63db485b79
fit in 80 cols
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36551 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 05:51:00 +00:00
Chris Lattner
f2e292ce58
push bytecode decompressor out through APIs. Now the bytecode reader
...
api's look like this:
ModuleProvider *getBytecodeModuleProvider(
const std::string &Filename, ///< Name of file to be read
BCDecompressor_t *BCDC = Compressor::decompressToNewBuffer,
std::string* ErrMsg = 0, ///< Optional error message holder
BytecodeHandler* H = 0 ///< Optional handler for reader events
);
This is ugly, but allows a client to say:
getBytecodeModuleProvider("foo", 0);
If they do this, there is no dependency on the compression libraries, saving
codesize.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34012 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-07 21:41:02 +00:00
Chris Lattner
c30598bc3a
make all llvm tools call llvm_shutdown when they exit, static'ify some stuff.
...
With this change, I can now move -stats to print when llvm_shutdown is called.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32250 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-06 01:18:01 +00:00