History log of /llvm-project/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp (Results 776 – 800 of 1013)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# b1ed91f3 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 deleti

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.

llvm-svn: 134829

show more ...


# 372ad64b 20-Jun-2011 Jay Foad <jay.foad@gmail.com>

Make better use of the PHINode API.

Change various bits of code to make better use of the existing PHINode
API, to insulate them from forthcoming changes in how PHINodes store
their operands.

llvm-

Make better use of the PHINode API.

Change various bits of code to make better use of the existing PHINode
API, to insulate them from forthcoming changes in how PHINodes store
their operands.

llvm-svn: 133434

show more ...


# c4407080 17-Jun-2011 Chris Lattner <sabre@nondot.org>

Drop the "2" suffix on some enums.

llvm-svn: 133274


# bb95d5e9 17-Jun-2011 Chris Lattner <sabre@nondot.org>

missed a file.

llvm-svn: 133270


# cffdcae2 14-Jun-2011 Evan Cheng <evan.cheng@apple.com>

Update BitcodeWriter to match recent Triple changes. rdar://9603399

llvm-svn: 132959


# 6a11b64c 03-Jun-2011 Chad Rosier <mcrosier@apple.com>

Revert name change from r132533. Lower case naming was intended per style guidelines.

llvm-svn: 132555


# 7ae2638d 03-Jun-2011 Chad Rosier <mcrosier@apple.com>

Whitespace and other cleanup. Functionallity unchanged.

llvm-svn: 132533


# 64c92844 06-May-2011 Nick Lewycky <nicholas@mxc.ca>

It's valid to take the blockaddress of a different function, so remove this
assert in the bitcode writer. No change needed because the ValueEnumerator holds
a whole-module numbering anyhow. Fixes PR9

It's valid to take the blockaddress of a different function, so remove this
assert in the bitcode writer. No change needed because the ValueEnumerator holds
a whole-module numbering anyhow. Fixes PR9857!

llvm-svn: 131016

show more ...


# 35a9c3cd 10-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 li

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

llvm-svn: 129259

show more ...


# 3d5450d8 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 ensur

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.)

llvm-svn: 129235

show more ...


Revision tags: llvmorg-2.9.0
# 337a1b29 06-Apr-2011 Rafael Espindola <rafael.espindola@gmail.com>

Do a topological sort of the types before writing them out.

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

llvm-svn: 129009


Revision tags: llvmorg-2.9.0-rc3, llvmorg-2.9.0-rc2, llvmorg-2.9.0-rc1
# 35315d06 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

llvm-svn: 124992


# 45e6c195 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

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.

llvm-svn: 123063

show more ...


# 0de20af7 19-Dec-2010 Nick Lewycky <nicholas@mxc.ca>

Add missing standard headers. Patch by Joerg Sonnenberger!

llvm-svn: 122193


# 6f3a90b5 29-Nov-2010 Chris Lattner <sabre@nondot.org>

Generalize the darwin wrapper hack to work with generic macho triples as well as darwin ones.

llvm-svn: 120346


# 447762da 29-Nov-2010 Michael J. Spencer <bigcheesegs@gmail.com>

Merge System into Support.

llvm-svn: 120298


Revision tags: llvmorg-2.8.0, llvmorg-2.8.0-rc3, llvmorg-2.8.0-rc2
# baa5d045 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".)

llvm-svn: 113618


# 6dbbab68 09-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

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.

llvm-svn: 113557

show more ...


Revision tags: llvmorg-2.8.0-rc1, llvmorg-2.8.0-rc0
# 13ee795c 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.

llvm-svn: 112356


# 578ee407 20-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 inli

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).

llvm-svn: 111684

show more ...


# 79102d97 03-Aug-2010 Chris Lattner <sabre@nondot.org>

avoid undefined behavior negating minint.

llvm-svn: 110117


# 2637cc1a 21-Jul-2010 Dan Gohman <gohman@apple.com>

Make NamedMDNode not be a subclass of Value, and simplify the interface
for creating and populating NamedMDNodes.

llvm-svn: 109061


# 47dc8fd6 21-Jul-2010 Dan Gohman <gohman@apple.com>

Add some debug output to help diagnose PR7689.

llvm-svn: 109036


# 093cb79d 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 explicitl

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).

llvm-svn: 109028

show more ...


# 43aa8f03 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
linke

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.

llvm-svn: 108939

show more ...


1...<<3132333435363738394041