History log of /external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

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

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
27457ac42f7a9267ab7e0190424a95fecf0ea201 09-Dec-2013 Manman Ren <manman.ren@gmail.com> Merging r196158:
------------------------------------------------------------------------
r196158 | mren | 2013-12-02 13:29:56 -0800 (Mon, 02 Dec 2013) | 12 lines

Debug Info: drop debug info via upgrading path if version number does not match.

Add a helper function getDebugInfoVersionFromModule to return the debug info
version number for a module.

"Verifier/module-flags-1.ll" checks for verification errors.
It will seg fault when calling getDebugInfoVersionFromModule because of the
incorrect format for module flags in the testing case. We make
getModuleFlagsMetadata more robust by checking for error conditions.

PR17982

------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_34@196822 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
1572ba716bad4944a83040adef76c186c4841e95 18-Nov-2013 Matt Arsenault <Matthew.Arsenault@amd.com> Fix spacing, forward declare order.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194985 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
59d3ae6cdc4316ad338cd848251f33a236ccb36c 15-Nov-2013 Matt Arsenault <Matthew.Arsenault@amd.com> Add addrspacecast instruction.

Patch by Michele Scandale!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194760 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
161dd53f1ef74b31b5afa0aeb55619ae924a6877 12-Nov-2013 Reid Kleckner <reid@kleckner.net> Extract a bc attr parsing helper that returns Attribute::None on error

The parsing method still returns llvm::error_code for consistency with
other parsing methods. Minor cleanup, no functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194437 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
af9e8e60ae5118066e49730ae5a96aadf3a8f624 05-Nov-2013 Rafael Espindola <rafael.espindola@gmail.com> Use error_code in GVMaterializer.

They just propagate out the bitcode reader error, so we don't need a new enum.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194091 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
e05744ba850dd6c9aa438f6e2f60c77df8fcce74 05-Nov-2013 Rafael Espindola <rafael.espindola@gmail.com> Convert FindFunctionInStream to return an error_code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194084 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
a83342ba3b6dffbdfb6b21cbc24b2c135f347e5d 05-Nov-2013 Benjamin Kramer <benny.kra@googlemail.com> Silence GCC warning about dropping off a fully covered switch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194077 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
e076b5338a8a004b4ea3694c469760d87194a5d7 04-Nov-2013 Rafael Espindola <rafael.espindola@gmail.com> Change BitcodeReader to use error_code instead of bool + string.

In order to create an ObjectFile implementation that uses bitcode files, we
need to propagate the bitcode errors to the ObjectFile interface, so we need
to convert it to use the same error handling as ObjectFile: error_code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
19794da02cc48a772ae6f4756b14b111a627170e 01-Nov-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove linkonce_odr_auto_hide.

linkonce_odr_auto_hide was in incomplete attempt to implement a way
for the linker to hide symbols that are known to be available in every
TU and whose addresses are not relevant for a particular DSO.

It was redundant in that it all its uses are equivalent to
linkonce_odr+unnamed_addr. Unlike those, it has never been connected
to clang or llvm's optimizers, so it was effectively dead.

Given that nothing produces it, this patch just nukes it
(other than the llvm-c enum value).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193865 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
cc8c673e61c05dcfd4aaf34f0d1a1454991bc795 31-Oct-2013 Rafael Espindola <rafael.espindola@gmail.com> Fix a use after free on invalid input.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193737 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
69bd41dfe33f24414be281ba5e2204b7348c33ae 27-Oct-2013 Shuxin Yang <shuxin.llvm@gmail.com> Revert r193251 : Use address-taken to disambiguate global variable and indirect memops.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193489 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
8e3851a6eb9fe5fc30094c3a00d2b89c7cd68cbd 23-Oct-2013 Shuxin Yang <shuxin.llvm@gmail.com> Use address-taken to disambiguate global variable and indirect memops.

Major steps include:
1). introduces a not-addr-taken bit-field in GlobalVariable
2). GlobalOpt pass sets "not-address-taken" if it proves a global varirable
dosen't have its address taken.
3). AA use this info for disambiguation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193251 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
804f034bd18789e9bbf4c70c10189dd6dbf04128 28-Sep-2013 Manman Ren <manman.ren@gmail.com> AutoUpgrade: upgrade from scalar TBAA format to struct-path aware TBAA format.

We treat TBAA tags as struct-path aware TBAA format when the first operand
is a MDNode and the tag has 3 or more operands.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191593 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
405b6503b3568cfb4da9d1347e3f5640583429c9 13-Sep-2013 Joe Abbey <jabbey@arxan.com> Patch provide by Tom Roeder!

Reviewed by Joe Abbey and Tobias Grosser

Here is a patch that fixes decoding of CE_SELECT in BitcodeReader,
along with a simple test case. The problem in the current code is that
it generates but doesn't accept bitcode that uses vectors for the
first element of a select in this context.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190634 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
db3a9e64f856e3a233a427da1f3969fd3a65a438 09-Sep-2013 Bob Wilson <bob.wilson@apple.com> Revert patches to add case-range support for PR1255.

The work on this project was left in an unfinished and inconsistent state.
Hopefully someone will eventually get a chance to implement this feature, but
in the meantime, it is better to put things back the way the were. I have
left support in the bitcode reader to handle the case-range bitcode format,
so that we do not lose bitcode compatibility with the llvm 3.3 release.

This reverts the following commits: 155464, 156374, 156377, 156613, 156704,
156757, 156804 156808, 156985, 157046, 157112, 157183, 157315, 157384, 157575,
157576, 157586, 157612, 157810, 157814, 157815, 157880, 157881, 157882, 157884,
157887, 157901, 158979, 157987, 157989, 158986, 158997, 159076, 159101, 159100,
159200, 159201, 159207, 159527, 159532, 159540, 159583, 159618, 159658, 159659,
159660, 159661, 159703, 159704, 160076, 167356, 172025, 186736

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190328 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
5768bb8d77892926dff0d078b1fb08c14ea791f3 23-Aug-2013 Andrea Di Biagio <Andrea_DiBiagio@sn.scee.net> Add function attribute 'optnone'.

This function attribute indicates that the function is not optimized
by any optimization or code generator passes with the
exception of interprocedural optimization passes.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189101 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
e7bc5bb8622123b4a1507e7d219ab570a43e5bdf 26-Jul-2013 Tobias Grosser <tobias@grosser.es> Make .bc en/decoding of AttrKind stable

The bitcode representation attribute kinds are encoded into / decoded from
should be independent of the current set of LLVM attributes and their position
in the AttrKind enum. This patch explicitly encodes attributes to fixed bitcode
values.

With this patch applied, LLVM does not silently misread attributes written by
LLVM 3.3. We also enhance the decoding slightly such that an error message is
printed if an unknown AttrKind encoding was dected.

Bonus: Dropping bitcode attributes from AttrKind is now easy, as old AttrKinds
do not need to be kept to support the Bitcode reader.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187186 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
49a6a8d8f2994249c81b7914b07015714748a55c 24-May-2013 Benjamin Kramer <benny.kra@googlemail.com> Remove the Copied parameter from MemoryObject::readBytes.

There was exactly one caller using this API right, the others were relying on
specific behavior of the default implementation. Since it's too hard to use it
right just remove it and standardize on the default behavior.

Defines away PR16132.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182636 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
5c332dbd30d9398ed25b30c3080506f7b8e92290 05-May-2013 Dmitri Gribenko <gribozavr@gmail.com> Add ArrayRef constructor from None, and do the cleanups that this constructor enables

Patch by Robert Wilhelm.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181138 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
48fbcfe6b959df628a6455e00ac8d94fa6ade87a 12-Feb-2013 Bill Wendling <isanbard@gmail.com> Have the bitcode writer and reader handle the new attribute references.

The bitcode writer emits a reference to the attribute group that the object at
the given index refers to. The bitcode reader is modified to read this in and
map it back to the attribute group.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174952 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
04ef4be048934f8acf15c4ed6e3ebdd410c252bb 11-Feb-2013 Bill Wendling <isanbard@gmail.com> Use a std::map so that we record the group ID.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174910 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
ab39afa9d9b99c61842c8e3d0eb706bd16efdcf3 11-Feb-2013 Kostya Serebryany <kcc@google.com> [tsan/msan] adding thread_safety and uninitialized_checks attributes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174864 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
c3ba0a821b359060d76453023f3852954e6a5ee3 11-Feb-2013 Bill Wendling <isanbard@gmail.com> Add support in the bitcode reader to read the attribute groups.

This reads the attribute groups. It currently doesn't do anything with them.

NOTE: In the commit to the bitcode writer, the format *may* change in the near
future. Which means that this code would also change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174849 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
acb6194f93440425776cdd730a2726fd95499505 06-Feb-2013 Joe Abbey <jabbey@arxan.com> Code Custodian (trivial whitespace cleanup)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174550 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
a2de37c897556fbd1f94a3ed84ad27accd8f8deb 05-Feb-2013 Michael Gottesman <mgottesman@apple.com> Added LLVM Asm/Bitcode Reader/Writer support for new IR keyword externally_initialized.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174340 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
f9271ea159b97e2febedcf095c3c4122cb24d077 05-Feb-2013 Bill Wendling <isanbard@gmail.com> Initial cleanups of the param-attribute code in the bitcode reader/writer.

Rename the PARAMATTR_CODE_ENTRY to PARAMATTR_CODE_ENTRY_OLD. It will be replaced
by another encoding. Keep around the current LLVM attribute encoder/decoder
code, but move it to the bitcode directories so that no one's tempted to use
them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174335 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
8232ece5c1e57efe54342fb35610497d50bf894f 29-Jan-2013 Bill Wendling <isanbard@gmail.com> Use an AttrBuilder to generate the correct AttributeSet.

We no longer accept an encoded integer as representing all of the
attributes. Convert this via the AttrBuilder class into an AttributeSet with the
correct representation (an AttributeSetImpl that holds a list of Attribute
objects).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173750 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
0c2f0ff9ccee3d711893b963b1dd8426beb7ddfe 27-Jan-2013 Bill Wendling <isanbard@gmail.com> Use the AttributeSet instead of AttributeWithIndex object.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173598 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
8e47daf2858e980210f3e1f007036b24da342c29 26-Jan-2013 Bill Wendling <isanbard@gmail.com> Remove some introspection functions.

The 'getSlot' function and its ilk allow introspection into the AttributeSet
class. However, that class should be opaque. Allow access through accessor
methods instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173522 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
0a29cb045444c13160e90fe7942a9d7c720185ed 22-Jan-2013 Tim Northover <Tim.Northover@arm.com> Make APFloat constructor require explicit semantics.

Previously we tried to infer it from the bit width size, with an added
IsIEEE argument for the PPC/IEEE 128-bit case, which had a default
value. This default value allowed bugs to creep in, where it was
inappropriate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173138 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
1ca114a66b666f932741d00d74636dc35ea1d466 20-Jan-2013 Chris Lattner <sabre@nondot.org> trivial micro-optimization: lazily call the virtual method instead of eagerly calling it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172953 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
5a4251c767adb7a47ad7a53719398ee1342cc400 20-Jan-2013 Chris Lattner <sabre@nondot.org> convert the bitstream reader itself and the IR .bc file parser to use the new advance() APIs,
simplifying things and making a bunch of details more private to BitstreamCursor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172947 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
63246aa04f23767875bfe6f533285915a766b82d 19-Jan-2013 Chris Lattner <sabre@nondot.org> Add a new BitstreamEntry concept, and add two helper methods for walking
through a BitstreamCursor that produce it: advance() and
advanceSkippingSubblocks(), representing the two most common ways clients
want to walk through bitcode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172919 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
312c7d9dc126e90ca1f40d30ba9a3ba22ade35c4 19-Jan-2013 Chris Lattner <sabre@nondot.org> BitstreamReader hasn't aged well. It's been hacked on by various people and
has past the point of making sense. Lets tidy things up: first step, moving
a ton of big functions out of line.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172904 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
1db9b6957c2565a2322206bd5907530895f1c7ac 10-Jan-2013 Bill Wendling <isanbard@gmail.com> Revert s/Raw/getBitMask/g name change. This is possibly causing LTO test hangings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172020 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
c966e08a9895a39f575d917a8390c8e359f042f5 30-Dec-2012 Bill Wendling <isanbard@gmail.com> s/Raw/getBitMask/g to be more in line with current naming conventions. This method won't be sticking around.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171244 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
1638b839090a35adcd5a4b4cc0a649352276e703 09-Dec-2012 Michael Ilseman <milseman@apple.com> Reorganize FastMathFlags to be a wrapper around unsigned, and streamline some interfaces.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169712 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
855d0255d0bc388da7554d05f8cf184e26f5a00d 09-Dec-2012 Michael Ilseman <milseman@apple.com> Have the bitcode reader/writer just use FPMathOperator's fast math enum directly

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169710 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
3defc0bfa600cc253f0cba0fe781aa49435d968a 28-Nov-2012 Bill Wendling <isanbard@gmail.com> Add back support for reading and parsing 'deplibs'.

This is for backwards compatibility for pre-3.x bc files. The code reads the
code, but does nothing with it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
efd08d413c077956478fbde90fd65aa6f179bb39 27-Nov-2012 Bill Wendling <isanbard@gmail.com> Remove the dependent libraries feature.

The dependent libraries feature was never used and has bit-rotted. Remove it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168694 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
eaac37ece1d72e6b0fa6a70000a60e31f635c918 27-Nov-2012 Joe Abbey <jabbey@arxan.com> Code pretification



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168661 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
495d10ad56d1113ba33e0589e7c4f96f3c16fa52 27-Nov-2012 Michael Ilseman <milseman@apple.com> Fast-math flags for the bitcode

Added in bitcode enum for the serializing of fast-math flags. Added in the reading/writing of fast-math flags from the OptimizationFlags record for BinaryOps.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168646 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
0976e00fd1cbf4128daeb72efd8957d00383fda9 20-Nov-2012 Bill Wendling <isanbard@gmail.com> Make the AttrListPtr object a part of the LLVMContext.

