History log of /external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cd81d94322a39503e4a3e87b6ee03d4fcb3465fb 21-Jul-2014 Stephen Hines <srhines@google.com> Update LLVM for rebase to r212749.

Includes a cherry-pick of:
r212948 - fixes a small issue with atomic calls

Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
1e3037f0be430ef2339838bbdede11f45658bd82 16-Sep-2013 Peter Collingbourne <peter@pcc.me.uk> Implement function prefix data as an IR feature.

Previous discussion:
http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-July/063909.html

Differential Revision: http://llvm-reviews.chandlerc.com/D1191

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190773 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
ef7964c1b78f57e277e74bda4f38e1143d1363fe 01-Apr-2013 Joe Abbey <jabbey@arxan.com> Whitespace cleanup


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178454 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
105ea3d49d4a458af8779ae7f144f00d19c4168f 12-Feb-2013 Bill Wendling <isanbard@gmail.com> Use the AttributeSet as the 'key' to the map instead of the 'raw' pointer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174950 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
e9229a6a9614cbde1bff2bd6ffae3b7336db5702 11-Feb-2013 Bill Wendling <isanbard@gmail.com> Rename AttributeSets to AttributeGroups so that it's more meaningful.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174911 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
8c2e77f895301967bf37d04e905fb1f069ec91b2 11-Feb-2013 Bill Wendling <isanbard@gmail.com> Add support for attribute groups in the value enumerator.

Attribute groups are essentially all AttributeSets which are used by the
program. Enumerate them here.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174844 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
0b8c9a80f20772c3793201ab5b251d3520b9cea3 02-Jan-2013 Chandler Carruth <chandlerc@gmail.com> Move all of the header files which are involved in modelling the LLVM IR
into their new header subdirectory: include/llvm/IR. This matches the
directory structure of lib, and begins to correct a long standing point
of file layout clutter in LLVM.

There are still more header files to move here, but I wanted to handle
them in separate commits to make tracking what files make sense at each
layer easier.

The only really questionable files here are the target intrinsic
tablegen files. But that's a battle I'd rather not fight today.

I've updated both CMake and Makefile build systems (I think, and my
tests think, but I may have missed something).

I've also re-sorted the includes throughout the project. I'll be
committing updates to Clang, DragonEgg, and Polly momentarily.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
034b94b17006f51722886b0f2283fb6fb19aca1f 19-Dec-2012 Bill Wendling <isanbard@gmail.com> Rename the 'Attributes' class to 'Attribute'. It's going to represent a single attribute in the future.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170502 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
99faa3b4ec6d03ac7808fe4ff3fbf3d04e375502 08-Dec-2012 Bill Wendling <isanbard@gmail.com> s/AttrListPtr/AttributeSet/g to better label what this class is going to be in the near future.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169651 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f 03-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Use the new script to sort the includes of every file under lib.

Sooooo many of these had incorrect or strange main module includes.
I have manually inspected all of these, and fixed the main module
include to be the nearest plausible thing I could find. If you own or
care about any of these source files, I encourage you to take some time
and check that these edits were sensible. I can't have broken anything
(I strictly added headers, and reordered them, never removed), but they
may not be the headers you'd really like to identify as containing the
API being implemented.

