History log of /external/llvm/tools/lto/lto.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
de2d8694e25a814696358e95141f4b1aa4d8847e 20-Sep-2016 Pirama Arumuga Nainar <pirama@google.com> Update aosp/master LLVM for rebase to r275480

Bug: http://b/31320715

This merges commit 7dcf7f03e005379ef2f06db96aa93f06186b66d5 from
aosp/dev.

Test: Build AOSP and run RenderScript tests (host tests for slang and
libbcc, RsTest, CTS)

Change-Id: Iaf3738f74312d875e69f61d604ac058f381a2a1a
/external/llvm/tools/lto/lto.cpp
f3ef5332fa3f4d5ec72c178a2b19dac363a19383 04-Mar-2016 Pirama Arumuga Nainar <pirama@google.com> Update aosp/master LLVM for rebase to r256229

http://b/26987366

Change-Id: I1f29c4676a8abe633ab5707dded58d846c973d50
/external/llvm/tools/lto/lto.cpp
6948897e478cbd66626159776a8017b3c18579b9 01-Jul-2015 Pirama Arumuga Nainar <pirama@google.com> Update aosp/master LLVM for rebase to r239765

Bug: 20140355: This rebase pulls the upstream fix for the spurious
warnings mentioned in the bug.

Change-Id: I7fd24253c50f4d48d900875dcf43ce3f1721a3da
/external/llvm/tools/lto/lto.cpp
4c5e43da7792f75567b693105cc53e3f1992ad98 08-Apr-2015 Pirama Arumuga Nainar <pirama@google.com> Update aosp/master llvm for rebase to r233350

Change-Id: I07d935f8793ee8ec6b7da003f6483046594bca49
/external/llvm/tools/lto/lto.cpp
ebe69fe11e48d322045d5949c83283927a0d790b 23-Mar-2015 Stephen Hines <srhines@google.com> Update aosp/master LLVM for rebase to r230699.

Change-Id: I2b5be30509658cb8266be782de0ab24f9099f9b9
/external/llvm/tools/lto/lto.cpp
37ed9c199ca639565f6ce88105f9e39e898d82d0 01-Dec-2014 Stephen Hines <srhines@google.com> Update aosp/master LLVM for rebase to r222494.

Change-Id: Ic787f5e0124df789bd26f3f24680f45e678eef2d
/external/llvm/tools/lto/lto.cpp
c6a4f5e819217e1e12c458aed8e7b122e23a3a58 21-Jul-2014 Stephen Hines <srhines@google.com> Update LLVM for rebase to r212749.

Includes a cherry-pick of:
r212948 - fixes a small issue with atomic calls

Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
/external/llvm/tools/lto/lto.cpp
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/tools/lto/lto.cpp
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/tools/lto/lto.cpp
7e667c56cf7e27ff521ceb86518beab32bfb630d 31-Oct-2013 Rafael Espindola <rafael.espindola@gmail.com> Use LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN instead of the "dso list".

There are two ways one could implement hiding of linkonce_odr symbols in LTO:
* LLVM tells the linker which symbols can be hidden if not used from native
files.
* The linker tells LLVM which symbols are not used from other object files,
but will be put in the dso symbol table if present.

GOLD's API is the second option. It was implemented almost 1:1 in llvm by
passing the list down to internalize.

LLVM already had partial support for the first option. It is also very similar
to how ld64 handles hiding these symbols when *not* doing LTO.

This patch then
* removes the APIs for the DSO list.
* marks LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN all linkonce_odr unnamed_addr
global values and other linkonce_odr whose address is not used.
* makes the gold plugin responsible for handling the API mismatch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193800 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
07d5aef3057b2e403b20d683e7477c93fde67d99 25-Oct-2013 Reid Kleckner <reid@kleckner.net> lto.h: Use lto_bool_t instead of int to restore the ABI

This reverts commit r193255 and instead creates an lto_bool_t typedef
that points to bool, _Bool, or unsigned char depending on what is
available. Only recent versions of MSVC provide a stdbool.h header.

Reviewers: rafael.espindola

