History log of /llvm-project/llvm/lib/Transforms/Utils/CloneModule.cpp (Results 51 – 75 of 105)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-3.2.0-rc1
# cbe34b4c 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

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.

llvm-svn: 159077

show more ...


Revision tags: llvmorg-3.1.0, llvmorg-3.1.0-rc3, llvmorg-3.1.0-rc2, llvmorg-3.1.0-rc1, llvmorg-3.0.0, llvmorg-3.0.0-rc4, llvmorg-3.0.0-rc3, llvmorg-3.0.0-rc2, llvmorg-3.0.0-rc1
# 4d05198d 15-Aug-2011 Eli Friedman <eli.friedman@gmail.com>

Fix llvm::CloneModule to correctly clone globals. Patch per bug report by Simon Moll on llvmdev.

llvm-svn: 137654


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


Revision tags: llvmorg-2.9.0, llvmorg-2.9.0-rc3, llvmorg-2.9.0-rc2, llvmorg-2.9.0-rc1
# 43f8d164 08-Jan-2011 Chris Lattner <sabre@nondot.org>

Revamp the ValueMapper interfaces in a couple ways:

1. Take a flags argument instead of a bool. This makes
it more clear to the reader what it is used for.
2. Add a flag that says that "remappin

Revamp the ValueMapper interfaces in a couple ways:

1. Take a flags argument instead of a bool. This makes
it more clear to the reader what it is used for.
2. Add a flag that says that "remapping a value not in the
map is ok".
3. Reimplement MapValue to share a bunch of code and be a lot
more efficient. For lookup failures, don't drop null values
into the map.
4. Using the new flag a bunch of code can vaporize in LinkModules
and LoopUnswitch, kill it.

No functionality change.

llvm-svn: 123058

show more ...


Revision tags: llvmorg-2.8.0, llvmorg-2.8.0-rc3, llvmorg-2.8.0-rc2, llvmorg-2.8.0-rc1, llvmorg-2.8.0-rc0
# ca26f790 26-Aug-2010 Dan Gohman <gohman@apple.com>

Reapply r112091 and r111922, support for metadata linking, with a
fix: add a flag to MapValue and friends which indicates whether
any module-level mappings are being made. In the common case of
inlin

Reapply r112091 and r111922, support for metadata linking, with a
fix: add a flag to MapValue and friends which indicates whether
any module-level mappings are being made. In the common case of
inlining, no module-level mappings are needed, so MapValue doesn't
need to examine non-function-local metadata, which can be very
expensive in the case of a large module with really deep metadata
(e.g. a large C++ program compiled with -g).

This flag is a little awkward; perhaps eventually it can be moved
into the ClonedCodeInfo class.

llvm-svn: 112190

show more ...


# 95fe13c7 26-Aug-2010 Daniel Dunbar <daniel@zuster.org>

Revert r112091, "Remap metadata attached to instructions when remapping
individual ...", which depends on r111922, which I am reverting.

llvm-svn: 112157


# fd824487 25-Aug-2010 Dan Gohman <gohman@apple.com>

Remap metadata attached to instructions when remapping individual
instructions, not when remapping modules.

llvm-svn: 112091


# a2095034 24-Aug-2010 Dan Gohman <gohman@apple.com>

Use MapValue in the Linker instead of having a private function
which does the same thing. This eliminates redundant code and
handles MDNodes better. MDNode linking still doesn't fully
work yet thoug

Use MapValue in the Linker instead of having a private function
which does the same thing. This eliminates redundant code and
handles MDNodes better. MDNode linking still doesn't fully
work yet though.

llvm-svn: 111941

show more ...


# 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


# d8dedee9 24-Jun-2010 Devang Patel <dpatel@apple.com>

Use available typedef for " DenseMap<const Value*, Value*>".

llvm-svn: 106699


# b8f11de1 23-Jun-2010 Devang Patel <dpatel@apple.com>

Cosmetic change.
Do not use "ValueMap" as a name for a local variable or an argument.

llvm-svn: 106698


# e43c6487 22-Jun-2010 Devang Patel <dpatel@apple.com>

While cloning a module, clone metadata attached with instructions.

llvm-svn: 106591


# e3fbbd19 22-Jun-2010 Devang Patel <dpatel@apple.com>

Clone named metadata while cloning a module.
Reapply Bob's patch.

llvm-svn: 106560


# 6c1fc79c 22-Jun-2010 Bob Wilson <bob.wilson@apple.com>

Revert my change to clone named metadata. Buildbots are complaining.

--- Reverse-merging r106508 into '.':
U lib/Transforms/Utils/CloneModule.cpp

llvm-svn: 106521


# 5f9575c1 22-Jun-2010 Bob Wilson <bob.wilson@apple.com>

Include named metadata when cloning a module.

llvm-svn: 106508


Revision tags: llvmorg-2.7.0
# 382b9696 20-Apr-2010 Devang Patel <dpatel@apple.com>

There is no need to install ValueMapper.h header.

llvm-svn: 101949


# ef41a1ce 24-Oct-2009 Dan Gohman <gohman@apple.com>

MapValue doesn't needs its LLVMContext argument.

llvm-svn: 85020


Revision tags: llvmorg-2.6.0
# d84dbb34 27-Aug-2009 Chris Lattner <sabre@nondot.org>

smallvectorize the list of returns built by CloneAndPruneFunctionInto.

llvm-svn: 80202


# 47db941f 22-Jul-2009 Owen Anderson <resistor@mac.com>

Get rid of the Pass+Context magic.

llvm-svn: 76702


# b17f3294 08-Jul-2009 Owen Anderson <resistor@mac.com>

Switch GlobalVariable ctors to a sane API, where *either* a context or a module is required.

llvm-svn: 75025


# 5948fdf6 08-Jul-2009 Owen Anderson <resistor@mac.com>

Push LLVMContext through GlobalVariables and IRBuilder.

llvm-svn: 74985


# e70b6370 05-Jul-2009 Owen Anderson <resistor@mac.com>

More LLVMContext-ification.

llvm-svn: 74807


# 6773d388 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

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.

llvm-svn: 74614

show more ...


Revision tags: llvmorg-2.5.0, llvmorg-2.4.0
# 03c5fa18 09-Oct-2008 Nick Lewycky <nicholas@mxc.ca>

Don't drop alignment on globals when cloning.

llvm-svn: 57320


Revision tags: llvmorg-2.3.0
# dd7daee8 26-May-2008 Duncan Sands <baldrick@free.fr>

Factor code to copy global value attributes like
the section or the visibility from one global
value to another: copyAttributesFrom. This is
particularly useful for duplicating functions:
previously

Factor code to copy global value attributes like
the section or the visibility from one global
value to another: copyAttributesFrom. This is
particularly useful for duplicating functions:
previously this was done by explicitly copying
each attribute in turn at each place where a
new function was created out of an old one, with
the result that obscure attributes were regularly
forgotten (like the collector or the section).
Hopefully now everything is uniform and nothing
is forgotten.

llvm-svn: 51567

show more ...


12345