Many forward declarations and missing includes were added to a header
files to allow them to parse cleanly when included first. The main
module rule does in fact have its merits. =]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
170a15e98dc6900df1ae40d03c5f0622d792fb45 25-Nov-2012 Joe Abbey <jabbey@arxan.com> Code Custodian:
- Widespread trailing space removal
- A dash of OCD spacing to block align enums
- joined a line that probably needed 80 cols a while back



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168566 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
2333e29be441d9d55920651e0b2add23ab0c1613 13-Nov-2012 Duncan Sands <baldrick@free.fr> Relax the restrictions on vector of pointer types, and vector getelementptr.
Previously in a vector of pointers, the pointer couldn't be any pointer type,
it had to be a pointer to an integer or floating point type. This is a hassle
for dragonegg because the GCC vectorizer happily produces vectors of pointers
where the pointer is a pointer to a struct or whatever. Vector getelementptr
was restricted to just one index, but now that vectors of pointers can have
any pointer type it is more natural to allow arbitrary vector getelementptrs.
There is however the issue of struct GEPs, where if each lane chose different
struct fields then from that point on each lane will be working down into
unrelated types. This seems like too much pain for too little gain, so when
you have a vector struct index all the elements are required to be the same.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167828 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
18c7f80b3e83ab584bd8572695a3cde8bafd9d3c 05-Feb-2012 Chris Lattner <sabre@nondot.org> reapply the patches reverted in r149470 that reenable ConstantDataArray,
but with a critical fix to the SelectionDAG code that optimizes copies
from strings into immediate stores: the previous code was stopping reading
string data at the first nul. Address this by adding a new argument to
llvm::getConstantStringInfo, preserving the behavior before the patch.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149800 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
91766fe066efe6e0969ba805a2e3726a70ed34a3 01-Feb-2012 Argyrios Kyrtzidis <akyrtzi@gmail.com> Revert Chris' commits up to r149348 that started causing VMCoreTests unit test to fail.

These are:

r149348
r149351
r149352
r149354
r149356
r149357
r149361
r149362
r149364
r149365

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149470 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
1b2f643753a2974540934ac0f1e3ffd182b0571c 31-Jan-2012 Chris Lattner <sabre@nondot.org> with recent changes, ConstantArray is never a "string". Remove the associated
methods and constant fold the clients to false.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149362 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
4e6c03fc3de8885b9a0a0b8069123b86d4834f08 07-Dec-2011 Chad Rosier <mcrosier@apple.com> ValueEnumerator - debug dump().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146070 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
3ebb64946bc8e7c8feba1b2044e7a47f80b3a83f 12-Aug-2011 Chris Lattner <sabre@nondot.org> switch to use the new api for structtypes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137480 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
db125cfaf57cc83e7dd7453de2d509bc8efd0e5e 18-Jul-2011 Chris Lattner <sabre@nondot.org> land David Blaikie's patch to de-constify Type, with a few tweaks.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135375 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
1afcace3a3a138b1b18e5c6270caa8dae2261ae2 09-Jul-2011 Chris Lattner <sabre@nondot.org> Land the long talked about "type system rewrite" patch. This
patch brings numerous advantages to LLVM. One way to look at it
is through diffstat:
109 files changed, 3005 insertions(+), 5906 deletions(-)

Removing almost 3K lines of code is a good thing. Other advantages
include:

1. Value::getType() is a simple load that can be CSE'd, not a mutating
union-find operation.
2. Types a uniqued and never move once created, defining away PATypeHolder.
3. Structs can be "named" now, and their name is part of the identity that
uniques them. This means that the compiler doesn't merge them structurally
which makes the IR much less confusing.
4. Now that there is no way to get a cycle in a type graph without a named
struct type, "upreferences" go away.
5. Type refinement is completely gone, which should make LTO much MUCH faster
in some common cases with C++ code.
6. Types are now generally immutable, so we can use "Type *" instead
"const Type *" everywhere.

Downsides of this patch are that it removes some functions from the C API,
so people using those will have to upgrade to (not yet added) new API.
"LLVM 3.0" is the right time to do this.

