| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
| |
uses.
The result produced by the streamer is used to give the linker more accurate
information and to add to llvm.compiler.used. The second improvement removes
the need for the user to add __attribute__((used)) to functions only used in
inline asm. The first one lets us build firefox with LTO on Darwin :-)
llvm-svn: 126830
|
|
|
|
| |
llvm-svn: 125537
|
|
|
|
|
|
| |
builders unhappy.
llvm-svn: 125504
|
|
|
|
|
|
| |
idiom. Change various clients to simplify their code.
llvm-svn: 125487
|
|
|
|
|
|
| |
Factor some code better.
llvm-svn: 125006
|
|
|
|
|
|
|
|
| |
instcombine xform to exercise this.
Nothing forms exact udivs yet though. This is progress on PR8862
llvm-svn: 124992
|
|
|
|
| |
llvm-svn: 124209
|
|
|
|
| |
llvm-svn: 123529
|
|
|
|
| |
llvm-svn: 123358
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 122193
|
|
|
|
|
|
|
| |
headers provide symbols outside namespace std and the LLVM coding standards
state that we should prefix all of them.
llvm-svn: 122192
|
|
|
|
|
|
| |
via an out parm.
llvm-svn: 121958
|
|
|
|
|
|
| |
error_code &ec. And fix clients.
llvm-svn: 121379
|
|
|
|
|
|
|
|
| |
zextOrTrunc(), and APSInt methods extend(), extOrTrunc() and new method
trunc(), to be const and to return a new value instead of modifying the
object in place.
llvm-svn: 121120
|
|
|
|
|
|
|
| |
instruction at the beginning of each function that has the attribute, allowing
the function to be easily hooked and/or patched.
llvm-svn: 117264
|
|
|
|
| |
llvm-svn: 117025
|
|
|
|
| |
llvm-svn: 116670
|
|
|
|
| |
llvm-svn: 115206
|
|
|
|
| |
llvm-svn: 115107
|
|
|
|
| |
llvm-svn: 114847
|
|
|
|
| |
llvm-svn: 114788
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit r113632
Conflicts:
cmake/modules/AddLLVM.cmake
llvm-svn: 113819
|
|
|
|
| |
llvm-svn: 113632
|
|
|
|
|
|
|
| |
(The Ada bindings probably need it too, but all the
obvious places to change say "do not edit this file".)
llvm-svn: 113618
|
|
|
|
|
|
| |
being actively maintained, improved, or extended.
llvm-svn: 112356
|
|
|
|
|
|
| |
ParseMetadataValue.
llvm-svn: 111914
|
|
|
|
|
|
| |
initially seems it should require.
llvm-svn: 111913
|
|
|
|
| |
llvm-svn: 111895
|
|
|
|
|
|
|
| |
This is in preparation for generalizing its parsing of function-local
values.
llvm-svn: 111893
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
not part of the IR, are not uniqued, and may be safely RAUW'd.
This replaces a variety of alternate mechanisms for achieving
the same effect.
llvm-svn: 111681
|
|
|
|
| |
llvm-svn: 110179
|
|
|
|
| |
llvm-svn: 109891
|
|
|
|
|
|
|
|
|
| |
alloca instructions (constrained by their internal encoding),
and add error checking for it. Fix an instcombine bug which
generated huge alignment values (null is infinitely aligned).
This fixes undefined behavior noticed by John Regehr.
llvm-svn: 109643
|
|
|
|
|
|
| |
invalid type.
llvm-svn: 109365
|
|
|
|
| |
llvm-svn: 109362
|
|
|
|
| |
llvm-svn: 109361
|
|
|
|
|
|
| |
for creating and populating NamedMDNodes.
llvm-svn: 109061
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 108343
|
|
|
|
|
|
| |
useful, but it is nice for consistency.
llvm-svn: 108262
|
|
|
|
| |
llvm-svn: 108259
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Objective-C metadata types which should be marked as "weak", but which the
linker will remove upon final linkage. However, this linkage isn't specific to
Objective-C.
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".
Currently only supported on Darwin platforms.
llvm-svn: 107433
|
|
|
|
| |
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
|
|
|
|
|
|
| |
This will help reduce the amount of casting required on 64-bit targets.
llvm-svn: 104911
|
|
|
|
|
|
| |
Patch by Charles Davis and Steven Watanabe!
llvm-svn: 103902
|
|
|
|
|
|
|
|
| |
to fadd, fsub, and fmul, when used with a floating-point type. LLVM
has supported the new instructions since 2.6, so it's time to get
on board.
llvm-svn: 102971
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR6888 with:
$ llvm-as t.ll
llvm-as: t.ll:2:29: error: expected metadata or 'align'
store <3 x i32> %x, i32 1, i32 1>, <3 x i32>* %p
^
instead of:
$ llvm-as t.ll
llvm-as:
llvm-svn: 102154
|