History log of /external/llvm/tools/lto/LTOModule.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
9ac0aaa6afe4162b4db32833f9f176ac05ce6f8f 06-Aug-2012 Bill Wendling <isanbard@gmail.com> Add a way to grab the target options from the LTO command line.

When the command line target options were removed from the LLVM libraries, LTO
lost its ability to specify things like `-disable-fp-elim'. Add this back by
adding the command line variables to the `lto' project.
<rdar://problem/12038729>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161353 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/LTOModule.h
8ba9405c5ca9d95a61c5d575f16506ddac5d67d3 02-Apr-2012 Bill Wendling <isanbard@gmail.com> Hack the hack. If we have a situation where an ASM object is defined but isn't
reflected in the LLVM IR (as a declare or something), then treat it like a data
object.

N.B. This isn't 100% correct. The ASM parser should supply more information so
that we know what type of object it is, and what attributes it should have.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153870 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/LTOModule.h
1fcbca05db736afc3e555aadc14ae3a5bef59198 02-Apr-2012 Bill Wendling <isanbard@gmail.com> It could come about that we parse the inline ASM before we get a potential
definition for it. In that case, we want to wait for the potential definition
before we create a symbol for it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153859 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/LTOModule.h
ab53bc76fd0f4863c9bdccf666fe8eed3d6bf702 31-Mar-2012 Bill Wendling <isanbard@gmail.com> Cleanup whitespace and trim some of the #includes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153807 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/LTOModule.h
24b878031d4f62baf0e9a0573aeebc9dfd54b546 29-Mar-2012 Bill Wendling <isanbard@gmail.com> Make some headway towards compiling all of LLVM.

Module-level ASM may contain definitions of functions and globals. However, we
were not telling the linker that these globals had definitions. As far as it was
concerned, they were just declarations.

Attempt to resolve this by inserting module-level ASM functions and globals into
the '_symbol' set so that the linker will know that they have values.

