- Jul 09, 2011
-
-
Chris Lattner authored
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
-
- Mar 30, 2011
-
-
Bill Wendling authored
llvm-svn: 128507
-
Bill Wendling authored
llvm-svn: 128506
-
Bill Wendling authored
llvm-svn: 128501
-
- Feb 01, 2011
-
-
Rafael Espindola authored
different visibilities. llvm-svn: 124650
-
- Jan 15, 2011
-
-
Rafael Espindola authored
llvm-svn: 123529
-
- Jan 13, 2011
-
-
Rafael Espindola authored
llvm-svn: 123364
-
- Jan 08, 2011
-
-
Chris Lattner authored
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
-
- Dec 30, 2010
-
-
Chris Lattner authored
llvm-svn: 122637
-
Chris Lattner authored
llvm-svn: 122636
-
- Dec 29, 2010
-
-
Chris Lattner authored
llvm-svn: 122632
-
- Dec 18, 2010
-
-
Michael J. Spencer authored
llvm-svn: 122158
-
Michael J. Spencer authored
llvm-svn: 122157
-
Owen Anderson authored
the buildbots. llvm-svn: 122149
-
Michael J. Spencer authored
llvm-svn: 122142
-
Michael J. Spencer authored
llvm-svn: 122141
-
- Nov 29, 2010
-
-
Michael J. Spencer authored
llvm-svn: 120298
-
- Oct 19, 2010
-
-
Rafael Espindola authored
llvm-svn: 116788
-
- Oct 06, 2010
-
-
Bill Wendling authored
llvm-svn: 115827
-
Bill Wendling authored
fix is trying to accomplish. This code could still use some polishing. llvm-svn: 115759
-
Bill Wendling authored
source module *and* it must be merged (instead of simply replaced or appended to), then merge instead of replacing or adding another global. The ObjC __image_info section was being appended to because of this failure. This caused a crash because the linker expects the image info section to be a specific size. <rdar://problem/8198537> llvm-svn: 115753
-
- Sep 01, 2010
-
-
Chris Lattner authored
llvm-svn: 112713
-
- Aug 26, 2010
-
-
Dan Gohman authored
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
-
Daniel Dunbar authored
individual ...", which depends on r111922, which I am reverting. llvm-svn: 112157
-
- Aug 25, 2010
-
-
Dan Gohman authored
instructions, not when remapping modules. llvm-svn: 112091
-
- Aug 24, 2010
-
-
Bill Wendling authored
- Support the LinkerWeak*Linkage types in llvm-nm and in LinkModules.cpp. llvm-svn: 111952
-
Dan Gohman authored
which reference GlobalValues are properly remapped. llvm-svn: 111949
-
Dan Gohman authored
llvm-svn: 111948
-
Dan Gohman authored
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
-
Dan Gohman authored
llvm-svn: 111933
-
- Aug 15, 2010
-
-
Argyrios Kyrtzidis authored
llvm-svn: 111102
-
- Aug 14, 2010
-
-
Argyrios Kyrtzidis authored
llvm-svn: 111082
-
- Jul 22, 2010
-
-
Dan Gohman authored
for creating and populating NamedMDNodes. llvm-svn: 109061
-
- Jun 30, 2010
-
-
Bill Wendling authored
llvm-svn: 107215
-
- Jun 29, 2010
-
-
Bill Wendling authored
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". llvm-svn: 107205
-
- Feb 16, 2010
-
-
Duncan Sands authored
methods to try to have the type predicates be more logically positioned. llvm-svn: 96349
-
- Feb 06, 2010
-
-
Victor Hernandez authored
llvm-svn: 95468
-
- Jan 27, 2010
-
-
Victor Hernandez authored
Need to recurse for all operands of function-local metadata; and handle Instructions (which map to themselves) llvm-svn: 94691
-
Chris Lattner authored
llvm-svn: 94650
-
Victor Hernandez authored
llvm-svn: 94632
-