Differential Revision: http://llvm-reviews.chandlerc.com/D2019

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193377 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
266acb9fee5bcb760d9dffe2afc10d62bb86b0e1 23-Oct-2013 NAKAMURA Takumi <geek4civic@gmail.com> llvm-c/lto.h: Avoid use of bool.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193255 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
438900938c3ac9d7fac2dd5d2c85ca4b9b2e35f7 03-Oct-2013 Rafael Espindola <rafael.espindola@gmail.com> Optimize linkonce_odr unnamed_addr functions during LTO.

Generalize the API so we can distinguish symbols that are needed just for a DSO
symbol table from those that are used from some native .o.

The symbols that are only wanted for the dso symbol table can be dropped if
llvm can prove every other dso has a copy (linkonce_odr) and the address is not
important (unnamed_addr).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191922 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
0e95b3aba9b2039ae3af617e681aacca2ff81f79 02-Oct-2013 Rafael Espindola <rafael.espindola@gmail.com> Fix option parsing in the gold plugin.

This was broken when options were moved up in r191680. No test because this is
specific LLVMgold.so/libLTO.so.

Patch by Tom Roeder!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191829 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
c13c9e5a9d288eac494a38f0710d34446167f940 30-Sep-2013 Rafael Espindola <rafael.espindola@gmail.com> Move command line options to the users of libLTO. Fixes --enable-shared build.

Patch by Richard Sandiford.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191680 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
cc48854d5d51a2d7557f1040a61f160ad86c9729 25-Sep-2013 Peter Collingbourne <peter@pcc.me.uk> Move LTO support library to a component, allowing it to be tested
more reliably across platforms. Patch by Tom Roeder!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191343 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
00c198042e22d781e46180a2aec2332945712552 27-Aug-2013 Shuxin Yang <shuxin.llvm@gmail.com> Revert 189297, the original commit message is following.

----
Add new API lto_codegen_compile_parallel().

This API is proposed by Nick Kledzik. The semantic is:

--------------------------------------------------------------------------
Generate code for merged module into an array of native object files. On
success returns a pointer to an array of NativeObjectFile. The count
parameter returns the number of elements in the array. Each element is
a pointer/length for a generated mach-o/ELF buffer. The buffer is owned
by the lto_code_gen_t and will be freed when lto_codegen_dispose() is called,
or lto_codegen_compile() is called again. On failure, returns NULL
(check lto_get_error_message() for details).

extern const struct NativeObjectFile*
lto_codegen_compile_parallel(lto_code_gen_t cg, size_t *count);
---------------------------------------------------------------------------

This API is currently only called on OSX platform. Linux or other Unixes
using GNU gold are not supposed to call this function, because on these systems,
object files are fed back to linker via disk file instead of memory buffer.

In this commit, lto_codegen_compile_parallel() simply calls
lto_codegen_compile() to return a single object file. In the near future,
this function is the entry point for compilation with partition. Linker can
blindly call this function even if partition is turned off; in this case,
compiler will return only one object file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189386 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
e3427a5815ca3993584af6db28524f0c424b749e 27-Aug-2013 Shuxin Yang <shuxin.llvm@gmail.com> Add new API lto_codegen_compile_parallel().

This API is proposed by Nick Kledzik. The semantic is:

--------------------------------------------------------------------------
Generate code for merged module into an array of native object files. On
success returns a pointer to an array of NativeObjectFile. The count
parameter returns the number of elements in the array. Each element is
a pointer/length for a generated mach-o/ELF buffer. The buffer is owned
by the lto_code_gen_t and will be freed when lto_codegen_dispose() is called,
or lto_codegen_compile() is called again. On failure, returns NULL
(check lto_get_error_message() for details).

extern const struct NativeObjectFile*
lto_codegen_compile_parallel(lto_code_gen_t cg, size_t *count);
---------------------------------------------------------------------------

This API is currently only called on OSX platform. Linux or other Unixes
using GNU gold are not supposed to call this function, because on these systems,
object files are fed back to linker via disk file instead of memory buffer.

In this commit, lto_codegen_compile_parallel() simply calls
lto_codegen_compile() to return a single object file. In the near future,
this function is the entry point for compilation with partition. Linker can
blindly call this function even if partition is turned off; in this case,
compiler will return only one object file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189297 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
cfaa636a1d31f2db71df627e4882e9d5c066c419 12-Aug-2013 Shuxin Yang <shuxin.llvm@gmail.com> Revert r188188 and r188200.