When code deletes the context, the AttributeImpls that the AttrListPtr points to
are now invalid. Therefore, instead of keeping a separate managed static for the
AttrListPtrs that's reference counted, move it into the LLVMContext and delete
it when deleting the AttributeImpls.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168354 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
e46b14acab1fcb7434783d2f0e00cfee681335f0 19-Nov-2012 Joe Abbey <jabbey@arxan.com> 80 cols



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168318 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
407a6169b729c72c3a7ddb01b8454ab0b4f6897c 15-Nov-2012 Michael Ilseman <milseman@apple.com> Remove trailing whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168103 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
702cc91aa1bd41540e8674921ae7ac89a4ff061f 15-Oct-2012 Bill Wendling <isanbard@gmail.com> Move the Attributes::Builder outside of the Attributes class and into its own class named AttrBuilder. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165960 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
cb3de0bc800d7920087b19bb12a545d4cc84114e 15-Oct-2012 Bill Wendling <isanbard@gmail.com> Attributes Rewrite

Convert the internal representation of the Attributes class into a pointer to an
opaque object that's uniqued by and stored in the LLVMContext object. The
Attributes class then becomes a thin wrapper around this opaque
object. Eventually, the internal representation will be expanded to include
attributes that represent code generation options, etc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165917 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
ed84062812c7b8a82d0e8128a22aa1aa07a14d79 12-Oct-2012 Sean Silva <silvas@purdue.edu> Remove unnecessary classof()'s

isa<> et al. automatically infer when the cast is an upcast (including a
self-cast), so these are no longer necessary.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165767 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
d9a3bad4487dee0b9ed1a0f5555dffe605826158 11-Oct-2012 Jan Wen Voung <jvoung@google.com> Change encoding of instruction operands in bitcode binaries to be relative
to the instruction position. The old encoding would give an absolute
ID which counts up within a function, and only resets at the next function.

I.e., Instead of having:

... = icmp eq i32 n-1, n-2
br i1 ..., label %bb1, label %bb2

it will now be roughly:

... = icmp eq i32 1, 2
br i1 1, label %bb1, label %bb2

This makes it so that ids remain relatively small and can be encoded
in fewer bits.

With this encoding, forward reference operands will be given
negative-valued IDs. Use signed VBRs for the most common case
of forward references, which is phi instructions.

To retain backward compatibility we bump the bitcode version
from 0 to 1 to distinguish between the different encodings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165739 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
47a3395d1d2b5fb2829462ca399458ea3214fe22 04-Oct-2012 Bill Wendling <isanbard@gmail.com> Use method to query if there are attributes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165213 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
2039a8f83464e900a71f3e846c7749b2d0d8cde2 25-Sep-2012 Bill Wendling <isanbard@gmail.com> Move remaining methods inside the Attributes class. Merge the 'Attribute' namespaces.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164631 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
122f5e5a5b04e3c364d13913c14ee14f9b7ba387 21-Sep-2012 Benjamin Kramer <benny.kra@googlemail.com> BitcodeReader: Correctly insert blockaddress constant referring to a already parsed function.

We inserted a placeholder that was never replaced because the function was
already visited. Assert that all placeholders have been resolved when tearing
down the bitcode reader.

Fixes PR13895.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164369 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
86a1c32e67b23c5e9e42dff9eb86e99ba15bb42f 15-Sep-2012 Craig Topper <craig.topper@gmail.com> Use LLVM_DELETED_FUNCTION in place of 'DO NOT IMPLEMENT' comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163974 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
5177b3a8c48adec2acf284fcb8e00775a705a7e2 06-Sep-2012 Roman Divacky <rdivacky@freebsd.org> Dont cast away const needlessly. Found by gcc48 -Wcast-qual.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163324 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
581600bfc3060ee13afb278cd87e25da5b5f7db2 05-Sep-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Enumerate the InlineAsm dialects and rename the nsdialect to
inteldialect.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163231 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
27b25c2076cc6bcc5c319053e2cfd71f5a847010 05-Sep-2012 Chad Rosier <mcrosier@apple.com> Add a FIXME that assumes we maintain backward compatibility until the next major release.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163195 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
f16ae5889140e42aa9092016e99aa706221e11ed 05-Sep-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Add support for the nsdialect keyword in the Bitcode
Reader/Writer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163185 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
32811bef956e0fae4329e6515420d85f7e510660 17-Aug-2012 Bill Wendling <isanbard@gmail.com> Change the `linker_private_weak_def_auto' linkage to `linkonce_odr_auto_hide' to
make it more consistent with its intended semantics.

The `linker_private_weak_def_auto' linkage type was meant to automatically hide
globals which never had their addresses taken. It has nothing to do with the
`linker_private' linkage type, which outputs the symbols with a `l' (ell) prefix
among other things.

The intended semantic is more like the `linkonce_odr' linkage type.

Change the name of the linkage type to `linkonce_odr_auto_hide'. And therefore
changing the semantics so that it produces the correct output for the linker.

Note: The old linkage name `linker_private_weak_def_auto' will still parse but
is not a synonym for `linkonce_odr_auto_hide'. This should be removed in 4.0.
<rdar://problem/11754934>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162114 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
2127c9b93a5fd5f04ffaced84bde0696bd57fce6 19-Jul-2012 Bill Wendling <isanbard@gmail.com> Remove tabs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160479 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
ce718ff9f42c7da092eaa01dd0242e8d5ba84713 23-Jun-2012 Hans Wennborg <hans@hanshq.net> Extend the IL for selecting TLS models (PR9788)

This allows the user/front-end to specify a model that is better
than what LLVM would choose by default. For example, a variable
might be declared as

@x = thread_local(initialexec) global i32 42

if it will not be used in a shared library that is dlopen'ed.

If the specified model isn't supported by the target, or if LLVM can
make a better choice, a different model may be used.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159077 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
0aa32d5d0ff6cd65b6cff957858a79e2d2a614bd 29-May-2012 Stepan Dyatkovskiy <stpworld@narod.ru> ConstantRangesSet renamed to IntegersSubset. CRSBuilder renamed to IntegersSubsetMapping.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157612 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
21280e48c07422a43bf8e7d095bdfaf0c7012bd5 28-May-2012 David Blaikie <dblaikie@gmail.com> Remove unused variable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157586 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
e99f8be067b6f2c19058d0f6307e96287a94f55d 28-May-2012 Meador Inge <meadori@gmail.com> PR12696: Attribute bits above 1<<30 are not encoded in bitcode

Attribute bits above 1<<30 are now encoded correctly. Additionally,
the encoding/decoding functionality has been hoisted to helper functions
in Attributes.h in an effort to help the encoding/decoding to stay in
sync with the Attribute bitcode definitions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157581 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
f52aea8bc25acfdd406f741d2711ebbf54606c81 28-May-2012 Benjamin Kramer <benny.kra@googlemail.com> Random BitcodeReader cleanups.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157577 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
484fc93eff0295b1aa52b9a64d22346580e4b0e2 28-May-2012 Stepan Dyatkovskiy <stpworld@narod.ru> PR1255: Case Ranges
Implemented IntItem - the wrapper around APInt. Why not to use APInt item directly right now?
1. It will very difficult to implement case ranges as series of small patches. We got several large and heavy patches. Each patch will about 90-120 kb. If you replace ConstantInt with APInt in SwitchInst you will need to changes at the same time all Readers,Writers and absolutely all passes that uses SwitchInst.
2. We can implement APInt pool inside and save memory space. E.g. we use several switches that works with 256 bit items (switch on signatures, or strings). We can avoid value duplicates in this case.
3. IntItem can be easyly easily replaced with APInt.
4. Currenly we can interpret IntItem both as ConstantInt and as APInt. It allows to provide SwitchInst methods that works with ConstantInt for non-updated passes.

