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