In order to appease people (in Apple) who accuse me for committing "huge change" (?) without proper review.

Thank Eric for fixing a compile-warning.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188204 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
67d135ae40b121a138e334a175d0e02dbb54eeca 12-Aug-2013 Shuxin Yang <shuxin.llvm@gmail.com> Misc enhancements to LTO:

1. Add some helper classes for partitions. They are designed in a
way such that the top-level LTO driver will not see much difference
with or without partitioning.

2. Introduce work-dir. Now all intermediate files generated during
LTO phases will be saved under work-dir. User can specify the workdir
via -lto-workdir=/path/to/dir. By default the work-dir will be
erased before linker exit. To keep the workdir, do -lto-keep, or -lto-keep=1.

TODO: Erase the workdir, if the linker exit prematurely.
We are currently not able to remove directory on signal. The support
routines simply ignore directory.

3. Add one new API lto_codegen_get_files_need_remove().
Linker and LTO plugin will communicate via this API about which files
(including directories) need to removed before linker exit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188188 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
235089bdaefabcef9e9cde28eb3b0d8937b12a0d 07-Aug-2013 Shuxin Yang <shuxin.llvm@gmail.com> Change public functions of LTOCodeGenerator from ret-false-on-succ to ret-true-on-succ.

As of this revision, all functions of LTOCodeGenerator are consistent in
ret-true-on-succ.

Tested on multiple OSes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187864 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
70c7e485453fdbc228406715556f9447bc9f9fd8 23-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Split getOpenFile into getOpenFile and getOpenFileSlice.

The main observation is that we never need both the filesize and the map size.
When mapping a slice of a file, it doesn't make sense to request a null
terminator and that would be the only case where the filesize would be used.

There are other cleanups that should be done in this area:

* A client should not have to pass the size (even an explicit -1) to say if
it wants a null terminator or not, so we should probably swap the argument
order.
* The default should be to not require a null terminator. Very few clients
require this, but many end up asking for it just because it is the default.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186984 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
50f318384c4db1419f9c48d85af350260c4976b8 10-Dec-2012 Bill Wendling <isanbard@gmail.com> Revert r169656.

The linker will call `lto_codegen_add_must_preserve_symbol' on all globals that
should be kept around. The linker will pretend that a dylib is being created.
<rdar://problem/12528059>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169770 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
f62b9cd8905fd04e78775e29a01f41667286e67c 08-Dec-2012 Bill Wendling <isanbard@gmail.com> Add the `lto_codegen_set_export_dynamic' function.

This function sets the `_exportDynamic' ivar. When that's set, we export all
symbols (e.g. we don't run the internalize pass). This is equivalent to the
`--export-dynamic' linker flag in GNU land:

--export-dynamic
When creating a dynamically linked executable, add all symbols to the dynamic
symbol table. The dynamic symbol table is the set of symbols which are visible
from dynamic objects at run time. If you do not use this option, the dynamic
symbol table will normally contain only those symbols which are referenced by
some dynamic object mentioned in the link. If you use dlopen to load a dynamic
object which needs to refer back to the symbols defined by the program, rather
than some other dynamic object, then you will probably need to use this option
when linking the program itself.

The Darwin linker will support this via the `-export_dynamic' flag. We should
modify clang to support this via the `-rdynamic' flag.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169656 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
f010c464a11444733ec67e31aace8bcebeaf2588 04-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Sort the #include lines for tools/...

Again, tools are trickier to pick the main module header for than
library source files. I've started to follow the pattern of using
LLVMContext.h when it is included as a stub for program source files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169252 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
4d2e9d9a1c213db144785f386ce661914d17afb6 16-Apr-2012 Rafael Espindola <rafael.espindola@gmail.com> Remove lto_codegen_set_whole_program_optimization. It is a work in progress,
so we don't want it to show up in the stable 3.1 interface.