There are still some cleanups pending after this, this patch is large enough
as-is.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134829 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
6a0c04dff288b7eaa0459cc7419159765bb5a0b9 03-Jun-2011 Chad Rosier <mcrosier@apple.com> Revert name change from r132533. Lower case naming was intended per style guidelines.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132555 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
3d26f2333b320e04d405a4418f640f8b7e358a99 03-Jun-2011 Chad Rosier <mcrosier@apple.com> Whitespace and other cleanup. Functionallity unchanged.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132533 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
7a2bdde0a0eebcd2125055e0eacaca040f0b766c 15-Apr-2011 Chris Lattner <sabre@nondot.org> Fix a ton of comment typos found by codespell. Patch by
Luis Felipe Strano Moraes!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129558 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
8340d0b6595567375e80466fdcd277d5e190ed98 11-Apr-2011 Jay Foad <jay.foad@gmail.com> Fix or remove code which seemed to think that the operand of a Constant
was always a User.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129272 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
f5a90561b033428bd2c5b365ca09ed9e688dce6e 06-Apr-2011 Rafael Espindola <rafael.espindola@gmail.com> Do a topological sort of the types before writing them out.

This takes the linking of libxul on linux from 6m54.931s to 5m39.840s.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129009 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
848c9aedd7e6a957604cea2150dab66ee2c5a24f 25-Aug-2010 Dan Gohman <gohman@apple.com> Clear FunctionLocalMDs in purgeFunction along with the rest of the
function-specific state.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112058 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
5c18fa2736a603e0144c90b02a9581220c42b52d 25-Aug-2010 Dan Gohman <gohman@apple.com> Fix whitespace.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112056 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
879d811563565c17a4cad63643128afbc95694dd 25-Aug-2010 Dan Gohman <gohman@apple.com> Eliminate an unnecessary cast.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112055 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
d01347e0808f1d06b92d04bd9c0798df0d024879 24-Aug-2010 Dan Gohman <gohman@apple.com> Add braces to fix dangling else.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111896 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
309b3af547a60bedd74daa2a94ebd3d3ed5f06e9 24-Aug-2010 Dan Gohman <gohman@apple.com> Extend function-local metadata to be usable as attachments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111895 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
78aeae2d7b771e33c5ff5218802cd2e9dab13df0 24-Aug-2010 Dan Gohman <gohman@apple.com> When we know we have an MDValue or MDString, call EnumerateMetadata
directly instead of going through EnumerateValue.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111894 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
078b05320a0bad930332a2071832c2bb725ce4a5 24-Aug-2010 Dan Gohman <gohman@apple.com> Simplify this code. NamedMDNode operands are MDNodes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111892 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
17aa92c92a925b4a674440c7ef088c223990e854 22-Jul-2010 Dan Gohman <gohman@apple.com> Make NamedMDNode not be a subclass of Value, and simplify the interface
for creating and populating NamedMDNodes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109061 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
6dd26ba4bab4e3ebb1545e7e2211297f66e61e0b 17-Jul-2010 Dan Gohman <gohman@apple.com> Fix whitespace.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108569 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
54eee524f192a0e7395d057481e8d4240729d7b4 19-Jun-2010 Bob Wilson <bob.wilson@apple.com> Tidy.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106383 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
6209869f83979319e2e5791382f09b83e54191e0 03-Jun-2010 Devang Patel <dpatel@apple.com> Speedup bitcode writer. Do not walk all values for all functions to emit function local metadata. In one testcase, probably worst case scenario, the 70x speed up is seen.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105360 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
a6245247e9d0c718fb14230ba6610ee939b030fa 03-Apr-2010 Chris Lattner <sabre@nondot.org> Add special case bitcode support for DebugLoc. This avoids
having the bitcode writer materialize mdnodes for all the
debug location tuples when writing out the bc file and
stores the information in a more compact form. For example,
the -O0 -g bc file for combine.c in 176.gcc shrinks from
739392 to 512096 bytes.

This concludes my planned short-term debug info work.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100261 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
9a49f1552db7e2ce24a03ec068b17db8a238856d 25-Feb-2010 Nick Lewycky <nicholas@mxc.ca> Make the side-numbering of instructions used by metadata (which is needed to
keep track of instructions that return void) per-function. This fixes PR5278.