Why I need it right now? Currently I need to update SimplifyCFG pass (EqualityComparisons). I need to work with APInts directly a lot, so peaces of code
ConstantInt *V = ...;
if (V->getValue().ugt(AnotherV->getValue()) {
...
}
will look awful. Much more better this way:
IntItem V = ConstantIntVal->getValue();
if (AnotherV < V) {
}

Of course any reviews are welcome.

P.S.: I'm also going to rename ConstantRangesSet to IntegersSubset, and CRSBuilder to IntegersSubsetMapping (allows to map individual subsets of integers to the BasicBlocks).
Since in future these classes will founded on APInt, it will possible to use them in more generic ways.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157576 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
d509d0b532ec2358b3f341d4a4cd1411cb8b5db2 28-May-2012 Chris Lattner <sabre@nondot.org> switch AttrListPtr::get to take an ArrayRef, simplifying a lot of clients.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157556 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
ee8100d70a81c154487cb715925c1adf46f7653e 23-May-2012 Nuno Lopes <nunoplopes@sapo.pt> revert r156383: removal of TYPE_CODE_FUNCTION_OLD
Apparently LLVM only stopped emitting this after LLVM 3.0

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157325 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
734dde8e051d34ac34cc58eb31cf2e6fa3ac3f37 14-May-2012 Stepan Dyatkovskiy <stpworld@narod.ru> SwitchInst cosmetics: renamed "Hash" method to "hash"



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156757 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
1cce5bf8ef9ee3dc157ae5d8778f84a7a0d1d8b9 12-May-2012 Stepan Dyatkovskiy <stpworld@narod.ru> Recommited r156374 with critical fixes in BitcodeReader/Writer:
Ordinary patch for PR1255.
Added new case-ranges orientated methods for adding/removing cases in SwitchInst. After this patch cases will internally representated as ConstantArray-s instead of ConstantInt, externally cases wrapped within the ConstantRangesSet object.
Old methods of SwitchInst are also works well, but marked as deprecated. So on this stage we have no side effects except that I added support for case ranges in BitcodeReader/Writer, of course test for Bitcode is also added. Old "switch" format is also supported.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156704 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
006c7b969a04403f1b5fb39971f14af6f2405b5a 08-May-2012 Nuno Lopes <nunoplopes@sapo.pt> remove autoupgrade code for old function attributes format.
I still left another fixme regarding alignment, because I'm unsure how to remove that code without breaking things

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156387 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
f647c1b7776f34125441f6edeb449be63b470dd7 08-May-2012 Nuno Lopes <nunoplopes@sapo.pt> remove TYPE_CODE_FUNCTION_OLD type code. it is no longer in use and it was marked for removal in 3.0

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156383 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
1f9838347fdcc75cead228ec1758063074b89c6a 08-May-2012 Stepan Dyatkovskiy <stpworld@narod.ru> Rejected r156374: Ordinary PR1255 patch. Due to clang-x86_64-debian-fnt buildbot failure.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156377 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
85a4406959fe7794062d62d2f17226235630eee1 08-May-2012 Stepan Dyatkovskiy <stpworld@narod.ru> Ordinary patch for PR1255.
Added new case-ranges orientated methods for adding/removing cases in SwitchInst. After this patch cases will internally representated as ConstantArray-s instead of ConstantInt, externally cases wrapped within the ConstantRangesSet object.
Old methods of SwitchInst are also works well, but marked as deprecated. So on this stage we have no side effects except that I added support for case ranges in BitcodeReader/Writer, of course test for Bitcode is also added. Old "switch" format is also supported.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156374 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
0ffe6984297ece417e591003674d4466a201eb2a 29-Feb-2012 Derek Schuff <dschuff@google.com> Fix PR12080 by ensuring that MaterializeModule actually reads all the bitcode
in the streaming case.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151676 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
2ea93875b2f2900b9d244dfd7649c9ed02a34cd7 06-Feb-2012 Derek Schuff <dschuff@google.com> Enable streaming of bitcode

This CL delays reading of function bodies from initial parse until
materialization, allowing overlap of compilation with bitcode download.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149918 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
e185fada9bed375b7d73cfc675a466f0da843191 06-Feb-2012 Bill Wendling <isanbard@gmail.com> [unwind removal] Remove the 'unwind' instruction parsing bits.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149897 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
fccf0623ee35e0bbbbf0ba963a5500b7fd87fa11 06-Feb-2012 Derek Schuff <dschuff@google.com> Test commit; also removes some trailing whitespace



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149887 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
2237f8473580180c2a9571124f87c93991de342a 05-Feb-2012 Chris Lattner <sabre@nondot.org> Improve the bitcode reader's handling of constant strings to use
ConstantDataArray::getString direction, instead of "boxing" each
byte into a ConstantInt and using ConstantArray::get.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149805 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
d408f06048797a43b17a7740acb766cc5f0adfbb 30-Jan-2012 Chris Lattner <sabre@nondot.org> Add bitcode reader and writer support for ConstantDataAggregate, which
should be feature complete now. Lets see if it works.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149215 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
d629efa0642110fbc90c28d4be3da54ffb359750 27-Jan-2012 Chris Lattner <sabre@nondot.org> smallvectorize.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149117 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
164b86b4399559e45fab7846f1e3e09119cab4e2 20-Jan-2012 Kostya Serebryany <kcc@google.com> Extend Attributes to 64 bits

Problem: LLVM needs more function attributes than currently available (32 bits).
One such proposed attribute is "address_safety", which shows that a function is being checked for address safety (by AddressSanitizer, SAFECode, etc).

Solution:
- extend the Attributes from 32 bits to 64-bits
- wrap the object into a class so that unsigned is never erroneously used instead
- change "unsigned" to "Attributes" throughout the code, including one place in clang.
- the class has no "operator uint64 ()", but it has "uint64_t Raw() " to support packing/unpacking.
- the class has "safe operator bool()" to support the common idiom: if (Attributes attr = getAttrs()) useAttrs(attr);
- The CTOR from uint64_t is marked explicit, so I had to add a few explicit CTOR calls
- Add the new attribute "address_safety". Doing it in the same commit to check that attributes beyond first 32 bits actually work.
- Some of the functions from the Attribute namespace are worth moving inside the class, but I'd prefer to have it as a separate commit.

Tested:
"make check" on Linux (32-bit and 64-bit) and Mac (10.6)
built/run spec CPU 2006 on Linux with clang -O2.


This change will break clang build in lib/CodeGen/CGCall.cpp.
The following patch will fix it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148553 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
47f79bb58e42f1a08a7f388b8b1596ded7d49bbb 02-Jan-2012 Rafael Espindola <rafael.espindola@gmail.com> Materialize functions whose basic blocks are used by global variables. Fixes
PR11677.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147425 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
ce16339930a2b03e53b4e6399ef59c092a7f2cfa 17-Dec-2011 Dan Gohman <gohman@apple.com> The powers that be have decided that LLVM IR should now support 16-bit
"half precision" floating-point with a first-class type.

This patch adds basic IR support (but not codegen support).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146786 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
cbbb09687f563fad96fd815a3a89920f436373e4 07-Dec-2011 Chad Rosier <mcrosier@apple.com> Begin adding experimental support for preserving use-list ordering of bitcode
files. First, add a new block USELIST_BLOCK to the bitcode format. This is
where USELIST_CODE_ENTRYs will be stored. The format of the USELIST_CODE_ENTRYs
have not yet been defined. Add support in the BitcodeReader for parsing the
USELIST_BLOCK.
Part of rdar://9860654 and PR5680.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146078 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
a7e6f74631d8a484b3c8e0d9546c221824ab42a5 27-Nov-2011 Chris Lattner <sabre@nondot.org> remove autoupgrade support for really old-style debug info intrinsics.
I think this is the last of autoupgrade that can be removed in 3.1.
Can the atomic upgrade stuff also go?


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145169 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
9d5f6ccd26615592361baa299fc5b450501fb1b0 27-Nov-2011 Chris Lattner <sabre@nondot.org> remove autoupgrade support for LLVM 2.9 exception stuff. Mainline supports
LLVM 3.0 and later.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145165 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
dbc88494eefd32274ff6e037df0000c0d0e871d2 27-Nov-2011 Chris Lattner <sabre@nondot.org> remove support for reading llvm 2.9 .bc files. LLVM 3.1 is only compatible back to 3.0


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145164 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
cde546497067bf2ed40b9473582212df4ccd8141 03-Nov-2011 Chad Rosier <mcrosier@apple.com> Remove some cruft from the BitcodeWriter, while still maintaining backward
compatibility in the BitcodeReader.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143598 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
e9b88cb393fde367d803a57556a6f93c8345383c 05-Oct-2011 Bill Wendling <isanbard@gmail.com> Also update the EH with bitcode. I missed this earlier. Thanks to Duncan for pointing it out.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141169 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
c3d3598425b5af392691b740dbe407b10605d839 19-Sep-2011 Eli Friedman <eli.friedman@gmail.com> Fix a typo in the bitcode reader in the handling of atomic stores. Reported by David Meyer on llvmdev.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140040 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
35726bfcaa852fcbcbda03613b7f9a59763003bc 01-Sep-2011 Bill Wendling <isanbard@gmail.com> Don't forget to add the landingpad and resume instructions to the InstructionList.

This was found via a nightly build of 483.xalancbmk.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138923 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
e6e8826870bee3facb04f950f0bd725f8a88623d 12-Aug-2011 Bill Wendling <isanbard@gmail.com> Initial commit of the 'landingpad' instruction.

This implements the 'landingpad' instruction. It's used to indicate that a basic
block is a landing pad. There are several restrictions on its use (see
LangRef.html for more detail). These restrictions allow the exception handling
code to gather the information it needs in a much more sane way.

This patch has the definition, implementation, C interface, parsing, and bitcode
support in it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137501 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
21006d40ac9ec7715bca2095451075a83773dc52 10-Aug-2011 Eli Friedman <eli.friedman@gmail.com> Representation of 'atomic load' and 'atomic store' in IR.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137170 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
6ff9aa2aa79d0f1927dc1a73b9d1ca1e08d2978b 10-Aug-2011 Chad Rosier <mcrosier@apple.com> Fix 80-column violations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137163 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
dccc03b2423fe65efb5963ae816b99c24fc53374 31-Jul-2011 Bill Wendling <isanbard@gmail.com> Add the 'resume' instruction for the new EH rewrite.

This adds the 'resume' instruction class, IR parsing, and bitcode reading and
writing. The 'resume' instruction resumes propagation of an existing (in-flight)
exception whose unwinding was interrupted with a 'landingpad' instruction (to be
added later).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136589 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
10c6d12a9fd4dab411091f64db4db69670b88850 30-Jul-2011 Bill Wendling <isanbard@gmail.com> Revert r136253, r136263, r136269, r136313, r136325, r136326, r136329, r136338,
r136339, r136341, r136369, r136387, r136392, r136396, r136429, r136430, r136444,
r136445, r136446, r136253 pending review.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136556 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
ff03048c1350fcc4fda1ef6d6c57252f3a950854 28-Jul-2011 Eli Friedman <eli.friedman@gmail.com> LangRef and basic memory-representation/reading/writing for 'cmpxchg' and
'atomicrmw' instructions, which allow representing all the current atomic
rmw intrinsics.

The allowed operands for these instructions are heavily restricted at the
moment; we can probably loosen it a bit, but supporting general
first-class types (where it makes sense) might get a bit complicated,
given how SelectionDAG works.

As an initial cut, these operations do not support specifying an alignment,
but it would be possible to add if we think it's useful. Specifying an
alignment lower than the natural alignment would be essentially
impossible to support on anything other than x86, but specifying a greater
alignment would be possible. I can't think of any useful optimizations which
would use that information, but maybe someone else has ideas.

Optimizer/codegen support coming soon.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136404 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
7379b6650008fba555d5472d5c76e8efc59e8a21 28-Jul-2011 Bill Wendling <isanbard@gmail.com> The personality function should be a Function* and not just a Value*.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136392 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
28d735230f0b3ac964f07e91594fb6c38772f0e6 28-Jul-2011 Bill Wendling <isanbard@gmail.com> Make sure that the landingpad instruction takes a Constant* as the clause's value.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136326 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
772fe17a6d07304ae2e6b3052bbb24ebb751f0f3 27-Jul-2011 Bill Wendling <isanbard@gmail.com> Merge the contents from exception-handling-rewrite to the mainline.

This adds the new instructions 'landingpad' and 'resume'.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136253 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
47f3513dd574535aeb40c9eb11134f0899e92269 26-Jul-2011 Eli Friedman <eli.friedman@gmail.com> Initial implementation of 'fence' instruction, the new C++0x-style replacement for llvm.memory.barrier.

This is just a LangRef entry and reading/writing/memory representation; optimizer+codegen support coming soon.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136009 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
a9203109f4ac95aa7e9624f2838e3d89623ec902 25-Jul-2011 Jay Foad <jay.foad@gmail.com> Convert GetElementPtrInst to use ArrayRef.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135904 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
4b5e207bf24ea9799547a0634acaf7398b32897c 21-Jul-2011 Jay Foad <jay.foad@gmail.com> Make better use of ConstantExpr::getGetElementPtr's InBounds parameter.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135676 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
dab3d29605a5c83db41b28176273ef55961120c1 21-Jul-2011 Jay Foad <jay.foad@gmail.com> Convert ConstantExpr::getGetElementPtr and
ConstantExpr::getInBoundsGetElementPtr to use ArrayRef.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135673 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
3ba292dbc2acee2d1052fb7ffe332e2164147b47 18-Jul-2011 Jeffrey Yasskin <jyasskin@google.com> Add APInt(numBits, ArrayRef<uint64_t> bigVal) constructor to prevent future ambiguity
errors like the one corrected by r135261. Migrate all LLVM callers of the old
constructor to the new one.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135431 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
a3efbb15ddd5aa9006564cd79086723640084878 15-Jul-2011 Jay Foad <jay.foad@gmail.com> Convert CallInst and InvokeInst APIs to use ArrayRef.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135265 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
fc6d3a49867cd38954dc40936a88f1907252c6d2 13-Jul-2011 Jay Foad <jay.foad@gmail.com> Convert InsertValueInst and ExtractValueInst APIs to use ArrayRef.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135040 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
5fdd6c8793462549e3593890ec61573da06e3346 12-Jul-2011 Jay Foad <jay.foad@gmail.com> Second attempt at de-constifying LLVM Types in FunctionType::get(),
StructType::get() and TargetData::getIntPtrType().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134982 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
2280ebd61416b73d0b6137f275b25af82e268d1f 12-Jul-2011 Bill Wendling <isanbard@gmail.com> Revert r134893 and r134888 (and related patches in other trees). It was causing
an assert on Darwin llvm-gcc builds.

Assertion failed: (castIsValid(op, S, Ty) && "Invalid cast!"), function Create, file /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.llvm-gcc-i386-darwin9-RA/llvm.src/lib/VMCore/Instructions.cpp, li\
ne 2067.
etc.

http://smooshlab.apple.com:8013/builders/llvm-gcc-i386-darwin9-RA/builds/2354

--- Reverse-merging r134893 into '.':
U include/llvm/Target/TargetData.h
U include/llvm/DerivedTypes.h
U tools/bugpoint/ExtractFunction.cpp
U unittests/Support/TypeBuilderTest.cpp
U lib/Target/ARM/ARMGlobalMerge.cpp
U lib/Target/TargetData.cpp
U lib/VMCore/Constants.cpp
U lib/VMCore/Type.cpp
U lib/VMCore/Core.cpp
U lib/Transforms/Utils/CodeExtractor.cpp
U lib/Transforms/Instrumentation/ProfilingUtils.cpp
U lib/Transforms/IPO/DeadArgumentElimination.cpp
U lib/CodeGen/SjLjEHPrepare.cpp
--- Reverse-merging r134888 into '.':
G include/llvm/DerivedTypes.h
U include/llvm/Support/TypeBuilder.h
U include/llvm/Intrinsics.h
U unittests/Analysis/ScalarEvolutionTest.cpp
U unittests/ExecutionEngine/JIT/JITTest.cpp
U unittests/ExecutionEngine/JIT/JITMemoryManagerTest.cpp
U unittests/VMCore/PassManagerTest.cpp
G unittests/Support/TypeBuilderTest.cpp
U lib/Target/MBlaze/MBlazeIntrinsicInfo.cpp
U lib/Target/Blackfin/BlackfinIntrinsicInfo.cpp
U lib/VMCore/IRBuilder.cpp
G lib/VMCore/Type.cpp
U lib/VMCore/Function.cpp
G lib/VMCore/Core.cpp
U lib/VMCore/Module.cpp
U lib/AsmParser/LLParser.cpp
U lib/Transforms/Utils/CloneFunction.cpp
G lib/Transforms/Utils/CodeExtractor.cpp
U lib/Transforms/Utils/InlineFunction.cpp
U lib/Transforms/Instrumentation/GCOVProfiling.cpp
U lib/Transforms/Scalar/ObjCARC.cpp
U lib/Transforms/Scalar/SimplifyLibCalls.cpp
U lib/Transforms/Scalar/MemCpyOptimizer.cpp
G lib/Transforms/IPO/DeadArgumentElimination.cpp
U lib/Transforms/IPO/ArgumentPromotion.cpp
U lib/Transforms/InstCombine/InstCombineCompares.cpp
U lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
U lib/Transforms/InstCombine/InstCombineCalls.cpp
U lib/CodeGen/DwarfEHPrepare.cpp
U lib/CodeGen/IntrinsicLowering.cpp
U lib/Bitcode/Reader/BitcodeReader.cpp



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134949 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
f362affa3a695164a94d275fb44d18f44ebb855a 11-Jul-2011 Jay Foad <jay.foad@gmail.com> De-constify Types in FunctionType::get().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134888 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
267010864e139781ef5949939e081c41f954de0a 22-Jun-2011 Jay Foad <jay.foad@gmail.com> Replace the existing forms of ConstantArray::get() with a single form
that takes an ArrayRef.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133615 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
b065b06c12dba6001b8140df2744d0c856ef6ea1 20-Jun-2011 Chris Lattner <sabre@nondot.org> Revamp the "ConstantStruct::get" methods. Previously, these were scattered
all over the place in different styles and variants. Standardize on two
preferred entrypoints: one that takes a StructType and ArrayRef, and one that
takes StructType and varargs.

In cases where there isn't a struct type convenient, we now add a
ConstantStruct::getAnon method (whose name will make more sense after a few
more patches land).

It would be "really really nice" if the ConstantStruct::get and
ConstantVector::get methods didn't make temporary std::vectors.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133412 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
4f6bab98c54a93276b8370d3f61f63bf765f7e1f 17-Jun-2011 Chris Lattner <sabre@nondot.org> Drop the "2" suffix on some enums.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133274 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
96a74c57d9e8fe0595ba8308eec1276cf8bcf6b0 17-Jun-2011 Chris Lattner <sabre@nondot.org> remove support for a bunch of obsolete instruction encodings
and other backward compatibility hacks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133273 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
9d61dd9a088be975df4beb4632a39ed009bd0ef5 17-Jun-2011 Chris Lattner <sabre@nondot.org> Remove some "2" suffixes from the metadata enums now that "1" is gone.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133269 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
020a5a449f297ced1f0fed08fb81c5da87fb7c9a 17-Jun-2011 Chris Lattner <sabre@nondot.org> remove bitcode reader support for LLVM 2.7 metadata encoding.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133268 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
c9687b32fab6d6ec53ac95dccf61d598be26d5dc 26-May-2011 Rafael Espindola <rafael.espindola@gmail.com> Fix LTO builds with xcode 4.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132132 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
ec9186bcf975c9ffa3ec7ca97867f0ec6eb55115 21-Apr-2011 Jay Foad <jay.foad@gmail.com> PR9214: Convert Metadata API to use ArrayRef.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129932 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
b81e457eb02b67a9ef5fb9edc1604b177acb821d 13-Apr-2011 Jay Foad <jay.foad@gmail.com> PR9214: Convert ConstantExpr::getWithOperands() to use ArrayRef.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129439 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
5d7a5a4f53304869ae5b76771ab67213447b65a5 11-Apr-2011 Bill Wendling <isanbard@gmail.com> Revert r129235 pending a vetting of the EH rewrite.
--- Reverse-merging r129235 into '.':
D test/Feature/bb_attrs.ll
U include/llvm/BasicBlock.h
U include/llvm/Bitcode/LLVMBitCodes.h
U lib/VMCore/AsmWriter.cpp
U lib/VMCore/BasicBlock.cpp
U lib/AsmParser/LLParser.cpp
U lib/AsmParser/LLLexer.cpp
U lib/AsmParser/LLToken.h
U lib/Bitcode/Reader/BitcodeReader.cpp
U lib/Bitcode/Writer/BitcodeWriter.cpp



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129259 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
d7bb295d223e028aa9ba7fbeafc8928db4a74972 10-Apr-2011 Bill Wendling <isanbard@gmail.com> Beginning of the Great Exception Handling Rewrite.

* Add a "landing pad" attribute to the BasicBlock.
* Modify the bitcode reader and writer to handle said attribute.

Later: The verifier will ensure that the landing pad attribute is used in the
appropriate manner. I.e., not applied to the entry block, and applied only to
basic blocks that are branched to via a `dispatch' instruction.

(This is a work-in-progress.)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129235 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
3ecfc861b4365f341c5c969b40e1afccde676e6f 30-Mar-2011 Jay Foad <jay.foad@gmail.com> Remove PHINode::reserveOperandSpace(). Instead, add a parameter to
PHINode::Create() giving the (known or expected) number of operands.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128537 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
2ca5c8644e6c35b3a7910a576ed89cddb7b82c3b 15-Feb-2011 Chris Lattner <sabre@nondot.org> convert ConstantVector::get to use ArrayRef.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125537 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
75831904220042260c4faece8507a2807acba47f 14-Feb-2011 Chris Lattner <sabre@nondot.org> revert my ConstantVector patch, it seems to have made the llvm-gcc
builders unhappy.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125504 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
283c8caccd093f8e1d4f0bdd01ac240b4edbd20a 14-Feb-2011 Chris Lattner <sabre@nondot.org> Switch ConstantVector::get to use ArrayRef instead of a pointer+size
idiom. Change various clients to simplify their code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125487 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
f067d584a81ae771d301304ea885e55e2de8ee9a 07-Feb-2011 Chris Lattner <sabre@nondot.org> implement .ll and .bc support for nsw/nuw on shl and exact on lshr/ashr.
Factor some code better.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125006 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
35bda8914c0d1c02a6f90f42e7810c83150737e1 06-Feb-2011 Chris Lattner <sabre@nondot.org> enhance vmcore to know that udiv's can be exact, and add a trivial
instcombine xform to exercise this.

Nothing forms exact udivs yet though. This is progress on PR8862



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124992 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
67c619ba3eae68dcdb3f9340d82b33173aa0c256 11-Jan-2011 Jay Foad <jay.foad@gmail.com> FixedNumOperandTraits and VariadicOperandTraits assumed that, given a
"this" pointer for any subclass of User, you could static_cast it to
User* and then reinterpret_cast that to Use* to get the end of the
operand list. This isn't a safe assumption in general, because the
static_cast might adjust the "this" pointer. Fixed by having these
OperandTraits classes take an extra template parameter, which is the
subclass of User. This is groundwork for PR889.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123235 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
bea4626f93c830e31f82cc947df28fdae583cd09 08-Jan-2011 Rafael Espindola <rafael.espindola@gmail.com> First step in fixing PR8927:

Add a unnamed_addr bit to global variables and functions. This will be used
to indicate that the address is not significant and therefore the constant
or function can be merged with others.

If an optimization pass can show that an address is not used, it can set this.

Examples of things that can have this set by the FE are globals created to
hold string literals and C++ constructors.

Adding unnamed_addr to a non-const global should have no effect unless
an optimization can transform that global into a constant.

Aliases are not allowed to have unnamed_addr since I couldn't figure
out any use for it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123063 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
f22b74608ede59dabc55fab66f2142f369f9dbfb 28-Oct-2010 Duncan Sands <baldrick@free.fr> Fix PR8494: when reading invalid bitcode, getTypeByID may return
a null pointer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117551 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
34711747a1d2c8713e69333bacef1c880810e371 06-Oct-2010 Bill Wendling <isanbard@gmail.com> Provide a fast "get me the target triple from the module" API. This can
drastically reduce the linking time during LTO.

Patch by Shantonu Sen!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115728 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
b0db4d0ee7b50302fc3cfa04f46ddc4b4b73cd0b 28-Sep-2010 Bill Wendling <isanbard@gmail.com> Fix spelling.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114974 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
9b10dfb7d6ffb0e4466f908cd7d18212a45cfdac 13-Sep-2010 Dan Gohman <gohman@apple.com> Add full auto-upgrade support for LLVM 2.7 bitcode metadata.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113764 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
bb811a244567aa8a1522203f15588f4d001b7353 10-Sep-2010 Dale Johannesen <dalej@apple.com> Add X86 MMX type to bitcode and Type.
(The Ada bindings probably need it too, but all the
obvious places to change say "do not edit this file".)



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113618 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
de49f360ec4780acb382a3ae923d1716fdb0dc03 10-Sep-2010 Bill Wendling <isanbard@gmail.com> Auto-upgrade the magic ".llvm.eh.catch.all.value" global to
"llvm.eh.catch.all.value". Only the name needs to be changed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113600 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
70c2fc0823bcc3970fdebf18ba69449d7822af86 10-Sep-2010 Dan Gohman <gohman@apple.com> Discard metadata produced by LLVM 2.7. The value enumeration it used
is different from what the code now uses in a two ways: NamedMDNodes
were considered Values and included in the numbering, and the
function-local metadata counter wasn't reset between functions.

The later problem breaks lazy deserialization, so instead of trying
to emulate the old numbering, just drop the old metadata. The only
in-tree use case is debug info with LTO, where the QOI loss is
considered acceptable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113557 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
17aa68055beed6faa48ca3a995c5b6fdf5092fd4 04-Sep-2010 Chris Lattner <sabre@nondot.org> zap dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113073 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
61c70e98ac3c7504d31dd9bc81c4e9cb998e9984 28-Aug-2010 Chris Lattner <sabre@nondot.org> remove unions from LLVM IR. They are severely buggy and not
being actively maintained, improved, or extended.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112356 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
064ff3e4356584b793b4738f02b9fa6b1d863d76 25-Aug-2010 Dan Gohman <gohman@apple.com> Add a FIXME comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112083 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
698138384e94bf315b4bc67481400ffab65e5f93 25-Aug-2010 Dan Gohman <gohman@apple.com> Fix the bitcode reader to clear out function-specific state
from MDValueList between each function, now that the bitcode
writer is reusing the index space for function-local metadata.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112082 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
56e2a5774423047cd9b1a76e1e7b233567780ca6 25-Aug-2010 Dan Gohman <gohman@apple.com> Fix a bug found by inspection.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112081 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
6b9cb84f8c3c35d7d753aba1143371dc0d0a9ee3 25-Aug-2010 Dan Gohman <gohman@apple.com> Add a comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112080 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
55ae515f9db484125a23429d4906c5edaf9f10d2 21-Aug-2010 Bill Wendling <isanbard@gmail.com> Create the new linker type "linker_private_weak_def_auto".

It's similar to "linker_private_weak", but it's known that the address of the
object is not taken. For instance, functions that had an inline definition, but
the compiler decided not to inline it. Note, unlike linker_private and
linker_private_weak, linker_private_weak_def_auto may have only default
visibility. The symbols are removed by the linker from the final linked image
(executable or dynamic library).



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111684 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
489b29b0a4ee4526e3d50ad88d3d48745baf5042 21-Aug-2010 Dan Gohman <gohman@apple.com> Introduce a new temporary MDNode concept. Temporary MDNodes are
not part of the IR, are not uniqued, and may be safely RAUW'd.
This replaces a variety of alternate mechanisms for achieving
the same effect.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111681 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
8c8b9ee8c8646aa1a79c782d4da9abdf3eb4eefe 15-Aug-2010 Argyrios Kyrtzidis <akyrtzi@gmail.com> Revert r111082. No warnings for this common pattern.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111102 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
7268d97ae6c1680be96e5758c33cdd46efb6ce54 14-Aug-2010 Argyrios Kyrtzidis <akyrtzi@gmail.com> Add ATTRIBUTE_UNUSED to methods that are not supposed to be used.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111082 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
872814ae048df032bddf9299c850f5bda08299a9 21-Jul-2010 Dan Gohman <gohman@apple.com> Disallow null as a named metadata operand.
Make MDNode::destroy private.
Fix the one thing that used MDNode::destroy, outside of MDNode itself.

One should never delete or destroy an MDNode explicitly. MDNodes
implicitly go away when there are no references to them (implementation
details aside).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109028 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
19538d1e9fb4f8198b94f8450c6fc43528d8b868 20-Jul-2010 Dan Gohman <gohman@apple.com> Add support for remapping metadata kind IDs when reading in a
bitcode file, so that two bitcode files where the same metadata kind
name happens to have been assigned a different ID can still be
linked together.

Eliminate the restriction that metadata kind IDs can't be 0.

Change MD_dbg from 1 to 0, because we can now, and because it's
less mysterious that way.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108939 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
ac80975ea4103fcceab38cde69d98d3fb3b01db4 13-Jul-2010 Dan Gohman <gohman@apple.com> Add support for empty metadata nodes: !{}.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108259 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
c654d1b8c195a13413537a668f669fd9b0c7f226 09-Jul-2010 Gabor Greif <ggreif@gmail.com> cache result of operator*

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107979 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
5e721d768254a920b78b9129d79a84c0163cb3f4 01-Jul-2010 Bill Wendling <isanbard@gmail.com> Implement the "linker_private_weak" linkage type. This will be used for
Objective-C metadata types which should be marked as "weak", but which the
linker will remove upon final linkage. However, this linkage isn't specific to
Objective-C.

For example, the "objc_msgSend_fixup_alloc" symbol is defined like this:

.globl l_objc_msgSend_fixup_alloc
.weak_definition l_objc_msgSend_fixup_alloc
.section __DATA, __objc_msgrefs, coalesced
.align 3
l_objc_msgSend_fixup_alloc:
.quad _objc_msgSend_fixup
.quad L_OBJC_METH_VAR_NAME_1

This is different from the "linker_private" linkage type, because it can't have
the metadata defined with ".weak_definition".

Currently only supported on Darwin platforms.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107433 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
07d317711781d8c9268f7d6afcf1ba7eadf1d127 30-Jun-2010 Bill Wendling <isanbard@gmail.com> Revert r107205 and r107207.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107215 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
207855cff9b4811004b9720f28a5bd0adf3784b7 29-Jun-2010 Bill Wendling <isanbard@gmail.com> Introducing the "linker_weak" linkage type. This will be used for Objective-C
metadata types which should be marked as "weak", but which the linker will
remove upon final linkage. For example, the "objc_msgSend_fixup_alloc" symbol is
defined like this:

.globl l_objc_msgSend_fixup_alloc
.weak_definition l_objc_msgSend_fixup_alloc
.section __DATA, __objc_msgrefs, coalesced
.align 3
l_objc_msgSend_fixup_alloc:
.quad _objc_msgSend_fixup
.quad L_OBJC_METH_VAR_NAME_1

This is different from the "linker_private" linkage type, because it can't have
the metadata defined with ".weak_definition".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107205 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
a37dd3e6a5b0d2081bcd83a85183c33d3aba7cda 28-May-2010 Dan Gohman <gohman@apple.com> Bitcode support for allocas with arbitrary array size types.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104915 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
a4ae3a100d83a716dff81be7af7db5eb354517dc 02-Apr-2010 Dan Gohman <gohman@apple.com> If the bitcode reader input stream isn't a multiple of 4 bytes, it's more
likely not a bitcode file at all, rather than being a bitcode file which
is truncated. Check for this case and issue a more relevant error message.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100156 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
93b122d3c484a8451024d6947be0f4037f86def0 16-Mar-2010 Chris Lattner <sabre@nondot.org> reapply r98656 unmodified, which exposed the asmprinter not
handling constant unions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98680 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
b85c7100c5f1ef34bace56c6978eca429df798f6 16-Mar-2010 Daniel Dunbar <daniel@zuster.org> Revert r98656, its breaking all over the place.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98662 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
8b3b34f410f2bd05943e1c6f9b0514209731421d 16-Mar-2010 Chris Lattner <sabre@nondot.org> improve support for uniontype and ConstantUnion, patch by Tim Northover!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98656 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
b0bc6c361da9009e8414efde317d9bbff755f6c0 15-Feb-2010 Duncan Sands <baldrick@free.fr> Uniformize the names of type predicates: rather than having isFloatTy and
isInteger, we now have isFloatTy and isIntegerTy. Requested by Chris!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96223 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
fdfeb6976f07ad10d809b922ed7376ba2a3539be 12-Feb-2010 Chris Lattner <sabre@nondot.org> Add support for a union type in LLVM IR. Patch by Talin!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
f0356fe140af1a30587b9a86bcfb1b2c51b8ce20 27-Jan-2010 Jeffrey Yasskin <jyasskin@google.com> Kill ModuleProvider and ghost linkage by inverting the relationship between
Modules and ModuleProviders. Because the "ModuleProvider" simply materializes
GlobalValues now, and doesn't provide modules, it's renamed to
"GVMaterializer". Code that used to need a ModuleProvider to materialize
Functions can now materialize the Functions directly. Functions no longer use a
magic linkage to record that they're materializable; they simply ask the
GVMaterializer.

Because the C ABI must never change, we can't remove LLVMModuleProviderRef or
the functions that refer to it. Instead, because Module now exposes the same
functionality ModuleProvider used to, we store a Module* in any
LLVMModuleProviderRef and translate in the wrapper methods. The bindings to
other languages still use the ModuleProvider concept. It would probably be
worth some time to update them to follow the C++ more closely, but I don't
intend to do it.

Fixes http://llvm.org/PR5737 and http://llvm.org/PR5735.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94686 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
26793ed9749cf8999b2219d5d52a7b7a05bed505 25-Jan-2010 Dan Gohman <gohman@apple.com> Fix the bitcode reader to deserialize nuw/nsw/etc. bits properly in the case
of a forward-reference, which doesn't use an "abbrev" encoding.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94454 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
401f3258f6e72cbc3e1f5e17c3976b241feb1c66 21-Jan-2010 Nick Lewycky <nicholas@mxc.ca> Fix a crasher trying to fold each element in a comparison between two vectors
if one of the vectors didn't have elements (such as undef). Fixes PR 6096.

Fix an issue in the constant folder where fcmp (<2 x %ty>, <2 x %ty>) would
have <2 x i1> type if constant folding was successful and i1 type if it wasn't.
This exposed a related issue in the bitcode reader.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94069 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
fab9e99c0191a1f2b5b79aaa9f1f45b995168515 13-Jan-2010 Victor Hernandez <vhernandez@apple.com> Parse function-local metadata inside function blocks

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93337 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
23598502efa6a0c2daaa6c6efc519867c8445e8f 11-Jan-2010 Devang Patel <dpatel@apple.com> s/NextValueNo/NextMDValueNo while processing metadata.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93165 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
24e64df7ec25b55aa872c2ef33728dfbb8c353c4 10-Jan-2010 Victor Hernandez <vhernandez@apple.com> Compute isFunctionLocal in MDNode ctor or via argument in new function getWhenValsUnresolved().
Document PFS argument to ParseValID() and ConvertGlobalOrMetadataValIDToValue().



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93108 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
70644e92d810f36710bc289cda11e982b399fc88 09-Jan-2010 Chris Lattner <sabre@nondot.org> clean up this code, add a fixme.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93042 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
7f9664699e7596b130c57bb15710e31eee463fda 09-Jan-2010 Devang Patel <dpatel@apple.com> NamedMDNode element is either null or MDNode. Otherwise this is a malformed NamedMDNode record.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93037 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
3e30c2a3c54c50246e6cccf0c8842619e29fe66c 05-Jan-2010 Devang Patel <dpatel@apple.com> NamedMDNode is a collection MDNodes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92761 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
081134741b40b342fb2f85722c9cea5d412489a8 29-Dec-2009 Chris Lattner <sabre@nondot.org> Final step in the metadata API restructuring: move the
getMDKindID/getMDKindNames methods to LLVMContext (and add
convenience methods to Module), eliminating MetadataContext.
Move the state that it maintains out to LLVMContext.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92259 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
0eb419800ae51d6e0e00a656ede0627483755361 28-Dec-2009 Chris Lattner <sabre@nondot.org> rename getMDKind -> getMDKindID, make it autoinsert if an MD Kind
doesn't exist already, eliminate registerMDKind. Tidy up a bunch
of random stuff.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92225 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
9d0b704e3ea418441001dac4d1a56c2c224cdbf5 07-Nov-2009 Victor Hernandez <vhernandez@apple.com> Re-commit r86077 now that r86290 fixes the 179.art and 175.vpr ARM regressions.

Here is the original commit message:

This commit updates malloc optimizations to operate on malloc calls that have constant int size arguments.

Update CreateMalloc so that its callers specify the size to allocate:
MallocInst-autoupgrade users use non-TargetData-computed allocation sizes.
Optimization uses use TargetData to compute the allocation size.

Now that malloc calls can have constant sizes, update isArrayMallocHelper() to use TargetData to determine the size of the malloced type and the size of malloced arrays.
Extend getMallocType() to support malloc calls that have non-bitcast uses.

Update OptimizeGlobalAddressOfMalloc() to optimize malloc calls that have non-bitcast uses. The bitcast use of a malloc call has to be treated specially here because the uses of the bitcast need to be replaced and the bitcast needs to be erased (just like the malloc call) for OptimizeGlobalAddressOfMalloc() to work correctly.

Update PerformHeapAllocSRoA() to optimize malloc calls that have non-bitcast uses. The bitcast use of the malloc is not handled specially here because ReplaceUsesOfMallocWithGlobal replaces through the bitcast use.

Update OptimizeOnceStoredGlobal() to not care about the malloc calls' bitcast use.

Update all globalopt malloc tests to not rely on autoupgraded-MallocInsts, but instead use explicit malloc calls with correct allocation sizes.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86311 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
df98761d08ae091420b7e9c1366de7684400fc36 06-Nov-2009 Victor Hernandez <vhernandez@apple.com> Revert r86077 because it caused crashes in 179.art and 175.vpr on ARM

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86213 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
24f934d0551e33508c4ffd24318ea0e970db9810 05-Nov-2009 Victor Hernandez <vhernandez@apple.com> Update CreateMalloc so that its callers specify the size to allocate:
MallocInst-autoupgrade users use non-TargetData-computed allocation sizes.
Optimization uses use TargetData to compute the allocation size.

Now that malloc calls can have constant sizes, update isArrayMallocHelper() to use TargetData to determine the size of the malloced type and the size of malloced arrays.
Extend getMallocType() to support malloc calls that have non-bitcast uses.

Update OptimizeGlobalAddressOfMalloc() to optimize malloc calls that have non-bitcast uses. The bitcast use of a malloc call has to be treated specially here because the uses of the bitcast need to be replaced and the bitcast needs to be erased (just like the malloc call) for OptimizeGlobalAddressOfMalloc() to work correctly.

Update PerformHeapAllocSRoA() to optimize malloc calls that have non-bitcast uses. The bitcast use of the malloc is not handled specially here because ReplaceUsesOfMallocWithGlobal replaces through the bitcast use.

Update OptimizeOnceStoredGlobal() to not care about the malloc calls' bitcast use.

Update all globalopt malloc tests to not rely on autoupgraded-MallocInsts, but instead use explicit malloc calls with correct allocation sizes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86077 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
50b136dae90eb37f9fc9517a8638020db4f04f9c 28-Oct-2009 Chris Lattner <sabre@nondot.org> add bitcode reader support for blockaddress. We can now fully
round trip blockaddress through .ll and .bc files, so add a testcase.

There are still a bunch of places in the optimizer and other places
that need to be updated to work with these constructs, but at least
the basics are in now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85377 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
ab21db79ef1d2530880ad11f21f0b87ffca02dd4 28-Oct-2009 Chris Lattner <sabre@nondot.org> rename indbr -> indirectbr to appease the residents of #llvm.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85351 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
f9be95f867745b6754b2402b9b72f9eaeabd637f 27-Oct-2009 Chris Lattner <sabre@nondot.org> add enough support for indirect branch for the feature test to pass
(assembler,asmprinter, bc reader+writer) and document it. Codegen
currently aborts on it.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85274 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
22bbd9b9b89806fa9099442f8892f4e970ca54e9 26-Oct-2009 Daniel Dunbar <daniel@zuster.org> Suppress -Asserts warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85078 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
66284e063a1e46500acae48bdc0e4a00652021d1 24-Oct-2009 Victor Hernandez <vhernandez@apple.com> Auto-upgrade free instructions to calls to the builtin free function.
Update all analysis passes and transforms to treat free calls just like FreeInst.
Remove RaiseAllocations and all its tests since FreeInst no longer needs to be raised.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84987 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
9d89df169027035bf692b3d397bb93cff7bdc860 22-Oct-2009 Devang Patel <dpatel@apple.com> Hide MetadataContext implementation details.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84886 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
8ba2d5befc05ca73d3bac8708819bbbe759e2cf9 22-Oct-2009 Dale Johannesen <dalej@apple.com> Rename msasm to alignstack per review.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84795 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
68afa54033eccda0f55e920cb548588e71a45418 21-Oct-2009 Victor Hernandez <vhernandez@apple.com> Make changes to rev 84292 as requested by Chris Lattner.

Most changes are cleanup, but there is 1 correctness fix:
I fixed InstCombine so that the icmp is removed only if the malloc call is removed (which requires explicit removal because the Worklist won't DCE any calls since they can have side-effects).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84772 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
13ad5aaaff8a446758b402fd5e9aea22f5bc5682 17-Oct-2009 Victor Hernandez <vhernandez@apple.com> Autoupgrade malloc insts to malloc calls.
Update testcases that rely on malloc insts being present.

Also prematurely remove MallocInst handling from IndMemRemoval and RaiseAllocations to help pass tests in this incremental step.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84292 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
4360298d2bf3c1ba8595a415cfa235df0bc76335 13-Oct-2009 Dale Johannesen <dalej@apple.com> Add an "msasm" flag to inline asm as suggested in PR 5125.
A little ugliness is accepted to keep the binary file format
compatible. No functional change yet.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84020 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
a917bfe8c233055fad10d38c8dd61f55ed084868 13-Oct-2009 Devang Patel <dpatel@apple.com> Remove unnecessary assert.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84004 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
cf0fe8d813727383d630055bb9d1cde21b00b7e7 05-Oct-2009 Chris Lattner <sabre@nondot.org> strength reduce a ton of type equality tests to check the typeid (Through
the new predicates I added) instead of going through a context and doing a
pointer comparison. Besides being cheaper, this allows a smart compiler
to turn the if sequence into a switch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83297 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
58a230a4917592f5c529cb40e75bfc3e1c681b69 29-Sep-2009 Devang Patel <dpatel@apple.com> Only one custom meadata of each kind can be attached with an instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83105 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
a2148402ce39fb3aad09e98a32078d3853a01ae9 28-Sep-2009 Devang Patel <dpatel@apple.com> Do not use global typedef for MDKindID.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83016 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
3e0c99a26f365bddb667124db40a5734e35c5a2d 25-Sep-2009 Victor Hernandez <vhernandez@apple.com> Revert 82694 "Auto-upgrade malloc instructions to malloc calls." because it causes regressions in the nightly tests.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82784 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
96b930ddc7f0df9e278a5cb65ad77a559a20964e 24-Sep-2009 Victor Hernandez <vhernandez@apple.com> Auto-upgrade malloc instructions to malloc calls.

Reviewed by Devang Patel.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82694 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
f8dbee7cea072eb63ae343759975109553697bcb 08-Sep-2009 Dan Gohman <gohman@apple.com> Reappy r80998, now that the GlobalOpt bug that it exposed on MiniSAT is fixed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81172 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
59bf4fcc0680e75b408579064d1205a132361196 06-Sep-2009 Duncan Sands <baldrick@free.fr> Public and private corrections, warned about by icc (#304).
Patch by Erick Tryzelaar.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81107 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
92a97a9166e359e195d949e63d7e24a4a33284cf 06-Sep-2009 Daniel Dunbar <daniel@zuster.org> Revert "Include optional subclass flags, such as inbounds, nsw, etc., ...", this
breaks MiniSAT on x86_64.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81098 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
859fff476dfe8d83abdf4621b1d20062c0daa85c 04-Sep-2009 Dan Gohman <gohman@apple.com> Include optional subclass flags, such as inbounds, nsw, etc., in the
Constant uniquing tables. This allows distinct ConstantExpr objects
with the same operation and different flags.

Even though a ConstantExpr "a + b" is either always overflowing or
never overflowing (due to being a ConstantExpr), it's still necessary
to be able to represent it both with and without overflow flags at
the same time within the IR, because the safety of the flag may
depend on the context of the use. If the constant really does overflow,
it wouldn't ever be safe to use with the flag set, however the use
may be in code that is never actually executed.

This also makes it possible to merge all the flags tests into a single test.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80998 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
c0ff8c85dcc0bb3c58c15890b180dedaa726cb76 03-Sep-2009 Devang Patel <dpatel@apple.com> Add new value for given index in MDValuePtrs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80867 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
65c3c8f323198b99b88b109654194540cf9b3fa5 02-Sep-2009 Sandeep Patel <deeppatel1987@gmail.com> Retype from unsigned to CallingConv::ID accordingly. Approved by Bob Wilson.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80773 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
e4b275610a7a05b7ee4c0378a906a6330e4c4ab0 29-Aug-2009 Devang Patel <dpatel@apple.com> Reapply 79977.
Use MDNodes to encode debug info in llvm IR.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80406 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
824598883513789516a919651f4b35e7a638ec5c 26-Aug-2009 Devang Patel <dpatel@apple.com> Revert 79977. It causes llvm-gcc bootstrap failures on some platforms.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80073 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
1c8a23c440b1665ba422778cdc74a0c59ecaf39e 26-Aug-2009 Dan Gohman <gohman@apple.com> Eliminate the unused Context argument on one of the ICmpInst and FCmpInst
constructors.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80049 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
2a610c7387664bc557a35ce3bb4c0d4df56e4755 25-Aug-2009 Devang Patel <dpatel@apple.com> Update DebugInfo interface to use metadata, instead of special named llvm.dbg.... global variables, to encode debugging information in llvm IR. This is mostly a mechanical change that tests metadata support very well.

This change speeds up llvm-gcc by more then 6% at "-O0 -g" (measured by compiling InstructionCombining.cpp!)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79977 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
5078f84c82814e4d33846f9ef54281619d362f8a 20-Aug-2009 Dan Gohman <gohman@apple.com> Rename hasNoUnsignedOverflow and hasNoSignedOverflow to hasNoUnsignedWrap
and hasNoSignedWrap, for consistency with the nuw and nsw properties.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79539 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
dddfd34e32ff081409e5a1c95b991a898d63dff2 19-Aug-2009 Daniel Dunbar <daniel@zuster.org> Switch to SmallString::str from SmallString::c_str, and remove
SmallString::c_str.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79456 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
0e275dc53880a7f14f8b8c83cc6e0290a215492d 14-Aug-2009 Owen Anderson <resistor@mac.com> Actually privatize a IntegerTypes, and fix a few bugs exposed by this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78955 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
d7f2a6cb3fbc012763adb42fd967f6fefbb22a37 06-Aug-2009 Owen Anderson <resistor@mac.com> Privatize the StructType table, which unfortunately involves routing contexts through a number of APIs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78258 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
647e3016de18d2fc8b0f233a0b356809e3fdcc54 31-Jul-2009 Owen Anderson <resistor@mac.com> Move the metadata constructors back to 2.5 syntax.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77733 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
a7235ea7245028a0723e8ab7fd011386b3900777 31-Jul-2009 Owen Anderson <resistor@mac.com> Move a few more APIs back to 2.5 forms. The only remaining ones left to change back are
metadata related, which I'm waiting on to avoid conflicting with Devang.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77721 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
9e9a0d5fc26878e51a58a8b57900fcbf952c2691 31-Jul-2009 Owen Anderson <resistor@mac.com> Move more code back to 2.5 APIs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77635 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
debcb01b0f0a15f568ca69e8f288fade4bfc7297 30-Jul-2009 Owen Anderson <resistor@mac.com> Move types back to the 2.5 API.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77516 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
baf3c404409d5e47b13984a7f95bfbd6d1f2e79e 29-Jul-2009 Owen Anderson <resistor@mac.com> Move ConstantExpr to 2.5 API.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77494 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
af7ec975870f92245f1f1484ac80a1e2db6a0afa 28-Jul-2009 Owen Anderson <resistor@mac.com> Return ConstantVector to 2.5 API.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
1fd7096407d5e598ed3366a1141548e71273f1c5 28-Jul-2009 Owen Anderson <resistor@mac.com> Change ConstantArray to 2.5 API.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77347 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
8fa3338ed2400c1352b137613d2c2c70d1ead695 28-Jul-2009 Owen Anderson <resistor@mac.com> Move ConstantStruct back to 2.5 API.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77266 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
dd8004dc73d091ccb3927dbbc3b41639a3738ae3 27-Jul-2009 Dan Gohman <gohman@apple.com> Add a new keyword 'inbounds' for use with getelementptr. See the
LangRef.html changes for details.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77259 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
6f83c9c6ef0e7f79825a0a8f22941815e4b684c7 27-Jul-2009 Owen Anderson <resistor@mac.com> Move ConstantFP construction back to the 2.5-ish API.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77247 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
3f53fa9a51c4ce7ba81170ca7ab2e49bd37281b0 26-Jul-2009 Daniel Dunbar <daniel@zuster.org> Remove Value::setName(const char*, unsigned).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77100 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
92ccf70ad448eb02f9f273d2c70ae4708b3bd0f2 25-Jul-2009 Daniel Dunbar <daniel@zuster.org> Finish migrating VMCore to StringRef/Twine based APIs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77051 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
a3500da5592aee83675d6714d4f1e9d5ad96d1f2 25-Jul-2009 Eric Christopher <echristo@apple.com> Move ExtractElementInst to ::Create instead of new. Update all uses.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77044 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
eed707b1e6097aac2bb6b3d47271f6300ace7f2e 25-Jul-2009 Owen Anderson <resistor@mac.com> Revert the ConstantInt constructors back to their 2.5 forms where possible, thanks to contexts-on-types. More to come.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
2f9c3b002d3cb465fefc5f4b2535ca994c5e9283 23-Jul-2009 Devang Patel <dpatel@apple.com> MDString
- Rename member function size(). New name is length().
- Store string beginning and length. Earlier it used to store string end.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76841 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
1224c386981f7948f298ed9ad444c40609570f2e 20-Jul-2009 Dan Gohman <gohman@apple.com> Assembly and Bitcode support for unsigned/signed overflow flags and
exact sdiv flags.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76475 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
3d10a5a75794356a0a568ce283713adc3a963200 20-Jul-2009 Bill Wendling <isanbard@gmail.com> Add plumbing for the `linker_private' linkage type. This type is meant for
"private" symbols which the assember shouldn't strip, but which the linker may
remove after evaluation. This is mostly useful for Objective-C metadata.

This is plumbing, so we don't have a use of it yet. More to come, etc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76385 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
50dead06ffc107edb7e84857baaeeb09039c631c 16-Jul-2009 Owen Anderson <resistor@mac.com> Revert yesterday's change by removing the LLVMContext parameter to AllocaInst and MallocInst.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75863 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
9adc0abad3c3ed40a268ccbcee0c74cb9e1359fe 15-Jul-2009 Owen Anderson <resistor@mac.com> Move EVER MORE stuff over to LLVMContext.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75703 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
333c40096561218bc3597cf153c0a3895274414c 10-Jul-2009 Owen Anderson <resistor@mac.com> This started as a small change, I swear. Unfortunately, lots of things call the [I|F]CmpInst constructors. Who knew!?


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75200 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
e9b11b431308f4766b73cda93e38ec930c912122 08-Jul-2009 Owen Anderson <resistor@mac.com> Switch GlobalVariable ctors to a sane API, where *either* a context or a module is required.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75025 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
7f6aa2b162e5daaf7b9ccf05d749597d3d7cf460 08-Jul-2009 Nick Lewycky <nicholas@mxc.ca> Remove the vicmp and vfcmp instructions. Because we never had a release with
these instructions, no autoupgrade or backwards compatibility support is
provided.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74991 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
3d29df3e8a203b167d8071ea6f805b21db18a5af 08-Jul-2009 Owen Anderson <resistor@mac.com> Push LLVMContext through GlobalVariables and IRBuilder.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74985 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
74a77812d1785ad6c62226c52dcd4d129b3cdd0b 07-Jul-2009 Owen Anderson <resistor@mac.com> LLVMContext-ify the bitcode reader.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74942 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
a41a5dc3b761c175b21c3c2b18efb0edc07567de 07-Jul-2009 Devang Patel <dpatel@apple.com> !"i" is a valid MDString.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74881 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
4434ed44c45c87a72b7a0bf2f91211f895022b91 02-Jul-2009 Owen Anderson <resistor@mac.com> Make the use of const with respect to LLVMContext sane. Hopefully this is the last time, for the
moment, that I will need to make far-reaching changes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74655 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
31895e73591d3c9ceae731a1274c8f56194b9616 01-Jul-2009 Owen Anderson <resistor@mac.com> Hold the LLVMContext by reference rather than by pointer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
8b477ed579794ba6d76915d56b3f448a7dd20120 01-Jul-2009 Owen Anderson <resistor@mac.com> Add a pointer to the owning LLVMContext to Module. This requires threading LLVMContext through a lot
of the bitcode reader and ASM parser APIs, as well as supporting it in all of the tools.

Patches for Clang and LLVM-GCC to follow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74614 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
714fa95d01ce1a646b52bc529f3dbcf6a06fa29b 16-Jun-2009 Chris Lattner <sabre@nondot.org> Fix PR4336: Iterating over use-def chains doesn't seem to be deterministic.

The problem was that BitcodeReader::materializeModule would read functions
from the bc file in densemap pointer key order (doubly non-deterministic!),
which would cause the use-def chains to be set up for globals in
non-determinstic order. Non-determinstic use/def chains can cause
nondeterminism in many places down-stream.

Many thanks to Julien Lerouge for putting together the pass in the PR that
shows the issue!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73470 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
ae3a0be92e33bc716722aa600983fc1535acb122 05-Jun-2009 Dan Gohman <gohman@apple.com> Split the Add, Sub, and Mul instruction opcodes into separate
integer and floating-point opcodes, introducing
FAdd, FSub, and FMul.

For now, the AsmParser, BitcodeReader, and IRBuilder all preserve
backwards compatability, and the Core LLVM APIs preserve backwards
compatibility for IR producers. Most front-ends won't need to change
immediately.

This implements the first step of the plan outlined here:
http://nondot.org/sabre/LLVMNotes/IntegerOverflow.txt


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72897 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
3728a0253492cafc02893fc89890ed3452754970 01-Jun-2009 Nick Lewycky <nicholas@mxc.ca> Update the bitcode reader to support reading .bc files where the embedded
metadata references non-Constant values such as instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72685 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
88b7293f49b6f341e5f672c4bb24d7be17bc4a1f 31-May-2009 Nick Lewycky <nicholas@mxc.ca> Fix typo in error message.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
7a0370f66ab5739f42ffe822f33494e0de9b182b 30-May-2009 Nick Lewycky <nicholas@mxc.ca> Give embedded metadata its own type instead of relying on EmptyStructTy.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72610 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
962dde3cef3184f1683d5070c298c9a29509d62e 26-Apr-2009 Chris Lattner <sabre@nondot.org> 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
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
266c7bbbbcc4b326dea82e577de1a415d6acc23e 13-Apr-2009 Chris Lattner <sabre@nondot.org> Add a new "available_externally" linkage type. This is intended
to support C99 inline, GNU extern inline, etc. Related bugzilla's
include PR3517, PR3100, & PR2933. Nothing uses this yet, but it
appears to work.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68940 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
e2a466bfa9e4f43c90602da5f602c16c2c83c866 06-Apr-2009 Chris Lattner <sabre@nondot.org> 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
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
21cc4460efa104e8591b05a90f20130291614344 04-Apr-2009 Nick Lewycky <nicholas@mxc.ca> Add support for embedded metadata to LLVM. This introduces two new types of
Constant, MDString and MDNode which can only be used by globals with a name
that starts with "llvm." or as arguments to a function with the same naming
restriction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68420 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
7d9eb5884c34d0b6d9912d1f972327eedc62d60a 01-Apr-2009 Chris Lattner <sabre@nondot.org> fix a serious regression I introduced in my previous patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68173 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
46e7740a4433383e6e5561f089a091c22125bd07 01-Apr-2009 Chris Lattner <sabre@nondot.org> reimplement BitcodeReaderValueList in terms of WeakVH instead of making
it be an LLVM IR User object.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68156 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
1b25cb2416c46a6cebf2a6c52235e9fe46a10d11 23-Mar-2009 Dale Johannesen <dalej@apple.com> Fix internal representation of fp80 to be the
same as a normal i80 {low64, high16} rather
than its own {high64, low16}. A depressing number
of places know about this; I think I got them all.
Bitcode readers and writers convert back to the old
form to avoid breaking compatibility.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67562 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
4dc2b39bf89d7c87868008ef8a0f807e0419aca6 11-Mar-2009 Duncan Sands <baldrick@free.fr> It makes no sense to have a ODR version of common
linkage, so remove it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66690 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
5f4ee1fc5d00ae55c30fa2ce450c69be4c6d6e63 11-Mar-2009 Duncan Sands <baldrick@free.fr> Remove the one-definition-rule version of extern_weak
linkage: this linkage type only applies to declarations,
but ODR is only relevant to globals with definitions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66650 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
667d4b8de6dea70195ff12ef39a4deebffa2f5c7 07-Mar-2009 Duncan Sands <baldrick@free.fr> Introduce new linkage types linkonce_odr, weak_odr, common_odr
and extern_weak_odr. These are the same as the non-odr versions,
except that they indicate that the global will only be overridden
by an *equivalent* global. In C, a function with weak linkage can
be overridden by a function which behaves completely differently.
This means that IP passes have to skip weak functions, since any
deductions made from the function definition might be wrong, since
the definition could be replaced by something completely different
at link time. This is not allowed in C++, thanks to the ODR
(One-Definition-Rule): if a function is replaced by another at
link-time, then the new function must be the same as the original
function. If a language knows that a function or other global can
only be overridden by an equivalent global, it can give it the
weak_odr linkage type, and the optimizers will understand that it
is alright to make deductions based on the function body. The
code generators on the other hand map weak and weak_odr linkage
to the same thing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66339 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
0f123cf732ad249117b7471e37bf819633b76a6e 12-Feb-2009 Nate Begeman <natebegeman@mac.com> Add suppport for ConstantExprs of shufflevectors whose result type is not equal to the
type of the vectors being shuffled.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64401 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
ba120aa5fa94f3d33afb33c63a43c3ff046a93b4 03-Feb-2009 Chris Lattner <sabre@nondot.org> fix a bitcode reader bug where it can't handle extractelement correctly:
the index of the value being extracted is always an i32. This fixes PR3465


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63597 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
bb46f52027416598a662dc1c58f48d9d56b1a65b 15-Jan-2009 Rafael Espindola <rafael.espindola@gmail.com> Add the private linkage.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62279 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
73ddd4f00dd2a4b7b68a1500bc7e3322cab51270 19-Dec-2008 Nick Lewycky <nicholas@mxc.ca> Commit missed files from nocapture change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61240 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
6fa311c2338391b0f332c062b3140c6df139a949 16-Dec-2008 Bill Wendling <isanbard@gmail.com> Temporarily revert r61019, r61030, and r61040. These were breaking LLVM Release
builds.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61094 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
e642658480ed0c9cde023a165edca237ba90bd31 15-Dec-2008 Nick Lewycky <nicholas@mxc.ca> Introducing nocapture, a parameter attribute for pointers to indicate that the
callee will not introduce any new aliases of that pointer.

The attributes had all bits allocated already, so I decided to collapse
alignment. Alignment was previously stored as a 16-bit integer from bits 16 to
32 of the attribute, but it was required to be a power of 2. Now it's stored in
log2 encoded form in five bits from 16 to 21. That gives us 11 more bits of
space.

You may have already noticed that you only need four bits to encode a 16-bit
power of two, so why five bits? Because the AsmParser accepted 32-bit
alignments, even though we couldn't store them (they were silently discarded).
Now we can store them in memory, but not in the bitcode.

The bitcode format was already storing these as 64-bit VBR integers. So, the
bitcode format stays the same, keeping the alignment values stored as 16 bit
raw values. There's some hideous code in the reader and writer that deals with
this, waiting to be ripped out the moment we run out of bits again and have to
replace the parameter attributes table encoding.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61019 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
aeb06d246254e4829a49164a11eacced9a43d9d4 10-Nov-2008 Mon P Wang <wangmp@apple.com> Added support for the following definition of shufflevector
<result> = shufflevector <n x <ty>> <v1>, <n x <ty>> <v2>, <m x i32> <mask>



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58964 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
9a6cb1598060e7c33115ffad55e176a737bac99a 05-Oct-2008 Chris Lattner <sabre@nondot.org> make the autoupgrade code for ret attributes dramatically simpler
and actually work. We can now read the llvm 2.3 bc file from PR2849



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57122 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
19c874638d9478a5d5028854817a5ee72293bb2b 27-Sep-2008 Devang Patel <dpatel@apple.com> Now Attributes are divided in three groups
- return attributes - inreg, zext and sext
- parameter attributes
- function attributes - nounwind, readonly, readnone, noreturn

Return attributes use 0 as the index.
Function attributes use ~0U as the index.

This patch requires corresponding changes in llvm-gcc and clang.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56704 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
e3d76d37e972d6f7b1335a3944ce31ae8f4cd3c9 24-Sep-2008 Devang Patel <dpatel@apple.com> s/ParamAttrsWithIndex/FnAttributeWithIndex/g


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56535 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
d9b4a5f859188cbb168c223071b413e58c53c925 24-Sep-2008 Devang Patel <dpatel@apple.com> Use parameter attribute store (soon to be renamed) for
Function Notes also. Function notes are stored at index ~0.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56511 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
fb2bbbe78674a34e5ec2ec6f8c566ac5cbb26154 16-Sep-2008 Dan Gohman <gohman@apple.com> Re-enables the new vector select in the bitcode reader, by modifying the
bitcode reader/writer as follows:

- add and use new bitcode FUNC_CODE_INST_VSELECT to handle the llvm
select opcode using either i1 or [N x i1] as the selector.
- retain old BITCODE FUNC_CODE_INST_SELECT in the bitcode reader to
handle select on i1 for backwards compatibility with existing bitcode
files.
- re-enable the vector-select.ll test program.

Also, rename the recently added bitcode opcode FUNC_CODE_INST_VCMP to
FUNC_CODE_INST_CMP2 and make the bitcode writer use it to handle
fcmp/icmp on scalars or vectors. In the bitcode writer, use
FUNC_CODE_INST_CMP for vfcmp/vicmp only. In the bitcode reader, have
FUNC_CODE_INST_CMP handle icmp/fcmp returning bool, for backwards
compatibility with existing bitcode files.

Patch by Preston Gurd!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56233 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
be919409ccbf166340fe8484fc95efc903e56699 09-Sep-2008 Dan Gohman <gohman@apple.com> Temporarily disable vector select in the bitcode reader. The
way it handles the type of the condition is breaking plain
scalar select in the case that the value is a
forward-reference.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55976 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
f72fb679eff7de84e3e18b75d63a18cb3510bcdd 09-Sep-2008 Dan Gohman <gohman@apple.com> Extend the vcmp/fcmp LLVM IR instructions to take vectors as arguments
and, if so, to return a vector of boolean as a result;

Extend the select LLVM IR instruction to allow you to specify a result
type which is a vector of boolean, in which case the result will be an
element-wise selection instead of choosing one vector or the other; and

Update LangRef.html to describe these changes.

This patch was contributed by Preston Gurd!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55969 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
7ad033c9e7a6b164fe971be82f6dc8ec9dc977b3 02-Sep-2008 Devang Patel <dpatel@apple.com> Read and write function notes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55657 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
b6135a054d46c00e2ba604e8f509de48e6dcfde6 21-Aug-2008 Chris Lattner <sabre@nondot.org> Switch from an O(n) method to an O(1) method for changing non-constant
operands.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55127 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
ea693dfab48ee6fc07cc21abc20f487df5057a6b 21-Aug-2008 Chris Lattner <sabre@nondot.org> recommit bcreader, handling packed structs correctly. Apparently
people want fast *and* correct. Sheesh.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55102 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
44925966abca7b3106a6ff5d7b6160216b204407 21-Aug-2008 Daniel Dunbar <daniel@zuster.org> Revert 55090, regressions in:
- Postgres
- llvm-test/SingleSource/UnitTests/{2006-01-23-InitializedBitField,
2004-11-28-GlobalBoolLayout, 2003-05-02-DependentPHI}


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55100 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
f4a97da4072a2ee4aca3c668a9fa113c06fdef8d 21-Aug-2008 Chris Lattner <sabre@nondot.org> Fix an N^2 issue handling constant resolution due to RAUW in large arrays
this speeds up the bcreader from 6.67s to 0.12s on a testcase Daniel
provided. rdar://6158117



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55090 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
5eca075b74d62c621b160aa216b4cd50829a2cc7 17-Aug-2008 Gordon Henriksen <gordonhenriksen@mac.com> Rename some GC classes so that their roll will hopefully be clearer.

In particular, Collector was confusing to implementors. Several
thought that this compile-time class was the place to implement
their runtime GC heap. Of course, it doesn't even exist at runtime.
Specifically, the renames are:

Collector -> GCStrategy
CollectorMetadata -> GCFunctionInfo
CollectorModuleMetadata -> GCModuleInfo
CollectorRegistry -> GCRegistry
Function::getCollector -> getGC (setGC, hasGC, clearGC)

Several accessors and nested types have also been renamed to be
consistent. These changes should be obvious.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54899 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
fc74abfba5128544a750fce22fdf13eb0403e3ce 23-Jul-2008 Dan Gohman <gohman@apple.com> Enable first-class aggregates support.

Remove the GetResultInst instruction. It is still accepted in LLVM assembly
and bitcode, where it is now auto-upgraded to ExtractValueInst. Also, remove
support for return instructions with multiple values. These are auto-upgraded
to use InsertValueInst instructions.

The IRBuilder still accepts multiple-value returns, and auto-upgrades them
to InsertValueInst instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53941 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
e089160d1065d83986fd97fae7f0af08c03e7d47 22-Jul-2008 Dan Gohman <gohman@apple.com> InsertValue and ExtractValue constant expressions are always
folded. Remove code that handled the case where they aren't
folded, and remove bitcode reader/writer support for them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53887 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
6fa6a32e4e2fdbb77c82fd7f64a7232cdcac994e 09-Jul-2008 Chris Lattner <sabre@nondot.org> Add a little wrapper header that is put around bc files when emitting
bc files for modules with a target triple that indicates they are for
darwin. The reader unconditionally handles this, and the writer could
turn this on for more targets if we care.

This change has two benefits for darwin:

1) it allows us to encode the cpu type of the file in an easy to read
place that doesn't require decoding the bc file.
2) it works around a bug (IMO) in darwin's AR where it is incapable of
handling files that are not a multiple of 8 bytes long. BC files
are only guaranteed to be multiples of 4 bytes long.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53275 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
0aab28bf4c3ec21c2a068733373e37c68c376171 31-May-2008 Dan Gohman <gohman@apple.com> Improved bitcode support for insertvalue/extractvalue.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51822 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
81a0c0b44e582baca8b68754a7fcabfc3aef2e7a 31-May-2008 Dan Gohman <gohman@apple.com> IR, bitcode reader, bitcode writer, and asmparser changes to
insertvalue and extractvalue to use constant indices instead of
Value* indices. And begin updating LangRef.html.