While at it, add a comment about why LTOCodeGenerator manually creates the
internalize pass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154807 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
a3706d6754e972c4339e4495a18d803027bb9195 09-Apr-2012 Bill Wendling <isanbard@gmail.com> s/lto_codegen_whole_program_optimization/lto_codegen_set_whole_program_optimization/

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154312 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
3029a0c56a1e4249746ff6b54d825e88fee6cddf 09-Apr-2012 Bill Wendling <isanbard@gmail.com> Add a hook to turn on the internalize pass through the LTO interface.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154306 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
168f1428346f3d51304db0be64e1d5e4a09ca4c2 31-Mar-2012 Bill Wendling <isanbard@gmail.com> Cleanup whitespace and remove unneeded 'extern' keyword on function definitions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153802 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
8fd3fcdba8be962aad1ed48bedbfddffc238c657 30-Mar-2012 Bill Wendling <isanbard@gmail.com> Cleanup whitespace. Doxygenize comments. And indent to llvm coding standards.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153740 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
7a2bdde0a0eebcd2125055e0eacaca040f0b766c 15-Apr-2011 Chris Lattner <sabre@nondot.org> Fix a ton of comment typos found by codespell. Patch by
Luis Felipe Strano Moraes!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129558 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
6421a8815e14189121a5e20731fd005ea08793e1 22-Mar-2011 Rafael Espindola <rafael.espindola@gmail.com> Add a lto_codegen_compile_to_file to avoid producing a file, reading it to
memory and writing it back to disk.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128108 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
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/lto.cpp
e9efea1194691580c74520aad48887d95fd0ce1b 24-Feb-2011 Rafael Espindola <rafael.espindola@gmail.com> Switch LTO to use MC. This takes the linking of libxul.so from about 7m to
6m30.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126426 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
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/lto.cpp
6a6623c596fc12f64c813ea14a006ac6da3e33fe 07-Jan-2011 Devang Patel <dpatel@apple.com> Do not include DataTypes.h in llvm-c/lto.h.
This means avoid using uint32_t. This patch reverts r112200 and fixes original problem by fixing argument type in lto.cpp.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123038 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
767b5b6227a49cac98c275ab05f1560da0fe90be 26-Aug-2010 Devang Patel <dpatel@apple.com> Fix prototypes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112200 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
2d643ef32891859ec73b6eea2959748f5ebc3af7 11-Aug-2010 Rafael Espindola <rafael.espindola@gmail.com> Make it possible to set the cpu used for codegen.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110759 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
98197e55c10176c3ef9100f7d852abbd2347225f 10-Aug-2010 Rafael Espindola <rafael.espindola@gmail.com> Make it possible to set the flags passed to the assembler.

Nick, please review.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110705 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
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/lto.cpp
3e4c41a84a2c0f055e2bfef48a66b5890bcfd5e5 03-Aug-2009 Nick Lewycky <nicholas@mxc.ca> Remove the GCC path from libLTO. This has been superceded by setAssemblerPath.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77960 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
d44d4bf04b69fa7b003a0792a78ab132e40fe76f 03-Jul-2009 Duncan Sands <baldrick@free.fr> Add newline at end of file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74774 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
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/lto.cpp
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/lto.cpp
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/lto.cpp
855a168dbeddfb905ca4cb1e9402a2ec2eab27ea 26-Jun-2009 Evan Cheng <evan.cheng@apple.com> Indentation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74281 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
cbad58624090933cb8fb85587e03be613a481309 04-Jun-2009 Nick Kledzik <kledzik@apple.com> <rdar://problem/6940611> libLTO.dylib needs to let linker specify path to assembler
Add lto_codegen_set_assembler_path() API which allows the linker to specify the
path to the assembler tool to run. When assembler is used (instead of compiler)
different command line options are used.
Add LTO_API_VERSION #define so clients (linkers) can conditionalize use of new APIs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72823 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
195bea3498a7de1d84ace6d4685f02d4d7485468 30-Apr-2009 Nick Lewycky <nicholas@mxc.ca> Allow a user of libLTO to specify the full pathname of the gcc executable to
run when assembling.