This breaks backwards compatibility with the metadata format. That's okay
because we haven't released the metadata bitcode yet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97132 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
1df9859c40492511b8aa4321eb76496005d3b75b 16-Feb-2010 Duncan Sands <baldrick@free.fr> There are two ways of checking for a given type, for example isa<PointerType>(T)
and T->isPointerTy(). Convert most instances of the first form to the second form.
Requested by Chris.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
2b3365ca1dd53b078714ec99b5b2ea6b67b23c9c 06-Feb-2010 Victor Hernandez <vhernandez@apple.com> Function-local metadata whose operands had been optimized to no longer refer to function-local IR were not getting written by BitcodeWriter; solution is for these metadata to be enumerated just like global metadata.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95467 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
af6ce14d679e2a87d2de6a3e26ce6a1f34d1f879 04-Feb-2010 Victor Hernandez <vhernandez@apple.com> Fix (and test) function-local metadata that occurs before the instruction that it refers to; fix is to not enumerate operands of function-local metadata until after all instructions have been enumerated

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95269 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
e88a8e6fbf4ea8163eebdbc2f72fa08d72a02532 23-Jan-2010 Benjamin Kramer <benny.kra@googlemail.com> Respect operator precedence (and silence a gcc 4.3 warning).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
bc5201f8371f9041e79efcca3b158335da5c2604 22-Jan-2010 Devang Patel <dpatel@apple.com> Remove MetadataBase class because it is not adding significant value.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94243 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
d7e6457c3faf6c5530a4c8224e2dfcf91b57093b 14-Jan-2010 Victor Hernandez <vhernandez@apple.com> Simplify code that chooses when to enumerate function-local metadata operands

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
d0f20acf74597b58d68220026205042382fc625e 14-Jan-2010 Victor Hernandez <vhernandez@apple.com> Clean up unnecessary return and brackets

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93401 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
ab9cd107211604988c19d2d49eb4bfcd05df7995 13-Jan-2010 Victor Hernandez <vhernandez@apple.com> Enumerate function-local metadata (and its types and operands) only during function-incorporation, global metadata continues to be enumerated during creation of ValueEnumerator

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93338 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
380e80fb539745c2a4d3bcdf24ce1a69e7900c66 09-Jan-2010 Devang Patel <dpatel@apple.com> NamedMDNode is never used so there is no need to enumerate it here.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93039 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
8fba578be72dc98497508dec053e966858571f6a 09-Jan-2010 Devang Patel <dpatel@apple.com> Derive NamedMDNode from Value.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93032 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
0386f01e061513094504bc11f8352a40173cada7 07-Jan-2010 Devang Patel <dpatel@apple.com> Use separate namespace for named metadata.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92931 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
69d02e0a174151e0f129731452e819b91d1ab90e 05-Jan-2010 Devang Patel <dpatel@apple.com> Allow null to be an element of NamedMDNode. e.g. !llvm.stuff = !{!0, !1, null}



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92783 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
f012705c7e4ca8cf90b6b734ce1d5355daca5ba5 05-Jan-2010 Benjamin Kramer <benny.kra@googlemail.com> Avoid going through the LLVMContext for type equality where it's safe to dereference the type pointer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92726 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
5d0cacdbb6577f2449986f345858db17dc1bcf59 31-Dec-2009 Chris Lattner <sabre@nondot.org> rename "elements" of metadata to "operands". "Elements" are
things that occur in types. "operands" are things that occur
in values.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92322 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
cc7b011728b9e8c3574247b81f79689840b3d33a 31-Dec-2009 Chris Lattner <sabre@nondot.org> tidy


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92320 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
3990b121cf4a0b280ed3e54cf13870cbf4259e78 29-Dec-2009 Chris Lattner <sabre@nondot.org> This is a major cleanup of the instruction metadata interfaces that
I asked Devang to do back on Sep 27. Instead of going through the
MetadataContext class with methods like getMD() and getMDs(), just
ask the instruction directly for its metadata with getMetadata()
and getAllMetadata().