This gets us further towards our goal of compiling LLVM, but it still has
problems when linking libLTO.dylib because of the `-dead_strip' flag that's
passed to the linker.

<rdar://problem/11124216>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153638 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/LTOModule.h
3c6b29b7e96f4fd0c9f5aae521d52cbf2b4493c2 29-Mar-2012 Bill Wendling <isanbard@gmail.com> Cleanup whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153634 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/LTOModule.h
3bb17380b1c87fa23ef9fe208ce6f56d352df611 29-Mar-2012 Bill Wendling <isanbard@gmail.com> Cleanup some whitespaces.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153612 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/LTOModule.h
62cf01e4c5de703e7712c72d12f577153b373cba 28-Mar-2012 Bill Wendling <isanbard@gmail.com> Reformat the LTOModule code to be more inline with LLVM's coding standards. Add
a bunch of comments for the various functions. No intended functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153595 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/LTOModule.h
30fe94ea43bd122fb4fd26b84bcf62f8096d4293 28-Mar-2012 Bill Wendling <isanbard@gmail.com> Some whitespace cleanup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153567 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/LTOModule.h
24c5b368417d80baf4d10e691d4ac2d180fe2156 04-Nov-2011 Bill Wendling <isanbard@gmail.com> Move comment to the correct place.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143690 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/LTOModule.h
a7280fd61933f1268f69045cfbea46edb739726d 04-Nov-2011 Bill Wendling <isanbard@gmail.com> Make the Mangler an ivar so that it doesn't have to be passed around everywhere.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143689 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/LTOModule.h
b9bff969e96a24da18d6c5d0d623a7d790d41fa2 04-Nov-2011 Bill Wendling <isanbard@gmail.com> Refactor the MCContext so that it's an ivar instead of a local which is passed
around. This is important for some future work as well.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143688 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/LTOModule.h
603e103988d98c0ea5d37e7cceaf5bbffe076f28 08-Sep-2011 Ivan Krasin <krasin@chromium.org> lto/addAsmGlobalSymbols: fail fracefully when the target does not define AsmParser.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139283 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/LTOModule.h
9a4584b54b1c2f212e77fe9cd3ebd3f05bac3118 18-Mar-2011 Rafael Espindola <rafael.espindola@gmail.com> Simplify the computation of undefined symbols. Instead of walking
functions and initializers, just report the declarations present in
the module.

The motivation is to open the way for using the lazy module parsing,
which should speed up clients that just want a symbol list (nm, ar).

This is slightly less precise, but since both -strip-dead-prototypes
and -globaldce are part of the standard pipeline, this shouldn't
change the result for clang/dragonegg produced binaries.

Any decl in an IL file was also put there because a FE expected it
to be necessary, so this should not be a problem for "-O0 -emit-llvm".

As a sanity check, I have bootstrapped clang on linux and built
firefox on both linux and darwin. A clang bootstrap on darwin
with LTO fails with or without this patch because, ironically,
the linker doesn't like the combination of dead_strip and LTO
when building libLTO.so :-)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127870 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/LTOModule.h
f21b1058a194f411000bdd8000a8b675a7874056 17-Mar-2011 Rafael Espindola <rafael.espindola@gmail.com> Add support in the LTO library for loading an object from the middle
of an file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127781 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/LTOModule.h
38c4e535493363b96eac47af9e7c056530137bea 02-Mar-2011 Rafael Espindola <rafael.espindola@gmail.com> Add a special streamer to libLTO that just records symbols definitions and
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 :-)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126830 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/LTOModule.h
b4cc031a3e1306fea74c9211d50c5cde6d9a8cd5 08-Feb-2011 Rafael Espindola <rafael.espindola@gmail.com> Don't open the file again in the gold plugin. To be able to do this, update
MemoryBuffer::getOpenFile to not close the file descriptor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125128 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/LTOModule.h
cbb170d057aa6692b19f577b1e09a6c1c7a26969 09-Aug-2010 Rafael Espindola <rafael.espindola@gmail.com> Make it possible to set the target triple and expose that with an option in the
gold plugin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110604 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/LTOModule.h
1f291059b26350bd96d7723d28a35734fe0a1484 23-Dec-2009 Douglas Gregor <dgregor@apple.com> Fix struct/class mismatch for LTOModule and LTOCodeGenerator, detected by Clang

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92004 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/LTOModule.h
e823db8bae7fe42cd4f1fa861bec8c36a636702b 18-Nov-2009 Viktor Kutuzov <vkutuzov@accesssoftek.com> Added getDefaultSubtargetFeatures method to SubtargetFeatures class which returns a correct feature string for given triple.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89236 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/LTOModule.h
0e7a54672cf346ee7c4aae10822c74f7c74f3fed 02-Jul-2009 Owen Anderson <resistor@mac.com> Maintain the old LTO API, by using the global context.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/LTOModule.h
4434ed44c45c87a72b7a0bf2f91211f895022b91 02-Jul-2009 Owen Anderson <resistor@mac.com> Make the use of const with respect to LLVMContext sane. Hopefully this is the last time, for the
moment, that I will need to make far-reaching changes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74655 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/LTOModule.h
31895e73591d3c9ceae731a1274c8f56194b9616 01-Jul-2009 Owen Anderson <resistor@mac.com> Hold the LLVMContext by reference rather than by pointer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/LTOModule.h
8b477ed579794ba6d76915d56b3f448a7dd20120 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 for Clang and LLVM-GCC to follow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74614 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/LTOModule.h
3eb445feb22647e867a339f4c59b0a716b03a21a 01-Jun-2009 Nick Kledzik <kledzik@apple.com> <rdar://problem/6927148> libLTO needs to handle i386 magic objc class symbols
Parse __OBJC data structures and synthesize magic .objc_ symbols.
Also, alter mangler so that objc method names are readable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72700 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/LTOModule.h
63d6f324ca2586c6560b939a5277590b1c37c4a4 30-May-2009 Evan Cheng <evan.cheng@apple.com> Untabify.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72600 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/LTOModule.h
7431af050f287011fd52e64034ede6dd98193feb 24-Apr-2009 Rafael Espindola <rafael.espindola@gmail.com> Add LTO_SYMBOL_DEFINITION_WEAKUNDEF, use that on the gold plugin.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69972 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/LTOModule.h
c2aec57c63a8551cef27025dc7f0d2d9e56db013 16-Jul-2008 Devang Patel <dpatel@apple.com> Do not forget global definitions from inline asm code block.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53693 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/LTOModule.h
ebd69421a2acf0c64f368de87d0795451060ed34 30-Jun-2008 Devang Patel <dpatel@apple.com> Rename new lto2 tool as lto.
lto2->lto


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52912 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/LTOModule.h