Wire this up to the gold plugin. You can now pass --plugin-opt gcc=/foo/bar/gcc
and it will run that gcc instead of looking for it on the path.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70490 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
920ae9863b51ce1e33a1bf702e672e0483c04cd8 08-Jul-2008 Nick Kledzik <kledzik@apple.com> fix dangling pointer and argv off by one errors. Add support for --disable-inlining

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53249 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
a93ae711a91dd151ca4d28e4172e0de89d1594f3 04-Jul-2008 Devang Patel <dpatel@apple.com> Provide a hook to set the code generation debug options to investigate lto failures.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53119 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
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/lto.cpp
5eabc9d4f68257924bdcd0a63e7e29561b3501ee 30-Jun-2008 Devang Patel <dpatel@apple.com> Remove old LTO interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52909 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
7d5633e9074db9eaf796e677451f6642c0174fac 17-May-2008 Dale Johannesen <dalej@apple.com> Add CommonLinkage to lto (treated same as weak AFAICT)
and llvm-nm (prints as C).



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51209 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
d2368dc344bf46e2f5df3de1bff74ab0228d99a9 22-Apr-2008 Owen Anderson <resistor@mac.com> Move MemCpyOpt after GVN.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50097 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
ecbc963edac68c6ec6d1d53882bb2c25eb07df16 22-Apr-2008 Owen Anderson <resistor@mac.com> Add MemCpyOpt to LTO.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50081 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
eb60fb9c1f9abf9b5b6d714db2da440746bd3769 21-Apr-2008 Owen Anderson <resistor@mac.com> Use GVN in LTO instead of GCSE+LoadVN.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50036 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
dedf502fba8e9a009212233810ce1bcbe10619d0 02-Apr-2008 Dale Johannesen <dalej@apple.com> Make EH work with unnamed functions. Reenable running
StripSymbols when EH is on.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49110 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
5252ae6ecad11b578e9bc61806670494efd439c8 07-Feb-2008 Devang Patel <dpatel@apple.com> Begin setting features for target based on target triple string.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46863 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
0e50128099171b431b05a34f5b98ea1c2f82b867 04-Feb-2008 Devang Patel <dpatel@apple.com> Do not set time out, lets assume assembler will do its job in reasonable amount of time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46718 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
bc9ed593d7624eb01b498776042eb438137ef007 02-Feb-2008 Devang Patel <dpatel@apple.com> Do not strip symbols when EH is ON.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46657 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
59c8d8ae892f8c9e7ab4054d6be3efd0b66a7e4f 30-Jan-2008 Devang Patel <dpatel@apple.com> Supply appropriate arch info to darwin assembler.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46567 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
21b70b237d404ebdde190a072d90f630db92f691 30-Jan-2008 Devang Patel <dpatel@apple.com> Enable exception handling if it is supported.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46560 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
5e563c326490207ebd58d47935fb9efda7638aa2 16-Jan-2008 Devang Patel <dpatel@apple.com> - Introduces versioning macro LLVM_LTO_VERSION
- Communicate symbol visibility
- Communicate code generation model


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46033 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
21c62da287237d39d0d95004881ea4baae3be6da 29-Dec-2007 Chris Lattner <sabre@nondot.org> remove attributions from tools.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45421 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
fe085f3fde7676ddfc2241ed7ff4dbd68f88f326 20-Dec-2007 Devang Patel <dpatel@apple.com> Revert my previous check-in.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45249 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
e3611871cb5430f9c958cab1be7ef2e0778b3241 20-Dec-2007 Devang Patel <dpatel@apple.com> Add lto version check mechanism.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45238 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
4b2b9402c5c369b94b35837470a170f1d0e47e1f 17-Oct-2007 Gordon Henriksen <gordonhenriksen@mac.com> Switching TargetMachineRegistry to use the new generic Registry.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43094 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
cbb7ec7396914560e107ff32d4a820774c4392dd 18-Jul-2007 Reid Spencer <rspencer@reidspencer.com> Fix a sys::Path API error caught by a gcc 4.2 warning.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39995 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
a99be51bf5cdac1438069d4b01766c47704961c8 05-Jul-2007 Gabor Greif <ggreif@gmail.com> Here is the bulk of the sanitizing.
Almost all occurrences of "bytecode" in the sources have been eliminated.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37913 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
744879ea01779a48f898a801c847677b0bfa824a 06-May-2007 Chris Lattner <sabre@nondot.org> switch tools to bitcode from bytecode


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36872 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
68d4922adfde16a5477c84f25f4e84aa4129943e 06-May-2007 Chris Lattner <sabre@nondot.org> bitcodify


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36838 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
54959d6cf68a9b575c98c074babe9867682a7271 07-Mar-2007 Devang Patel <dpatel@apple.com> Now LICM is a LoopPass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35001 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
9ba8a76f8baaa1092d60ccfbc04e7efdc207c98f 16-Feb-2007 Anton Korobeynikov <asl@math.spbu.ru> Add possibility to set memory limit for binaries run via libSystem. This
is especially needed for bugpoint. This partly implements PR688


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34349 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
62062b59df4e59d8c08044634c2bb7ef25f964ed 08-Feb-2007 Bill Wendling <isanbard@gmail.com> Avoid assert() in lto. Let linker handle all failures. Use LTO_WRITE_FAILURE
instead of LTO_UNKNOWN.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34036 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
546d0fbd9718ea5ad422faaeffea939fe7312408 08-Feb-2007 Bill Wendling <isanbard@gmail.com> The new version of how to add passes to emit files. We explicitly call a
function to add the file writers between calls to add the passes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34035 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
ef9b9a793949469cdaa4ab6d0173136229dcab7b 05-Feb-2007 Reid Spencer <rspencer@reidspencer.com> For PR411:
This patch replaces the SymbolTable class with ValueSymbolTable which does
not support types planes. This means that all symbol names in LLVM must now
be unique. The patch addresses the necessary changes to deal with this and
removes code no longer needed as a result. This completes the bulk of the
changes for this PR. Some cleanup patches will follow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33918 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
3281528de4755f8f4653bf6ff509ec88d795f975 01-Feb-2007 Devang Patel <dpatel@apple.com> Add printVersion(). Linker can use it to print LLVM version number.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33738 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
5cbf985dcbc89fba3208e7baf8b6f488b06d3ec9 30-Jan-2007 Reid Spencer <rspencer@reidspencer.com> For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoid
confusion with external linkage types.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
17be6791b8b22b36850340a44a6f05de5c3cbf85 21-Jan-2007 Chris Lattner <sabre@nondot.org> default to emiting an uncompressed .bc file


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33420 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
27376106d94017a72fc602bd9279a6f9fd3018da 08-Jan-2007 Devang Patel <dpatel@apple.com> Modules are consumed when they are merged together by Linker.
Clear modules vector so that destructure does not try to
delete these modules again. Patch by Chandler Carruth.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33017 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
40e274b5799b13646914b31c622ac857e5929732 08-Jan-2007 Chandler Carruth <chandlerc@gmail.com> Build libLLVMlto on non-Darwin architectures. Resolves PR1055: http://llvm.org/PR1055


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33006 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
11fdadf407642167c5e2b8a1ed40c66c0c6dbdf2 07-Jan-2007 Chris Lattner <sabre@nondot.org> fix typo


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32965 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
e81561909d128c6e2d8033cb5465a49b2596b26a 07-Dec-2006 Bill Wendling <isanbard@gmail.com> Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, are
now cerr, cout, and NullStream resp.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
68fe61d6a165ea6090008e281330895a21607daf 29-Nov-2006 Bill Wendling <isanbard@gmail.com> Replacing std::iostreams with llvm iostreams. Some of these changes involve
adding a temporary wrapper around the ostream to make it friendly to
functions expecting an LLVM stream. This should be fixed in the future.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31990 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
38187d6a56326d0d6339f09c1ef21d52174d95a8 26-Oct-2006 Devang Patel <dpatel@apple.com> Save temp. bc files when saveTemps flag is true. Use final output file
name supplied by linker to construct temp bc file names.