This includes a variety of other fixes and improvements: previously
all Value*'s were bloated because the HasMetadata bit was thrown into
value, adding a 9th bit to a byte. Now this is properly sunk down to
the Instruction class (the only place where it makes sense) and it
will be folded away somewhere soon.

This also fixes some confusion in getMDs and its clients about
whether the returned list is indexed by the MDID or densely packed.
This is now returned sorted and densely packed and the comments make
this clear.

This introduces a number of fixme's which I'll follow up on.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92235 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
bcb18538c26fd6fef942d9da8156b30febae5d7e 28-Dec-2009 Chris Lattner <sabre@nondot.org> change the strange MetadataContext::getMDs function to expose less
irrelevant internal implementation details to clients.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
a327524b691795d1cb2161454e1e3e7ef12996de 28-Dec-2009 Chris Lattner <sabre@nondot.org> eliminate the elem_* iterator stuff from NamedMDNode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92208 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
cdfc940912d56a63b6f12eaa7f3faf79cf74c693 01-Nov-2009 Chris Lattner <sabre@nondot.org> Revert 85678/85680. The decision is to stay with the current form of
indirectbr, thus we don't need "blockaddr(@func, null)". Eliminate it
for simplicity.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85699 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
7d83ebcadd725d050cc58962e9b7c4312d676e7f 31-Oct-2009 Chris Lattner <sabre@nondot.org> Make blockaddress(@func, null) be valid, and make 'deleting a basic
block with a blockaddress still referring to it' replace the invalid
blockaddress with a new blockaddress(@func, null) instead of a
inttoptr(1).

This changes the bitcode encoding format, and still needs codegen
support (this should produce a non-zero value, referring to the entry
block of the function would also be quite reasonable).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
837e04a8bf13712a4a8ae279daab65a048b21f7d 28-Oct-2009 Chris Lattner <sabre@nondot.org> bitcode writer support for blockaddress.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85376 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
f3523592b21af09a5a0032f8261f2f61c302fbd9 27-Oct-2009 Chris Lattner <sabre@nondot.org> Type.h doesn't need to #include LLVMContext.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85254 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
f61b2371c8ec6e0ff2da8f2bd2a606ba755bb2fe 22-Oct-2009 Devang Patel <dpatel@apple.com> Fix getMDs() interface such that it does not expose implementation details.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84885 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
b5681b22937440dcb8007f4b125f3325d6341fe0 22-Oct-2009 Devang Patel <dpatel@apple.com> Using TrackingVH instead of WeakVH or WeakMetadataVH.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84884 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
028fa77d560f18f364ae8a0bfd60597cf1968a93 21-Oct-2009 Devang Patel <dpatel@apple.com> Do not use SmallVector to store MDNode elements.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84784 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
e30e678865b8dc1b69ef1c26e7567ffd1300553c 28-Sep-2009 Devang Patel <dpatel@apple.com> s/class Metadata/class MetadataContext/g


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83019 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
a279bc3da55691784064cb47200a1c584408b8ab 20-Sep-2009 Daniel Dunbar <daniel@zuster.org> Tabs -> spaces, and remove trailing whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82355 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
e8e0213cc3daa2d0457c22e4c12e6973f21fc942 18-Sep-2009 Devang Patel <dpatel@apple.com> Write and read metadata attachments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82259 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
1d0be15f89cb5056e20e2d24faa8d6afb1573bca 13-Aug-2009 Owen Anderson <resistor@mac.com> Push LLVMContexts through the IntegerType APIs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78948 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
d5ac40457b62f37f0abfb1d61064f7c7300e91ee 04-Aug-2009 Devang Patel <dpatel@apple.com> Use separate ValueList for metadata.
This fixes PR4666.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78056 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
624f3b930d3fc06b86c7fa1855f127f07ad0641f 31-Jul-2009 Benjamin Kramer <benny.kra@googlemail.com> Work around a dangling pointer dereference when enumerating NamedMDNodes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77675 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
53a7c6c983f638cf14e9eecb4e347f27d8e53608 31-Jul-2009 Devang Patel <dpatel@apple.com> Enumerate NamedMDNode elements first.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77636 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
aa993142518648c1ffa61e7f52ff6d3a95d413fb 30-Jul-2009 Devang Patel <dpatel@apple.com> Read and write NamedMDNode.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77517 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
0a9f7b9c3ebe7d0ec033462e1a7c9101279956f9 28-Jul-2009 Devang Patel <dpatel@apple.com> Rename MDNode.h header. It defines MDnode and other metadata classes.
New name is Metadata.h.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
104cf9e02b0ed94d4173869a598af6c6972a8660 23-Jul-2009 Devang Patel <dpatel@apple.com> 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
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
02383cc52ba9c5f944186b5878f2e9d09d479f18 22-Jul-2009 Devang Patel <dpatel@apple.com> Use isa<> instead of dyn_cast<>.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76767 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
3185a4ac6df418580120c61e91b9f02bd4b43c67 22-Jul-2009 Sanjiv Gupta <sanjiv.gupta@microchip.com> Fixed build warning. No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76761 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
e54abc90fe9942ef3902040a7ac475ce0c369dc9 22-Jul-2009 Devang Patel <dpatel@apple.com> 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
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
f7e498138f2f15b9391274d0c062fa62ab2e86fc 12-Jun-2009 Nick Lewycky <nicholas@mxc.ca> Don't remove aggregate-typed module level constants before encoding functions
since functions may contain aggregate constants too.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73220 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
cb33799b9f4e152e3460faa83e59b53ff604c87d 10-May-2009 Nick Lewycky <nicholas@mxc.ca> Make MDNode use CallbackVH. Also change MDNode to store Value* instead of
Constant* in preperation of a future change to support holding non-Constants
in an MDNode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71407 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
0598866c052147c31b808391f58434ce3dbfb838 25-Sep-2008 Devang Patel <dpatel@apple.com> Large mechanical patch.

