| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
- Support the LinkerWeak*Linkage types in llvm-nm and in LinkModules.cpp.
llvm-svn: 111952
|
|
|
|
|
|
| |
which reference GlobalValues are properly remapped.
llvm-svn: 111949
|
|
|
|
| |
llvm-svn: 111948
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 111933
|
|
|
|
| |
llvm-svn: 111102
|
|
|
|
| |
llvm-svn: 111082
|
|
|
|
|
|
| |
for creating and populating NamedMDNodes.
llvm-svn: 109061
|
|
|
|
| |
llvm-svn: 107215
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 104855
|
|
|
|
|
|
| |
separate canRead() call.
llvm-svn: 104853
|
|
|
|
|
|
| |
methods to try to have the type predicates be more logically positioned.
llvm-svn: 96349
|
|
|
|
| |
llvm-svn: 95468
|
|
|
|
|
|
| |
Instructions (which map to themselves)
llvm-svn: 94691
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 94686
|
|
|
|
| |
llvm-svn: 94650
|
|
|
|
|
|
| |
to function arguments
llvm-svn: 94632
|
|
|
|
| |
llvm-svn: 94378
|
|
|
|
| |
llvm-svn: 94243
|
|
|
|
|
|
|
|
|
|
|
| |
missing ones are libsupport, libsystem and libvmcore. libvmcore is
currently blocked on bugpoint, which uses EH. Once it stops using
EH, we can switch it off.
This #if 0's out 3 unit tests, because gtest requires RTTI information.
Suggestions welcome on how to fix this.
llvm-svn: 94164
|
|
|
|
|
|
|
|
| |
behaviour first tried to replace the aliases with the global that they aliased (rather than the bitcast), causing a crash on an assert because the types didn't match. When this was fixed, it then did the same thing creating the new alias (creating an alias with a different type to its aliasee).
Linking modules containing aliases to GEPs is still not quite right. GEPs that are equivalent to bitcasts will be replaced by bitcasts, GEPs that are not will just break. Aliases to GEPs that are not equivalent to bitcasts are horribly broken anyway (it might be worth adding an assert when creating the alias to prevent these being created; they just cause problems later).
llvm-svn: 93052
|
|
|
|
| |
llvm-svn: 92674
|
|
|
|
| |
llvm-svn: 92628
|
|
|
|
| |
llvm-svn: 92626
|
|
|
|
|
|
|
| |
things that occur in types. "operands" are things that occur
in values.
llvm-svn: 92322
|
|
|
|
| |
llvm-svn: 92192
|
|
|
|
|
|
|
|
| |
lame API.
Also, Stringrefify some more MemoryBuffer functions, and add two performance FIXMEs.
llvm-svn: 86630
|
|
|
|
| |
llvm-svn: 86511
|
|
|
|
| |
llvm-svn: 86510
|
|
|
|
| |
llvm-svn: 86251
|
|
|
|
| |
llvm-svn: 85700
|
|
|
|
| |
llvm-svn: 81636
|
|
|
|
| |
llvm-svn: 80941
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
forcing them down into various .cpp files.
This change also:
1. Renames TimeValue::toString() and Path::toString() to ::str()
for similarity with the STL.
2. Removes all stream insertion support for sys::Path, forcing
clients to call .str().
3. Removes a use of Config/alloca.h from bugpoint, using smallvector
instead.
4. Weans llvm-db off <iostream>
sys::Path really needs to be gutted, but I don't have the desire to
do it at this point.
llvm-svn: 79869
|
|
|
|
|
|
| |
This required converting a bunch of stuff off DOUT and other cleanups.
llvm-svn: 79819
|
|
|
|
| |
llvm-svn: 78696
|
|
|
|
| |
llvm-svn: 78652
|
|
|
|
|
|
|
|
| |
change back are
metadata related, which I'm waiting on to avoid conflicting with Devang.
llvm-svn: 77721
|
|
|
|
| |
llvm-svn: 77516
|
|
|
|
| |
llvm-svn: 77495
|
|
|
|
| |
llvm-svn: 77494
|
|
|
|
| |
llvm-svn: 77366
|
|
|
|
| |
llvm-svn: 77347
|
|
|
|
| |
llvm-svn: 77266
|
|
|
|
|
|
| |
Also, change MDString to use a StringRef.
llvm-svn: 77098
|
|
|
|
| |
llvm-svn: 77051
|
|
|
|
|
|
|
| |
- The only meat here is in Value.{h,cpp} the rest is essential 'const
std::string &' -> 'const Twine &'.
llvm-svn: 77048
|
|
|
|
| |
llvm-svn: 76894
|
|
|
|
| |
llvm-svn: 76702
|