Remove tabs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31205 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
08fb05c3ac440979021f508bfee073359be46f7e 25-Oct-2006 Devang Patel <dpatel@apple.com> Supply alignment info to linker through LLVMSymbol.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31181 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
6152b7ec25b8d225dc1e146e241d1c6061c8221b 24-Oct-2006 Devang Patel <dpatel@apple.com> Instead of hard coding global prefix, use TargetAsmInfo.
Add LTO destructor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31168 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
2a4dd685357e2fd248ab458d3bed4ea21350815b 24-Oct-2006 Devang Patel <dpatel@apple.com> Fix typo. Add more comment. Avoid extra hash_map search.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31144 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
f2ca21f88f4e38996b6804dfa25fe7a72814736d 24-Oct-2006 Devang Patel <dpatel@apple.com> Add removeModule().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31142 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
dc4c38279f6bf3b001515e6723e7b6d79ed378b0 09-Oct-2006 Devang Patel <dpatel@apple.com> Use FindProgramByName instead of FindExecutable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30846 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
9f5d48bcb1c6e72363567089242960bfde5171bb 09-Oct-2006 Devang Patel <dpatel@apple.com> Do error checking.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30842 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
3f0e5e205772af1529d980cb1fb2c910ef38417c 09-Oct-2006 Devang Patel <dpatel@apple.com> Use GetTemporaryDirectory. Fix http://llvm.org/bugs/show_bug.cgi?id=894


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30838 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
c7cfbc58ad88f127df6949791401969a09da560f 21-Sep-2006 Devang Patel <dpatel@apple.com> Use abstract class to facilitate dlopen() interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30569 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
544ea34a9f7aeef5fa3cbfdaae5933f93f4f68ec 14-Sep-2006 Devang Patel <dpatel@apple.com> Add comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30315 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
97d92d50aa52fd7f891ddeaf9e3886305a5a77d9 14-Sep-2006 Devang Patel <dpatel@apple.com> GlobalValue with InternalLinkage may have operands with ExternalLinkage
type. Do not ignore these operands while finding external references.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30310 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
998051a2211a5f86b38941de0aca241b34895e1e 07-Sep-2006 Devang Patel <dpatel@apple.com> Using addPassesToEmitWholeFile is not a good idea here.
Use FunctionPassManager to do the job.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30160 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
bdaf3dc8c33161babe436a19ee35748871657573 07-Sep-2006 Devang Patel <dpatel@apple.com> Use addPassesToEmitWholeFile() instead of addPassesToEmitFile()


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30153 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
a291a68161bd37448404dc10c4815d4420cb2d30 06-Sep-2006 Devang Patel <dpatel@apple.com> Add getTargetTriple() that linker can use to query target architecture.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30132 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
0701a2f70df66134ead84d4fe86b20b8f28c4fc3 06-Sep-2006 Devang Patel <dpatel@apple.com> Keep track of all modules crated using a name to module map.
Add private member function getMoudle().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30130 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
ed872865d0316ec754d93f703dd39f21745e45ca 06-Sep-2006 Devang Patel <dpatel@apple.com> Instead of demangling symbol name by hand, use original name, which was
used to mangle symbol name, directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30124 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
2681023488d70303ec788bc8a0a3f5336257830a 06-Sep-2006 Devang Patel <dpatel@apple.com> Extract target triplet from optimized module.
Untabify.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30123 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
ca64012ac6b21d868ccf2fcc26febd991ef2cc9c 23-Aug-2006 Devang Patel <dpatel@apple.com> If unable to create tmp. file on disk then return LTO_WRITE_FAILURE status.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29844 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
e5c9cb5eb6bce502faaedea04014dab46f6540f4 23-Aug-2006 Reid Spencer <rspencer@reidspencer.com> For PR797:
Remove exceptions from the Path::create*OnDisk methods. Update their users
to handle error messages via arguments and result codes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29840 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
023fcf977660e686e04f5bef0e2a7321db47df7e 21-Aug-2006 Reid Spencer <rspencer@reidspencer.com> For PR797:
Make sys::Program::ExecuteAndWait not throw exceptions and update any
affected code. It now return -9999 to signal that the program couldn't be
executed. Only one case (in bugpoint) actually examines the result code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29785 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
2198f9cec47b4683377d4f4080acb14dd94fad65 15-Aug-2006 Devang Patel <dpatel@apple.com> untabify


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29686 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
30235dad4b77ed83ca985030aff4fb4767551e5d 15-Aug-2006 Devang Patel <dpatel@apple.com> Use mangler, instead of addUnderscore(), to get mangled name.
Now, LLVMSymbol keeps symbol original name and mangled name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29679 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
304d5f2edc954a3ef9904ea6d8f9421f40c9abe4 04-Aug-2006 Devang Patel <dpatel@apple.com> Collect references from globals.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29530 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
94a0ac9bea7411bf98512b44b7e9bba42ee9a07f 03-Aug-2006 Devang Patel <dpatel@apple.com> Fix typo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29502 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/lto/lto.cpp
a89d47f54d1f83d328f6169151653bfc742607bf 03-Aug-2006 Devang Patel <dpatel@apple.com> Add new tool, lto, to do link time optimization. This tool installs
dynamic library that linker can use to optimize llvm byte codes at
link time.


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