s/ParamAttr/Attribute/g
s/PAList/AttrList/g
s/FnAttributeWithIndex/AttributeWithIndex/g
s/FnAttr/Attribute/g

This sets the stage
- to implement function notes as function attributes and
- to distinguish between function attributes and return value attributes.

This requires corresponding changes in llvm-gcc and clang.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56622 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
e4977cf750eaff28275429191821420c20b0c64f 23-May-2008 Dan Gohman <gohman@apple.com> Make structs and arrays first-class types, and add assembly
and bitcode support for the extractvalue and insertvalue
instructions and constant expressions.

Note that this does not yet include CodeGen support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51468 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
844731a7f1909f55935e3514c9e713a62d67662e 13-May-2008 Dan Gohman <gohman@apple.com> Clean up the use of static and anonymous namespaces. This turned up
several things that were neither in an anonymous namespace nor static
but not intended to be global.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51017 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
58d74910c6b82e622ecbb57d6644d48fec5a5c0f 12-Mar-2008 Chris Lattner <sabre@nondot.org> Reimplement the parameter attributes support, phase #1. hilights:

1. There is now a "PAListPtr" class, which is a smart pointer around
the underlying uniqued parameter attribute list object, and manages
its refcount. It is now impossible to mess up the refcount.
2. PAListPtr is now the main interface to the underlying object, and
the underlying object is now completely opaque.
3. Implementation details like SmallVector and FoldingSet are now no
longer part of the interface.
4. You can create a PAListPtr with an arbitrary sequence of
ParamAttrsWithIndex's, no need to make a SmallVector of a specific
size (you can just use an array or scalar or vector if you wish).
5. All the client code that had to check for a null pointer before
dereferencing the pointer is simplified to just access the
PAListPtr directly.
6. The interfaces for adding attrs to a list and removing them is a
bit simpler.