There's definately more to come here, but I'm checking this
basic support in now to make it available to people who are
interested.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51806 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
6c80c381601b17207b6b8f898cfe273a37584d52 26-May-2008 Gabor Greif <ggreif@gmail.com> eliminate calls to deprecated Use::init() interface

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51570 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
7cbd8a3e92221437048b484d5ef9c0a22d0f8c58 16-May-2008 Gabor Greif <ggreif@gmail.com> API change for {BinaryOperator|CmpInst|CastInst}::create*() --> Create. Legacy interfaces will be in place for some time. (Merge from use-diet branch.)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51200 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
b1dbcd886a4b5597a839f299054b78b33fb2d6df 15-May-2008 Gabor Greif <ggreif@gmail.com> Fix a bunch of 80col violations that arose from the Create API change. Tweak makefile targets to find these better.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51143 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
aafce77b17d340aace52bcd49d1944109d82f14a 14-May-2008 Dale Johannesen <dalej@apple.com> Add CommonLinkage; currently tentative definitions
are represented as "weak", but there are subtle differences
in some cases on Darwin, so we need both. The intent
is that "common" will behave identically to "weak" unless
somebody changes their target to do something else.
No functional change as yet.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51118 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
baa64ebd26d1788a1824c8855a54123dcb9e8668 12-May-2008 Nate Begeman <natebegeman@mac.com> Simplify some checks


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50998 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
51d2ed179b34646f3e02da59fe100dd595c365b3 12-May-2008 Nate Begeman <natebegeman@mac.com> Pointer comparisons should use icmp, not vicmp


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
c83ad0d8e7c845c53874d150df2f0503cc77f6e6 12-May-2008 Nate Begeman <natebegeman@mac.com> Pointer comparisons should be handled by icmp, not vicmp :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50994 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
ac80ade1580378e484e24c9f66d2fa5b058e5891 12-May-2008 Nate Begeman <natebegeman@mac.com> Add two new instructions to the llvm IR, vicmp and vfcmp. see updated LangRef
for details. CodeGen support coming in a follow up patch


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50985 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
efe65369a74871c3140a540a6c95ce5d1f080954 10-May-2008 Gabor Greif <ggreif@gmail.com> merge of use-diet branch to trunk

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50943 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
280a6e607d8eb7401749a92db624a82de47da777 25-Apr-2008 Nick Lewycky <nicholas@mxc.ca> 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
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
02a260aa11a2e1b2c14335274d3c42ca3f3eabc0 20-Apr-2008 Chris Lattner <sabre@nondot.org> Switch to using Simplified ConstantFP::get API.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49977 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
86941611c9de791739ecd4664e766b5f5ce6d85e 13-Apr-2008 Chris Lattner <sabre@nondot.org> Gabor points out that reserveOperandSpace takes # of values,
not # of operands as an input.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49599 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
051a950000e21935165db56695e35bade668193b 06-Apr-2008 Gabor Greif <ggreif@gmail.com> API changes for class Use size reduction, wave 1.
Specifically, introduction of XXX::Create methods
for Users that have a potentially variable number of
Uses.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49277 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
461edd937e9ec95193022629314c66d2c1e984d2 12-Mar-2008 Chris Lattner <sabre@nondot.org> when the bitcode reader is referencing a paramattr, make sure to bump its refcount.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
91342d8873a84b2809e5ed120cabb75902034355 12-Mar-2008 Anton Korobeynikov <asl@math.spbu.ru> Be backward compatible


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48268 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
f8342b98663096186c3a367f7d0fd5ebb7064a52 11-Mar-2008 Anton Korobeynikov <asl@math.spbu.ru> Honour aliases visibility when reading from/writing to bitcode


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48248 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
fc82fabe00b0b820e3c0d7fc9e289bace0295f11 02-Mar-2008 Nick Lewycky <nicholas@mxc.ca> 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
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
f4511cd8fbcea9f8eca79b162b3ad3edbd951746 26-Feb-2008 Devang Patel <dpatel@apple.com> Use SmallVector while constructing ReturnInst.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47619 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
d9d99ff8e8fe2897a3d45609763aeb8088b63afa 26-Feb-2008 Devang Patel <dpatel@apple.com> Update bitcode reader and writer to handle multiple return values.
Take 2.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47583 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
1df439773cc771be634cc04cc6c5cbca2a8e5f38 23-Feb-2008 Evan Cheng <evan.cheng@apple.com> Backing out r47521 for now. This has broken a number of tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47533 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
e9fabd94ab9aaa5853c0c3d659e62b1a1f2cc27b 23-Feb-2008 Devang Patel <dpatel@apple.com> Properly read and write bitcodes for multiple return values.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47521 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
22c3979fcaa7ff19c44253eb9b0b0160dfef0aa4 22-Feb-2008 Dale Johannesen <dalej@apple.com> Split ParameterAttributes.h, putting the complicated
stuff into ParamAttrsList.h. Per feedback from
ParamAttrs changes.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47504 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
197be3de7f247e61c75d12dc1cb090c1c2c39f28 22-Feb-2008 Devang Patel <dpatel@apple.com> Read and write getresult.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47471 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
303595942502f17c087fa28874c2b89117148c45 29-Jan-2008 Dan Gohman <gohman@apple.com> Use empty() instead of comparing size() with zero.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46514 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
f9b83fcf95e8a280d7b117af8858596fe5b10d94 17-Dec-2007 Evan Cheng <evan.cheng@apple.com> Bring back int_x86_sse2_movl_dq intrinsic for backward compatibility. Make sure
it's auto-upgraded to a shufflevector instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
43ad6b3e0d6ada51e9b23aab3e061187f1f5710c 17-Dec-2007 Christopher Lamb <christopher.lamb@gmail.com> Change the PointerType api for creating pointer types. The old functionality of PointerType::get() has become PointerType::getUnqual(), which returns a pointer in the generic address space. The new prototype of PointerType::get() requires both a type and an address space.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45082 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
fe63fb986dc9510c5d68f2442edab9574e9e50d0 11-Dec-2007 Christopher Lamb <christopher.lamb@gmail.com> 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
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
80a75bfae980df96f969f1c05b0c4a80ce975240 10-Dec-2007 Gordon Henriksen <gordonhenriksen@mac.com> Adding a collector name attribute to Function in the IR. These
methods are new to Function:

bool hasCollector() const;
const std::string &getCollector() const;
void setCollector(const std::string &);
void clearCollector();

The assembly representation is as such:

define void @f() gc "shadow-stack" { ...

The implementation uses an on-the-side table to map Functions to
collector names, such that there is no overhead. A StringPool is
further used to unique collector names, which are extremely
likely to be unique per process.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44769 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
a1afde77fa70ae0343ecbb6bc48388bb508d6c8f 27-Nov-2007 Chris Lattner <sabre@nondot.org> Unbreak backwards compatibility with bytecode format. Regression
introduced by this patch:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20071126/055824.html



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44364 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
5e41f6569918a6e001cadf8dea96819686cf301c 20-Nov-2007 Duncan Sands <baldrick@free.fr> In order for parameter attribute uniquing to make
any sense it is important that ParamAttr::None gets
treated the same as not supplying an attribute at
all. Rather than stripping ParamAttr::None out of
the list of attributes, assert if ParamAttr::None
is seen. Fix up the bitcode reader which liked to
insert ParamAttr::None all over the place. Patch
based on one by Török Edwin.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44250 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
adf3eab7735741926c67e6fc12b952500c45a9ba 19-Nov-2007 Dan Gohman <gohman@apple.com> Add explicit keywords.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44234 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
eb57ea7ea2378b77bc995371c1888193b960cd03 05-Nov-2007 Dale Johannesen <dalej@apple.com> Make labels work in asm blocks; allow labels as
parameters. Rename ValueRefList to ParamList
in AsmParser, since its only use is for parameters.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43734 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
a471c2ecda37cd1bae0d94e832f002caa7b63216 11-Oct-2007 Dale Johannesen <dalej@apple.com> Next PPC long double bits. First cut at constants.
No compile-time support for constant operations yet,
just format transformations. Make readers and
writers work. Split constants into 2 doubles in
Legalize.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42865 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
9d5f45607793052bf5b4436d1b43013fab9999ac 12-Sep-2007 Dale Johannesen <dalej@apple.com> Revise previous patch per review comments.
Next round of x87 long double stuff.
Getting close now, basically works.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41875 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
3f6eb7419de437436265831fce92f62498556e08 11-Sep-2007 Dale Johannesen <dalej@apple.com> Add APInt interfaces to APFloat (allows directly
access to bits). Use them in place of float and
double interfaces where appropriate.
First bits of x86 long double constants handling
(untested, probably does not work).



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41858 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
073d48da50a1b68ae2d1a69c44d5cc18fd9e41dc 07-Sep-2007 Dale Johannesen <dalej@apple.com> Revert previous change to IR.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41769 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
43421b3dd70af5b70e71816521f37502c397cc65 06-Sep-2007 Dale Johannesen <dalej@apple.com> Next round of APFloat changes.
Use APFloat in UpgradeParser and AsmParser.
Change all references to ConstantFP to use the
APFloat interface rather than double. Remove
the ConstantFP double interfaces.
Use APFloat functions for constant folding arithmetic
and comparisons.
(There are still way too many places APFloat is
just a wrapper around host float/double, but we're
getting there.)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41747 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
b8f74793b9d161bc666fe27fc92fe112b6ec169b 04-Sep-2007 David Greene <greened@obbligato.org> Update GEP constructors to use an iterator interface to fix
GLIBCXX_DEBUG issues.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41697 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
f1355a55f8d815f5385e9a4432195f03b65f3a42 27-Aug-2007 David Greene <greened@obbligato.org> Update InvokeInst to work like CallInst


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41506 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
ebbc95da49c6f4ae09947a9f4ab6a8616ea40e3b 10-Aug-2007 Dale Johannesen <dalej@apple.com> Patch 10 for long double. Doing constants right needs expanding ConstantFP
to handle values bigger than double. If we assume host==target and host
long double works correctly, this is not too bad, but we don't want to
have that limitation longterm. I could implement accepting double
constants as long double or something like that, which would lead to
incorrect codegen with no errors; the more I think about that the worse
it seems. Rather than do such a hack that would be backed out later,
I'm settling for giving reasonable error messages, for now.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40974 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
6994040a952e5fb27605eb3cf29ed86c4e59cf62 04-Aug-2007 Chandler Carruth <chandlerc@gmail.com> This is the patch to provide clean intrinsic function overloading support in LLVM. It cleans up the intrinsic definitions and generally smooths the process for more complicated intrinsic writing. It will be used by the upcoming atomic intrinsics as well as vector and float intrinsics in the future.

This also changes the syntax for llvm.bswap, llvm.part.set, llvm.part.select, and llvm.ct* intrinsics. They are automatically upgraded by both the LLVM ASM reader and the bitcode reader. The test cases have been updated, with special tests added to ensure the automatic upgrading is supported.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40807 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
320fc8a39e17f5725f5711248e06bcb36f122687 03-Aug-2007 Dale Johannesen <dalej@apple.com> Long double, part 1 of N. Support in IR.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40774 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
52eec548206d0b135b55ba52dd0e82e978f15ae5 01-Aug-2007 David Greene <greened@obbligato.org> New CallInst interface to address GLIBCXX_DEBUG errors caused by
indexing an empty std::vector.

Updates to all clients.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40660 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
a99be51bf5cdac1438069d4b01766c47704961c8 05-Jul-2007 Gabor Greif <ggreif@gmail.com> Here is the bulk of the sanitizing.
Almost all occurrences of "bytecode" in the sources have been eliminated.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37913 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
b348bb81253a1105d23ab1a1771f8d2a6546aa1b 18-May-2007 Chris Lattner <sabre@nondot.org> Fix PR1434 and test/Linker/link-archive.ll, this is a regression from 1.9.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37204 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
d67c632d968157e228cf42b588f8759059730ec0 15-May-2007 Chris Lattner <sabre@nondot.org> implement the ModuleProvider::dematerializeFunction hook


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37080 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
a9bb713130b073276a53a38fe0c37d314a3f1fc1 08-May-2007 Chris Lattner <sabre@nondot.org> Make a preemptive bitcode format change to support PR1146. This lets us do
pr1146 in llvm 2.1 without ugly code to emulate old behavior. This should
be merged into the 2.0 release branch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36928 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
5f32c01dead5623d874f442b34762f9d111be4cf 06-May-2007 Chris Lattner <sabre@nondot.org> fix off-by-one that caused the llvm2cpp test to fail


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36880 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
7108dce324eed700ba32a8a5e0a65b1161a00232 06-May-2007 Chris Lattner <sabre@nondot.org> Allow structs with zero fields.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36862 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
bfcc38040b6a0667b7b7df9674d8a0ed1d104814 06-May-2007 Chris Lattner <sabre@nondot.org> add a missing check


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36859 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
2bce93a2ae0b944e9e83b01c5c5bcbe5962a5a8d 06-May-2007 Chris Lattner <sabre@nondot.org> implement reading/writing of inlineasm objects


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36827 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
cb3d91b05b36a144dd0f3103ce4fda4cab356ad6 06-May-2007 Chris Lattner <sabre@nondot.org> 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
/external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
abfbf85004b2114ee33e05fc9efe3a7bd044e402 06-May-2007 Chris Lattner <sabre@nondot.org> further reduce the redundancy of types in the instruction encoding. This
shrinks function bodies in kc++ from 891913B to 884073B


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36817 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
7337ab9e929a4a787f90d37ee0ed8f4cc27170ab 06-May-2007 Chris Lattner <sabre@nondot.org> stop encoding type/value pairs when the type is implied by the value.
This shrinks the function block of kc++ from 1055K to 906K


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36816 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
3f7998054a4b92c1823b412f1608259154dd0bbe 05-May-2007 Chris Lattner <sabre@nondot.org> add support for BLOCKINFO records at the module level. This fixes the reader
issues reid noticed last night.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36785 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
e17b658c792abd4a1552144b8a8808e44970da76 05-May-2007 Chris Lattner <sabre@nondot.org> Implement support for globally associating abbrevs with block IDs, which
relieves us from having to emit the abbrevs into each instance of the block.
This shrinks kc.bit from 3368K to 3333K, but will be a more significant win
once instructions are abbreviated.

The VST went from:

Block ID #14 (VALUE_SYMTAB):
Num Instances: 2345
Total Size: 1.29508e+07b/1.61885e+06B/404713W
Average Size: 5522.73b/690.342B/172.585W
% of file: 48.0645
Tot/Avg SubBlocks: 0/0
Tot/Avg Abbrevs: 7035/3
Tot/Avg Records: 120924/51.5667
% Abbrev Recs: 100

to:

Block ID #14 (VALUE_SYMTAB):
Num Instances: 2345
Total Size: 1.26713e+07b/1.58391e+06B/395978W
Average Size: 5403.53b/675.442B/168.86W
% of file: 47.5198
Tot/Avg SubBlocks: 0/0
Tot/Avg Abbrevs: 0/0
Tot/Avg Records: 120924/51.5667
% Abbrev Recs: 100

because we didn't emit the same 3 abbrevs 2345 times :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36767 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
15e6d170e8d4b99937d34aef2c02078247f4cdf7 04-May-2007 Chris Lattner <sabre@nondot.org> eliminate internal length fields from record. Records already know their
total length


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36752 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
964b5f2701ff5c5bad942aae2661149002fad01e 04-May-2007 Chris Lattner <sabre@nondot.org> storeinst ctor takes isvolatile before alignment. With this, 176.gcc roundtrips


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36738 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
35a0470e0229c9a15a4c0d3af8d6c6564d81bd7d 04-May-2007 Chris Lattner <sabre@nondot.org> fix a misplaced error


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36736 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
9113e73ecf72b0a94715b3e204211e2c7f55dda7 04-May-2007 Chris Lattner <sabre@nondot.org> encode and read param attrs along with function type. WE can now roundtrip Olden/voronoi loslessly


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36735 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
48c85b84c1b66fb6a1b0d2afddf33da5bd82960d 04-May-2007 Chris Lattner <sabre@nondot.org> add support for reading the param attrs block


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36731 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
dc78d3a80004d37ae5eea95adbc3b989b70d202d 04-May-2007 Chris Lattner <sabre@nondot.org> remove dead code


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36728 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
c8f8a242e40b22871241e37a2b1a935c2db7fe1b 04-May-2007 Reid Spencer <rspencer@reidspencer.com> Allow this to compile with gcc 4.0.X


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36723 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
76520191abf157dfa2bcb473406193ab362480b6 04-May-2007 Chris Lattner <sabre@nondot.org> Encoding calling conv info in call/invoke instrs, tree add now round trips completely


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36707 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
c9c55a9d2fc63ee87cf00e80736f6508507f2444 04-May-2007 Chris Lattner <sabre@nondot.org> the type field for a store is the type of the pointer, not the value.

With this fix I can round trip treeaadd, only losing calling conv info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36706 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
f61e6457a5c70eb890fd5b77b82f124ed420e8af 04-May-2007 Chris Lattner <sabre@nondot.org> bug fixes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36701 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
0579f7f17f08649e65ca8673b8983c0f4985ae36 04-May-2007 Chris Lattner <sabre@nondot.org> implement the rest of the instructions


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36699 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
2a98ccabb4efe9882cdddd4b659e4935fc646040 03-May-2007 Chris Lattner <sabre@nondot.org> add a few more instructions, getting close


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36688 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
f4c8e5243376af58e52c4a0930d838509bbbea2f 02-May-2007 Chris Lattner <sabre@nondot.org> add reader logic for terminator instrs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36642 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
01ff65fb3989fd8b302b55c4743b778f6927cb73 02-May-2007 Chris Lattner <sabre@nondot.org> add reader support for a bunch of new instructions


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36641 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
231cbcb35b48530aef305c76de1583c0b5dfc7ce 02-May-2007 Chris Lattner <sabre@nondot.org> read a few instructions, fix some bugs. This is enough to be able to round
trip function bodies like this:

define <2 x i64> @foo(<2 x i64> %x, <2 x i64> %y) {
%tmp4 = bitcast <2 x i64> %y to <8 x i16> ; <<8 x i16>> [#uses=1]
%tmp5 = bitcast <2 x i64> %x to <8 x i16> ; <<8 x i16>> [#uses=1]
%tmp = add <8 x i16> %tmp5, %tmp4 ; <<8 x i16>> [#uses=1]
%tmp6 = bitcast <8 x i16> %tmp to <2 x i64> ; <<2 x i64>> [#uses=1]
ret <2 x i64> %tmp6
}


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
a7c49aac984fafa5dfdfcc2762d4d51b26788e38 01-May-2007 Chris Lattner <sabre@nondot.org> handle function-level forward references, read binops.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36620 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
980e5aad4cfaa32e13b297f4201eb1088ca96cc4 01-May-2007 Chris Lattner <sabre@nondot.org> implement materializeModule, force deallocation of vector memory when we
are done with them, start implementing ParseFunctionBody


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36617 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
866971474ced63f725bd3dbf10fdb9e3badb7d9e 01-May-2007 Chris Lattner <sabre@nondot.org> The stream to read from is now an ivar


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36615 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
48f848716e80d01619b239111db48bfac77baad1 01-May-2007 Chris Lattner <sabre@nondot.org> implement scafolding for lazy deserialization of function bodies


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36614 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
9cd3ccf5065a8a139e458d016c88a8512471598b 29-Apr-2007 Anton Korobeynikov <asl@math.spbu.ru> Implement visibility checking during linking. Also implement protected
visibility support for bitcode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36577 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
c453f76e2b4d7fd1e042b5b6d4c20556779186df 29-Apr-2007 Chris Lattner <sabre@nondot.org> Switch the bitcode reader interface to take a MemoryBuffer instead of knowing
anything about disk I/O itself. This greatly simplifies its interface -
eliminating the need for the ReaderWrappers.cpp file.

This adds a new option to llvm-dis (-bitcode) which instructs it to read
the input file as bitcode. Until/unless the bytecode reader is taught to
read from MemoryBuffer, there is no way to handle stdin reading without it.

I don't plan to switch the bytecode reader over, I'd rather delete it :),
so the option will stay around temporarily.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36554 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
7dde0ff0ba0afbf9d5e9b274533b05b79003b15f 28-Apr-2007 Anton Korobeynikov <asl@math.spbu.ru> This is not "FIXME" anymore


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36541 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.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/Reader/BitcodeReader.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/Reader/BitcodeReader.cpp
f66d20da61af8672b2fe648283604408d42836ce 24-Apr-2007 Chris Lattner <sabre@nondot.org> ensure that every error return sets a message (and goes through Error, for
easy breakpointing).

Fix bugs reading constantexpr geps. We now can disassemble kc++ global
initializers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36398 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
084a844d6d3c4176a8137c7cf980c2b6c7731e34 24-Apr-2007 Chris Lattner <sabre@nondot.org> fix memory leak


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36397 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
f581c3b81ee793ce1dcce4b4755393e56148ea68 24-Apr-2007 Chris Lattner <sabre@nondot.org> implement reading and writing of constant exprs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36394 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
522b7b104c864da81c19d8b16c43b7a1f6a2fc40 24-Apr-2007 Chris Lattner <sabre@nondot.org> implement support for reading aggregate constants, including handling forward
constant references, etc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36391 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
0eef08046e0758f1800f32c63b817fd22264577b 24-Apr-2007 Chris Lattner <sabre@nondot.org> add supprot for FP constants, wide integers, and fix the encoding of MININT


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36390 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
e16504eb4ef8f09611cdf6e9a0be9eb886b4ed89 24-Apr-2007 Chris Lattner <sabre@nondot.org> read basic constants: null, undef, integers <= 64bits


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36389 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
e84bcb922de726309c299ecba4ec3d14d5f67c41 24-Apr-2007 Chris Lattner <sabre@nondot.org> move check to the right place :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36386 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
6dbfd7bfbcc7a69c978452560033fa5953db2cbf 24-Apr-2007 Chris Lattner <sabre@nondot.org> track global inits


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36385 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
0b2482a1ebd07a3b1cec660681add46c927970f2 23-Apr-2007 Chris Lattner <sabre@nondot.org> Read global symtab


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36378 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
d127c1b5f3785a4a957ccf70b79a96adfc223259 23-Apr-2007 Chris Lattner <sabre@nondot.org> implement reading of abbrevs, and writing of abbreviated global varrs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36367 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
36d5e7d31be61f631ace0488f0d6cd71b8f31a16 23-Apr-2007 Chris Lattner <sabre@nondot.org> first part of implementation of abbrevs. The writer isn't fully there yet and the
reader doesn't handle them at all yet.


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


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