Phase #2 will rename some stuff (e.g. PAListPtr) and do other less
invasive changes.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48289 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
4ee451de366474b9c228b4e5fa573795a715216d 29-Dec-2007 Chris Lattner <sabre@nondot.org> Remove attribution from file headers, per discussion on llvmdev.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
dc024674ff96820d6020757b48d47f46d4c07db2 27-Nov-2007 Duncan Sands <baldrick@free.fr> Fix PR1146: parameter attributes are longer part of
the function type, instead they belong to functions
and function calls. This is an updated and slightly
corrected version of Reid Spencer's original patch.
The only known problem is that auto-upgrading of
bitcode files doesn't seem to work properly (see
test/Bitcode/AutoUpgradeIntrinsics.ll). Hopefully
a bitcode guru (who might that be? :) ) will fix it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44359 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
33f1d5b328813c986b8d083006a024e1a0c7d982 06-May-2007 Chris Lattner <sabre@nondot.org> Fix a nasty problem where we would miss enumeration of some types. This fixes
issues with CE_CAST etc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36864 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
7a303d1591ef1b2d087dd863f2f058d30fcf7830 06-May-2007 Chris Lattner <sabre@nondot.org> enumerate the operands of a constant before we enumerate the constant itself
This avoids fwd references in the reader.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36822 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
ff7fc5dabef6931e7d23ee0613aa60e1d09dfbb0 06-May-2007 Chris Lattner <sabre@nondot.org> implement the 'string constant' optimization. This shrinks kc.bit from
2878544 to 2815788


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36818 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
6da91d3c2c138eb1d9739701a1314ba3580df897 04-May-2007 Chris Lattner <sabre@nondot.org> optimize constant layout. This fixes encoding of 181.mcf (by ensuring
integer structure idx's are emitted before constant expr geps) and shrinks
files slightly. For example kc++ shrinks from 4326188 to 4240128 bytes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36742 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
12f535b937cb35a5cc2b3cc67995f09b9e8e1326 04-May-2007 Chris Lattner <sabre@nondot.org> simple optimization for the type table


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36741 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
50954f5cba406a88011cc8ade3ceb4235830f907 04-May-2007 Chris Lattner <sabre@nondot.org> enumerate parameter attr lists.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36709 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
e825ed5a031937ad27d83bca12acf5533d7e0fae 04-May-2007 Chris Lattner <sabre@nondot.org> fix encoding of BB names in the symtab


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36704 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
b9d0c2a6a0ef5e19b2d30180ce7d6a10ffa1f5c5 26-Apr-2007 Chris Lattner <sabre@nondot.org> start code for writing out instructions. Separate BB#s from normal value
#'s.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36472 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
c59c0afd7d24480f5a23d8fd6764ecfd6d4424cc 26-Apr-2007 Chris Lattner <sabre@nondot.org> enumerate BB's separately from other function values.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36467 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
8d35c79f273b74df1e95b4472620e31e81342037 26-Apr-2007 Chris Lattner <sabre@nondot.org> add support for incorporating and purging functions to the value enumerator


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36465 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
198f34ac359c48018c6e1f784cf3770ead63b253 26-Apr-2007 Chris Lattner <sabre@nondot.org> move some code around, fix a bug in the reader reading globalinits (which
I just introduced), stub out function reading, purge aggregate values from
the value table before reading functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36463 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
07d98b4afbdcbb4eed048400d9116de1ec83e866 26-Apr-2007 Chris Lattner <sabre@nondot.org> add bitcode alias support


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36461 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
2edd22b959f0d8f897cce397730a881c708e474a 24-Apr-2007 Chris Lattner <sabre@nondot.org> Emit module-level constants.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36384 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
fd57cecd2cb3ac726942e0101de6a82dc5a958a6 22-Apr-2007 Chris Lattner <sabre@nondot.org> Initial support for writing bitcode files. This currently only writes types,
the type symtab, and global/function protos, and is missing the important
size optimization, but it is a place to start.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36331 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp