cd81d94322a39503e4a3e87b6ee03d4fcb3465fb |
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
MakeLists.txt
to.cpp
|
dce4a407a24b04eebc6a376f8e62b41aaa7b071f |
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for 3.5 rebase (r209712). Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
to.cpp
|
36b56886974eae4f9c5ebc96befd3e7bfe5de338 |
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Update to LLVM 3.5a. Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
MakeLists.txt
akefile
to.cpp
to.exports
|
2531651206a2d12d37ad93a6f9bc9f8762105b4e |
11-Nov-2013 |
Bob Wilson <bob.wilson@apple.com> |
Change libLTO back to linking with @executable_path instead of @rpath. This partially reverts r187641 until ld64 adopts a change to link with an rpath setting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194418 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
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
to.cpp
to.exports
|
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
to.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
to.cpp
|
5a0169f0a1434014e727b22240a45a1f329cc0be |
08-Oct-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Only modify lto.exports.def when contents have changed. Patch by Greg Bedwell. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192182 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
|
ef522b4c9c4d9357c355edf99edd766af3429faf |
04-Oct-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add lto_codegen_add_dso_symbol to the export list. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191970 91177308-0d34-0410-b5e6-96231b3b80d8
to.exports
|
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
to.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
to.cpp
|
2be8ab460378455f82d719a872420fb5053f1bd5 |
02-Oct-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Enable building LTO on WIN32. Enable building the LTO library (.lib and.dll) and llvm-lto.exe on Windows with MSVC and Mingw as well as re-enabling the associated test. Patch by Greg Bedwell! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191823 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
|
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
to.cpp
|
4b5205d2a3e0df909f29de0bff8ea775ad21fe0f |
30-Sep-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Revert "Enable building LTO on WIN32." This reverts commit r191670. It was causing build failures on the msvc bots: http://bb.pgr.jp/builders/ninja-clang-i686-msc17-R/builds/5166/steps/compile/logs/stdio git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191679 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
|
a5b9cd1c68eda914ffcf133228824ca58e1ba518 |
30-Sep-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Enable building LTO on WIN32. Enable building the LTO library (.lib and.dll) and llvm-lto.exe on Windows with MSVC and Mingw as well as re-enabling the associated test. Patch by Greg Bedwell! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191670 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
|
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
MakeLists.txt
TOCodeGenerator.cpp
TOCodeGenerator.h
TOModule.cpp
TOModule.h
akefile
to.cpp
|
88fae0edcce84920ba7c5685c36f6bd6cfb9b86d |
20-Sep-2013 |
Peter Collingbourne <peter@pcc.me.uk> |
Fix LTO handling of module-level assembly (PR14152). Patch by Tom Roeder! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191042 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
9de16c1008e11633ea3df8e095e25f3082c11c32 |
12-Sep-2013 |
Joey Gouly <joey.gouly@arm.com> |
[LTO] Fix the LTO tool, after my API breakage. Thanks to Zonr Chang! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190602 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
775079c227083be3fe22f6ae071d5b74a7ade745 |
04-Sep-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Rename some variables to match the style guide. I am about to patch this code, and this makes the diff far more readable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189982 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOCodeGenerator.h
|
66efc63d87a371891cac3d1a2fab114a6ab0fa64 |
04-Sep-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Rename variables to match the style guide and clang-format. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189962 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOCodeGenerator.h
|
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
TOCodeGenerator.cpp
TOCodeGenerator.h
to.cpp
to.exports
|
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
TOCodeGenerator.cpp
TOCodeGenerator.h
to.cpp
to.exports
|
d19346524ce01a16dd1228fa71e3511986aa2718 |
26-Aug-2013 |
Hans Wennborg <hans@hanshq.net> |
CMake: move lto.h install to tools/lto/CMakeLists.txt It looked misplaced in the main CMakeLists.txt file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189230 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
|
1f2c399bdb17b30217c8f9d900bde706a160bb35 |
23-Aug-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
lto/CMakeLists.txt: Cut the dep to intrinsics_gen. LTO doesn't depend on it and LTO_static doesn't depend on anything. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189086 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
|
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
MakeLists.txt
TOCodeGenerator.cpp
TOCodeGenerator.h
TOPartition.cpp
TOPartition.h
TOPostIPODriver.cpp
TOPostIPODriver.h
to.cpp
to.exports
|
55e464b4056e81b6a3d976533b43e7155e5dd7c6 |
12-Aug-2013 |
Eric Christopher <echristo@gmail.com> |
Fix warning about unused member. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188200 91177308-0d34-0410-b5e6-96231b3b80d8
TOPostIPODriver.h
|
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
MakeLists.txt
TOCodeGenerator.cpp
TOCodeGenerator.h
TOPartition.cpp
TOPartition.h
TOPostIPODriver.cpp
TOPostIPODriver.h
to.cpp
to.exports
|
1c9cd021c8999d9c2c0786dff074d1e75bbd0eb2 |
09-Aug-2013 |
Saleem Abdulrasool <compnerd@compnerd.org> |
[CodeGen] prevent abnormal on invalid attributes Currently, when an invalid attribute is encountered on processing a .s file, clang will abort due to llvm_unreachable. Invalid user input should not cause an abnormal termination of the compiler. Change the interface to return a boolean to indicate the failure as a first step towards improving hanlding of malformed user input to clang. Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188047 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
6ba2ed53bb0b69efa4bddb317c2c859ea2bca0f5 |
09-Aug-2013 |
Bill Wendling <isanbard@gmail.com> |
Revert r185882. This is causing problems with the gold linker and might be better handled by the linker. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188029 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.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
TOCodeGenerator.cpp
TOCodeGenerator.h
to.cpp
|
0880939a590abab124c8520aaa4ac5a46f1937c6 |
06-Aug-2013 |
Shuxin Yang <shuxin.llvm@gmail.com> |
Change private functions of LTOCodeGenerator from ret-false-on-succ to ret-true-on-succ. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187819 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
01d7203ef8316fdd71c3cec59f8e68fb869e0dbf |
06-Aug-2013 |
Tom Stellard <thomas.stellard@amd.com> |
Factor FlattenCFG out from SimplifyCFG Patch by: Mei Ye git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187764 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
4f4a190d9f9847c95f5b2db8ca7a19769261e8bc |
06-Aug-2013 |
Shuxin Yang <shuxin.llvm@gmail.com> |
Add some comment to LTOCodeGenerator class git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187761 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.h
|
9f4eaaf0dca65851ecdd16d266f49edfd2b11949 |
02-Aug-2013 |
Eric Christopher <echristo@gmail.com> |
Use @rpath for libraries rather than @executable_path on OSX. Patch by Benjamin Scarlet! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187641 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
61fc8d670f1e991804c2ab753e567981e60962cb |
01-Aug-2013 |
Bill Wendling <isanbard@gmail.com> |
Use function attributes to indicate that we don't want to realign the stack. Function attributes are the future! So just query whether we want to realign the stack directly from the function instead of through a random target options structure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187618 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
57e6b2d1f3de0bf459e96f7038e692d624f7e580 |
27-Jul-2013 |
Tom Stellard <thomas.stellard@amd.com> |
SimplifyCFG: Use parallel-and and parallel-or mode to consolidate branch conditions Merge consecutive if-regions if they contain identical statements. Both transformations reduce number of branches. The transformation is guarded by a target-hook, and is currently enabled only for +R600, but the correctness has been tested on X86 target using a variety of CPU benchmarks. Patch by: Mei Ye git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187278 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
f245ae5a4a78d5a02b3b9e2dae819077a56d81e7 |
25-Jul-2013 |
Bill Wendling <isanbard@gmail.com> |
Replace the "NoFramePointerElimNonLeaf" target option with a function attribute. There's no need to specify a flag to omit frame pointer elimination on non-leaf nodes...(Honestly, I can't parse that option out.) Use the function attribute stuff instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187093 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.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
TOModule.cpp
TOModule.h
to.cpp
|
c679d6b461932966eb99b218845fd69df2257e82 |
23-Jul-2013 |
Shuxin Yang <shuxin.llvm@gmail.com> |
remove unnecessary space git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186931 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
0dcba2fadb990ba2298ba43d76372c754b240cee |
22-Jul-2013 |
Bill Wendling <isanbard@gmail.com> |
Recommit r186217 with testcase fix: Use the function attributes to pass along the stack protector buffer size. Now that we have robust function attributes, don't use a command line option to specify the stack protecto buffer size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186863 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
8945f753edf14b998fe57fd0a8b675b61aeb0164 |
22-Jul-2013 |
Shuxin Yang <shuxin.llvm@gmail.com> |
Initialize/Register LTO passes to enable flags like -print-after=<lto-pass> There already have two "dead" functions, initialize{IPO|IPA}, defined for similar purpose. I decide not to call these two functions for two reasons: o. they don't cover all LTO passes (which will soon be separated into IPO and post-IPO passes) o. We have not yet figured out the right passes and the ordering for IPO and post-IPO stages, meaning this change is only for the time being. Since LTO passes are registered, we are now able to print IR before and after particular point. For OSX users: -------------- "...-Wl,-mllvm -Wl,-print-after=<pass-name>" will print IR after the specified pass. For Other UNIX with GNU gold linker: ------------------------------------ "-Wl,-plugin-opt=-print-after=<pass-name>" should work. (NOTE: no need for "-Wl,-mllvm") Strip "-Wl," if flags are fed directly to linker instead of clang/clang++. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186853 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOCodeGenerator.h
|
c1b49b56d4132efa2e06deb8f23508d0de4c8800 |
16-Jul-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add a wrapper for open. This centralizes the handling of O_BINARY and opens the way for hiding more differences (like how open behaves with directories). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186447 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
12c74dc2c2ee306f60fb39a9b2a43000e23addcc |
13-Jul-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Revert commit r186217 -- this is breaking bots: http://lab.llvm.org:8013/builders/clang-x86_64-darwin11-nobootstrap-RAincremental/builds/4328 Original commit log: Use the function attributes to pass along the stack protector buffer size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186234 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
8a50013cc23810aa3e1ac8da66764fbb2d96147e |
13-Jul-2013 |
Bill Wendling <isanbard@gmail.com> |
Use the function attributes to pass along the stack protector buffer size. Now that we have robust function attributes, don't use a command line option to specify the stack protecto buffer size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186217 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
c6fbaa97016beb90a7508dd6442c83565c27c241 |
09-Jul-2013 |
Bill Wendling <isanbard@gmail.com> |
Don't run internalize if we're outputing bit-code and not an object file. The problem with running internalize before we're ready to output an object file is that it may change a 'weak' symbol into an internal one, but that symbol could be needed by an external object file --- e.g. with arclite. <rdar://problem/14334895> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185882 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
1276b396130a0cdbbb8e6c05a6e43123df18ed60 |
05-Jul-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Use sys::fs::createTemporaryFile. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185719 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
a3863ea2dacafc925a8272ebf9884fc64bef686c |
02-Jul-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove address spaces from MC. This is dead code since PIC16 was removed in 2010. The result was an odd mix, where some parts would carefully pass it along and others would assert it was zero (most of the object streamer for example). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185436 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
99cb622041a0839c7dfcf0263c5102a305a0fdb5 |
18-Jun-2013 |
Bill Wendling <isanbard@gmail.com> |
Use pointers to the MCAsmInfo and MCRegInfo. Someone may want to do something crazy, like replace these objects if they change or something. No functionality change intended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184175 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
68c0efac35021516bf46b2793e56e0d9d804c9e8 |
17-Jun-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Don't use PathV1.h in LTOCodeGenerator.cpp This patch also adds a simpler version of sys::fs::remove and a tool_output_file constructor for when we already have an open file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184095 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
b7e2188f7fb9a1c1cb6dbd32b206e44b11b4a157 |
13-Jun-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Don't use PathV1.h in Signals.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183947 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
c3907f387f0b2ec20913c6f869131c5ffd9f08df |
12-Jun-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Inline Path::isBitcodeFile into only use and remove it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183840 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
f3e397eb17327423b3f8fff5eac8547c85efddb1 |
11-Jun-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Include PathV1.h in files that use it. This is preparation for replacing Path.h with PathV2.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183782 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
6c21feb0b7f6f4c9b92878cf22d59aed4ebe226f |
11-Jun-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Convert another use of sys::identifyFileType. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183759 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
f12745f7a7e68c05c89ebd515b9b4faedce37dd0 |
10-Jun-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Pass a StringRef to sys::identifyFileType. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183669 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
8240ef04108620fef51219e9495a6e71e95ccd75 |
04-Jun-2013 |
Bob Wilson <bob.wilson@apple.com> |
Remove "-Wl,-seg1addr -Wl,0xE0000000" from link options. Specifying the load address for Darwin i386 dylibs was a performance optimization for dyld that is not relevant for x86_64 or arm. We can just remove this now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183230 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
cc5a882c96af6e36bc029b7ff69f62f94e2d041d |
29-May-2013 |
Bill Wendling <isanbard@gmail.com> |
Don't reach into the middle of TargetMachine and cache one of its ivars. Not only does this break encapsulation, it's gross. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182876 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
c6af2432c802d241c8fffbe0371c023e6c58844e |
25-May-2013 |
Michael J. Spencer <bigcheesegs@gmail.com> |
Replace Count{Leading,Trailing}Zeros_{32,64} with count{Leading,Trailing}Zeros. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182680 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
8c18a6fe370f7f1fb3208a12434e862fc5e9b2e6 |
23-May-2013 |
Bill Wendling <isanbard@gmail.com> |
The command line options need to be processed before we create the TargetMachine. Move the processing of the command line options to right before we create the TargetMachine instead of after. <rdar://problem/13468287> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182611 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
fca88631650af3e862f7df012f34d9c724a9ed7c |
04-May-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Last batch of cleanups to Linker.h. Update comments, fix * placement, fix method names that are not used in clang, add a linkInModule that takes a Mode and put it in Linker.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181099 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
105193772d84057493968310c1d1c6dd0f1ae735 |
04-May-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Don't construct or delete a module on the Linker. The linker is now responsible only for actually linking the modules, it is up to the clients to create and destroy them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181098 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
ae8f1f3fde1d9618bfcf8f629ffd68c26015f921 |
04-May-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove unused members and constructor arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181096 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
b00b4bed57af9d6c8f2a4ee138ca471fd06b0750 |
04-May-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add missing header. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181095 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.h
|
53f1b19c6e0b0b2fe2dfccd543738a20241c8e78 |
03-May-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove redundant flag. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180967 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
2900535e65683a74c01659c9776f78a8070798b5 |
02-May-2013 |
Bill Wendling <isanbard@gmail.com> |
We don't want FP elimination when doing an Apple-style build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180949 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
d4ee3920c928f51e4c4d70b4fae97f4d99be2583 |
24-Apr-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Don't produce an empty llvm.compiler.used in LTO. LTO was always creating an empty llvm.compiler.used. With this patch we now first check if there is anything to be added first. Unfortunately, there is no good way to test libLTO in isolation as it needs gold or ld64, but there are bots doing LTO builds that found this problem. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180202 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
df39be6cb4eb44011db3d3e86f8fe463f81ce127 |
17-Apr-2013 |
Peter Collingbourne <peter@pcc.me.uk> |
Add support for subsections to the ELF assembler. Fixes PR8717. Differential Revision: http://llvm-reviews.chandlerc.com/D598 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179725 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
d696544eacbab22277924bc5f5acd85f615f31ea |
30-Mar-2013 |
Bob Wilson <bob.wilson@apple.com> |
Run the ObjCARCContract pass for LTO. <rdar://problem/13538084> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178385 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
a991b254f71173f3911be3b313b5304dd9b3b862 |
13-Mar-2013 |
Lang Hames <lhames@gmail.com> |
Make LTO codegen use a PassManager, rather than a FunctionPassManager, for the codegen passes. This brings it in to line with clang and llc's codegen setup, and tidies up the code. If I understand correctly, adding ModulePasses to a FunctionPassManager is bogus. It only seems to explode if an added ModulePass depends on a FunctionPass though, which might be why this code has survived so long. Fixes <rdar://problem/13386816>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176977 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
6303b661b390ef37185f7e5f5cdd352287caf1fc |
28-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Add the -disable-opt option to LTO. This adds: - Consistency with opt (which supports the same option with the same meaning and description). - Debugging gold plugin-based linking without optimizations getting in the way. - Debugging programs linked with the gold plugin while preserving the original debug info. - Fine-grained control over LTO passes using the gold plugin in combination with opt (or clang/dragonegg). Patch by Cristiano Giuffrida! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176257 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
ee740ddf9d8248e39032567dc22766b0f8b45cd6 |
13-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Use 'RC_XBS' instead of 'RC_BUILDIT' to catch all times when it's built in the Apple way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175069 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
03c209733bd5459d84177e43eb19dabe64be3da7 |
01-Feb-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Fix a copy/paste-o that got missed because 'check' doesn't build lto. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174115 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
5da3665cc501ed8928e63678254357214ec0b9eb |
01-Feb-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Give the MCStreamer class hierarchy LLVM RTTI facilities for use with isa<> and dyn_cast<>. In several places, code is already hacking around the absence of this, and there seem to be several interfaces that might be lifted and/or devirtualized using this. This change was based on a discussion with Jim Grosbach about how best to handle testing for specific MCStreamer subclasses. He said that this was the correct end state, and everything else was too hacky so I decided to just make it so. No functionality should be changed here, this is just threading the kind through all the constructors and setting up the classof overloads. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174113 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
1c1ff3b7ff3b473acd1b92970ceeed3c62fbee5a |
15-Jan-2013 |
Nadav Rotem <nrotem@apple.com> |
LTO: Also init TTI for codegen passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172499 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
030f63a397edc20f8f661bac62f7b90cb5cf57bc |
14-Jan-2013 |
Eli Bendersky <eliben@google.com> |
Expose an InitToTextSection through MCStreamer. The aim of this patch is to fix the following piece of code in the platform-independent AsmParser: void AsmParser::CheckForValidSection() { if (!ParsingInlineAsm && !getStreamer().getCurrentSection()) { TokError("expected section directive before assembly directive"); Out.SwitchSection(Ctx.getMachOSection( "__TEXT", "__text", MCSectionMachO::S_ATTR_PURE_INSTRUCTIONS, 0, SectionKind::getText())); } } This was added for the "-n" option of llvm-mc. The proposed fix adds another virtual method to MCStreamer, called InitToTextSection. Conceptually, it's similar to the existing InitSections which initializes all common sections and switches to text. The new method is implemented by each platform streamer in a way that it sees fit. So AsmParser can now do this: void AsmParser::CheckForValidSection() { if (!ParsingInlineAsm && !getStreamer().getCurrentSection()) { TokError("expected section directive before assembly directive"); Out.InitToTextSection(); } } Which is much more reasonable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172450 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
6c1d4972cf1cd6b6072e31c05f97abb1ed7a8497 |
07-Jan-2013 |
Eli Bendersky <eliben@google.com> |
Add the align_to_end option to .bundle_lock in the MC implementation of aligned bundling. The document describing this feature and the implementation has also been updated: https://sites.google.com/a/chromium.org/dev/nativeclient/pnacl/aligned-bundling-support-in-llvm git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171797 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
aeef83c6afa1e18d1cf9d359cc678ca0ad556175 |
07-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Switch TargetTransformInfo from an immutable analysis pass that requires a TargetMachine to construct (and thus isn't always available), to an analysis group that supports layered implementations much like AliasAnalysis does. This is a pretty massive change, with a few parts that I was unable to easily separate (sorry), so I'll walk through it. The first step of this conversion was to make TargetTransformInfo an analysis group, and to sink the nonce implementations in ScalarTargetTransformInfo and VectorTargetTranformInfo into a NoTargetTransformInfo pass. This allows other passes to add a hard requirement on TTI, and assume they will always get at least on implementation. The TargetTransformInfo analysis group leverages the delegation chaining trick that AliasAnalysis uses, where the base class for the analysis group delegates to the previous analysis *pass*, allowing all but tho NoFoo analysis passes to only implement the parts of the interfaces they support. It also introduces a new trick where each pass in the group retains a pointer to the top-most pass that has been initialized. This allows passes to implement one API in terms of another API and benefit when some other pass above them in the stack has more precise results for the second API. The second step of this conversion is to create a pass that implements the TargetTransformInfo analysis using the target-independent abstractions in the code generator. This replaces the ScalarTargetTransformImpl and VectorTargetTransformImpl classes in lib/Target with a single pass in lib/CodeGen called BasicTargetTransformInfo. This class actually provides most of the TTI functionality, basing it upon the TargetLowering abstraction and other information in the target independent code generator. The third step of the conversion adds support to all TargetMachines to register custom analysis passes. This allows building those passes with access to TargetLowering or other target-specific classes, and it also allows each target to customize the set of analysis passes desired in the pass manager. The baseline LLVMTargetMachine implements this interface to add the BasicTTI pass to the pass manager, and all of the tools that want to support target-aware TTI passes call this routine on whatever target machine they end up with to add the appropriate passes. The fourth step of the conversion created target-specific TTI analysis passes for the X86 and ARM backends. These passes contain the custom logic that was previously in their extensions of the ScalarTargetTransformInfo and VectorTargetTransformInfo interfaces. I separated them into their own file, as now all of the interface bits are private and they just expose a function to create the pass itself. Then I extended these target machines to set up a custom set of analysis passes, first adding BasicTTI as a fallback, and then adding their customized TTI implementations. The fourth step required logic that was shared between the target independent layer and the specific targets to move to a different interface, as they no longer derive from each other. As a consequence, a helper functions were added to TargetLowering representing the common logic needed both in the target implementation and the codegen implementation of the TTI pass. While technically this is the only change that could have been committed separately, it would have been a nightmare to extract. The final step of the conversion was just to delete all the old boilerplate. This got rid of the ScalarTargetTransformInfo and VectorTargetTransformInfo classes, all of the support in all of the targets for producing instances of them, and all of the support in the tools for manually constructing a pass based around them. Now that TTI is a relatively normal analysis group, two things become straightforward. First, we can sink it into lib/Analysis which is a more natural layer for it to live. Second, clients of this interface can depend on it *always* being available which will simplify their code and behavior. These (and other) simplifications will follow in subsequent commits, this one is clearly big enough. Finally, I'm very aware that much of the comments and documentation needs to be updated. As soon as I had this working, and plausibly well commented, I wanted to get it committed and in front of the build bots. I'll be doing a few passes over documentation later if it sticks. Commits to update DragonEgg and Clang will be made presently. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171681 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
b24ce3ec45be18dda4dd5d1d848871ef680b7f72 |
05-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Fix another place where we build the TTI pass to the new interface. Sorry for the noise here, 'make check' doesn't build this code. =/ git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171623 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
0b8c9a80f20772c3793201ab5b251d3520b9cea3 |
02-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Move all of the header files which are involved in modelling the LLVM IR into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long standing point of file layout clutter in LLVM. There are still more header files to move here, but I wanted to handle them in separate commits to make tracking what files make sense at each layer easier. The only really questionable files here are the target intrinsic tablegen files. But that's a battle I'd rather not fight today. I've updated both CMake and Makefile build systems (I think, and my tests think, but I may have missed something). I've also re-sorted the includes throughout the project. I'll be committing updates to Clang, DragonEgg, and Polly momentarily. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171366 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
TOModule.h
|
7f00f87767036e74445aad0164eea13cf2642610 |
02-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Sort a few more #include lines in tools/... unittests/... and utils/... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171363 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
4766ef41b31e4f97bce1179c3b0398303bf65356 |
20-Dec-2012 |
Eli Bendersky <eliben@google.com> |
Aligned bundling support. Following the discussion here: http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-December/056754.html The proposal and implementation are fully documented here: https://sites.google.com/a/chromium.org/dev/nativeclient/pnacl/aligned-bundling-support-in-llvm Tests will follow shortly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170718 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
2c3a4641a7785da78839caf574277df9cd93b52c |
16-Dec-2012 |
Reed Kotler <rkotler@mips.com> |
This patch is needed to make c++ exceptions work for mips16. Mips16 is really a processor decoding mode (ala thumb 1) and in the same program, mips16 and mips32 functions can exist and can call each other. If a jal type instruction encounters an address with the lower bit set, then the processor switches to mips16 mode (if it is not already in it). If the lower bit is not set, then it switches to mips32 mode. The linker knows which functions are mips16 and which are mips32. When relocation is performed on code labels, this lower order bit is set if the code label is a mips16 code label. In general this works just fine, however when creating exception handling tables and dwarf, there are cases where you don't want this lower order bit added in. This has been traditionally distinguished in gas assembly source by using a different syntax for the label. lab1: ; this will cause the lower order bit to be added lab2=. ; this will not cause the lower order bit to be added In some cases, it does not matter because in dwarf and debug tables the difference of two labels is used and in that case the lower order bits subtract each other out. To fix this, I have added to mcstreamer the notion of a debuglabel. The default is for label and debug label to be the same. So calling EmitLabel and EmitDebugLabel produce the same result. For various reasons, there is only one set of labels that needs to be modified for the mips exceptions to work. These are the "$eh_func_beginXXX" labels. Mips overrides the debug label suffix from ":" to "=." . This initial patch fixes exceptions. More changes most likely will be needed to DwarfCFException to make all of this work for actual debugging. These changes will be to emit debug labels in some places where a simple label is emitted now. Some historical discussion on this from gcc can be found at: http://gcc.gnu.org/ml/gcc-patches/2008-08/msg00623.html http://gcc.gnu.org/ml/gcc-patches/2008-11/msg01273.html git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170279 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
f2a68db4264690b0ccb197e54af3414054b42e51 |
11-Dec-2012 |
NAKAMURA Takumi <geek4civic@gmail.com> |
llvm/tools: Add #include "llvm/TargetTransformInfo.h" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169817 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
613abf3fa6c69f709fbc122caaa74435222c4bf3 |
11-Dec-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Change some functions to take const pointers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169812 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
TOModule.h
|
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
TOCodeGenerator.cpp
TOCodeGenerator.h
to.cpp
to.exports
|
60608b924da8b5c6681e9c113dfdfc4a0d95d278 |
10-Dec-2012 |
NAKAMURA Takumi <geek4civic@gmail.com> |
[CMake] Update dependencies to intrinsics_gen corresponding to r169711. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169724 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
|
12a38adc58fe16217f194dc151970c89de0e73b4 |
10-Dec-2012 |
Bill Wendling <isanbard@gmail.com> |
Revert to old behavior until linker can pass export-dynamic option. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169720 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.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
TOCodeGenerator.cpp
TOCodeGenerator.h
to.cpp
to.exports
|
68a590df13f47180abd3022aa75f237ae993770f |
08-Dec-2012 |
Jim Grosbach <grosbach@apple.com> |
Add C API for specifying CPU to the disassembler. It was a nasty oversight that we didn't include this when we added this API in the first place. Blech. rdar://12839439 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169653 91177308-0d34-0410-b5e6-96231b3b80d8
to.exports
|
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
TOCodeGenerator.cpp
TOCodeGenerator.h
TOModule.cpp
TOModule.h
to.cpp
|
6eda0813459547fe8094dd5d31f7dd2214b5ca7a |
29-Nov-2012 |
Pedro Artigas <partigas@apple.com> |
One more step towards making doInitialization and doFinalization useful for start up and clean up module passes, now that ASAN and TSAN are fixed the tests pass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168905 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
9780d352b9108d49097970f6686fd61aba58d7fc |
27-Nov-2012 |
Owen Anderson <resistor@mac.com> |
Revert r168635 "Step towards implementation of pass manager with doInitialization and doFinalization per module detangled from runOn?? calls, still has temporary code not to break ASAN to be removed when that pass conforms to the proposed model". It appears to have broken at least one buildbot. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168654 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
0d30d30d58253de6b8836a11effcfc38d7566841 |
27-Nov-2012 |
Owen Anderson <resistor@mac.com> |
Step towards implementation of pass manager with doInitialization and doFinalization per module detangled from runOn?? calls, still has temporary code not to break ASAN to be removed when that pass conforms to the proposed model Patch by Pedro Artigas, with feedback from by Chandler Carruth. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168635 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
8a2ce5d32987f99185f40eb3085a8972291f8d5c |
24-Nov-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
libLTO: Add a utility method to initialize the disassemblers. Necessary to give disassembler users (like darwin's otool) a possibility to dlopen libLTO and still initialize the required LLVM bits. This used to go through libMCDisassembler but that's a gross layering violation, the MC layer can't pull in functions from the targets. Adding a function to libLTO is a bit of a hack but not worse than exposing other disassembler bits from libLTO. Fixes PR14362. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168545 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
TODisassembler.cpp
to.exports
|
40b6fdb81e12b40dd41c9f9f07befb60ec7291c3 |
15-Nov-2012 |
Owen Anderson <resistor@mac.com> |
Add doInitialization and doFinalization methods to ModulePass's, to allow them to be re-initialized and reused on multiple Module's. Patch by Pedro Artigas. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168008 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
3ed0316f756e2f1730f46654776fcf77f5ace7aa |
23-Oct-2012 |
Kevin Enderby <enderby@apple.com> |
Add support for annotated disassembly output for X86 and arm. Per the October 12, 2012 Proposal for annotated disassembly output sent out by Jim Grosbach this set of changes implements this for X86 and arm. The llvm-mc tool now has a -mdis option to produced the marked up disassembly and a couple of small example test cases have been added. rdar://11764962 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166445 91177308-0d34-0410-b5e6-96231b3b80d8
to.exports
|
cbd9a19b5d6ff93efa82c467508ede78b8af3bac |
19-Oct-2012 |
Nadav Rotem <nrotem@apple.com> |
Reapply the TargerTransformInfo changes, minus the changes to LSR and Lowerinvoke. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166248 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
3b9a911efcf280950f878a050728450423875639 |
18-Oct-2012 |
Bob Wilson <bob.wilson@apple.com> |
Temporarily revert the TargetTransform changes. The TargetTransform changes are breaking LTO bootstraps of clang. I am working with Nadav to figure out the problem, but I am reverting it for now to get our buildbots working. This reverts svn commits: 165665 165669 165670 165786 165787 165997 and I have also reverted clang svn 165741 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166168 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
88bcf797abebb941fe9ace6de50eb7ede80d5ea7 |
16-Oct-2012 |
Nadav Rotem <nrotem@apple.com> |
LTO also needs to initialize the TargetTransform infrastructure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165997 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
47ed8a161caa898cc00c85c8f8a063a0e18d8915 |
12-Oct-2012 |
Bob Wilson <bob.wilson@apple.com> |
Set default CPU for Darwin targets with LTO. <rdar://problem/12457841> This is a temporary hack until Bill's project to record command line options in the LLVM IR is ready. Clang currently sets a default CPU but that isn't recorded anywhere and it doesn't get used in the final LTO compilation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165809 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
c33b9304dada40806f875b482d003b5c7b8f9c22 |
10-Oct-2012 |
Bill Wendling <isanbard@gmail.com> |
Place temporary LTO files into their own subdirectory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165599 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
52bcafe4bfaf27524bf6575ec397e918d13ec6ce |
10-Oct-2012 |
Bob Wilson <bob.wilson@apple.com> |
Revert "Use a special path to place the .o files in." This reverts commit 165428 in an attempt to get our buildbots going. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165574 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
e57cb731532cfe91788823cd5b5b847311bd3920 |
08-Oct-2012 |
Bill Wendling <isanbard@gmail.com> |
Use a special path to place the .o files in. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165428 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
791cfc211a9801002bfda6b3eb4de7e041f04f53 |
08-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Move TargetData to DataLayout. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165403 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
10181ae49c25e22267ea3d539dd53e07d5e45528 |
04-Oct-2012 |
Bill Wendling <isanbard@gmail.com> |
Add an explicit -object_path_lto flag during linking with a uniquified temporary file name if building Apple-style. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165185 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
0b95a9949ba6d9823be202c384c60ab9ef9404d8 |
06-Sep-2012 |
Bill Wendling <isanbard@gmail.com> |
Explicitly erase the file from disk if something bad happened. <rdar://problem/12184899> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163349 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
59324297650c12a8dccf1a7ad650a9e895fdc17e |
06-Sep-2012 |
Roman Divacky <rdivacky@freebsd.org> |
Stop casting away const qualifier needlessly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163258 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
35907e98626b33f6406dc498201fc59ced282c8a |
21-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
Add support for the --param ssp-buffer-size= driver option. PR9673 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162284 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
32811bef956e0fae4329e6515420d85f7e510660 |
17-Aug-2012 |
Bill Wendling <isanbard@gmail.com> |
Change the `linker_private_weak_def_auto' linkage to `linkonce_odr_auto_hide' to make it more consistent with its intended semantics. The `linker_private_weak_def_auto' linkage type was meant to automatically hide globals which never had their addresses taken. It has nothing to do with the `linker_private' linkage type, which outputs the symbols with a `l' (ell) prefix among other things. The intended semantic is more like the `linkonce_odr' linkage type. Change the name of the linkage type to `linkonce_odr_auto_hide'. And therefore changing the semantics so that it produces the correct output for the linker. Note: The old linkage name `linker_private_weak_def_auto' will still parse but is not a synonym for `linkonce_odr_auto_hide'. This should be removed in 4.0. <rdar://problem/11754934> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162114 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
0ca36afc9d30aa2fe550750b2c3f1d3acf8c9fed |
09-Aug-2012 |
Bill Wendling <isanbard@gmail.com> |
Remove some coding violations. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161530 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
5682527882aa3ddc74d0b283496fedd069a8e55d |
09-Aug-2012 |
Bill Wendling <isanbard@gmail.com> |
Cache a commonly used reference. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161529 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
eda3fc673450552808edfbf076d6bf26798acc64 |
07-Aug-2012 |
Bill Wendling <isanbard@gmail.com> |
Reduce indentation by early exiting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161356 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
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
TOCodeGenerator.cpp
TOModule.cpp
TOModule.h
|
df42d41cd64b35e359364ea9804d71f30864d45d |
22-Jun-2012 |
Evan Cheng <evan.cheng@apple.com> |
Forgot this patch in r159023. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159028 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
a7542d5f870c5d98960d1676e23ac1d1d975d7e5 |
06-Jun-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Remove unused private fields found by clang's new -Wunused-private-field. There are some that I didn't remove this round because they looked like obvious stubs. There are dead variables in gtest too, they should be fixed upstream. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158090 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.h
|
4f56a30e0d604a3081c1e696467e57784267bc20 |
30-May-2012 |
David Blaikie <dblaikie@gmail.com> |
Reinstate -O3 for LTO. This broke in r144788 when the CodeGenOpt option was moved from everywhere else (specifically, from addPassesToEmitFile) to createTargetMachine. Since LTOCodeGenerator wasn't passing the 4th argument, when the 4th parameter became the 3rd, it silently continued to compile (int->bool conversion) but meant something completely different. This change preserves the existing (accidental) and previous (default) semantics of the addPassesToEmitFile and restores the previous/intended CodeGenOpt argument by passing it appropriately to createTargetMachine. (discovered by pending changes to -Wconversion to catch constant->bool conversions) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157705 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
383fd7afd9cd2431fdb0b32130fc8125903a7fa8 |
11-May-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix a use after free when the streamer is destroyed. Fixes pr12622. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156606 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.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
TOCodeGenerator.cpp
TOCodeGenerator.h
to.cpp
to.exports
|
64fae7587ad7cb8082ca5615fd061a4e4d3f711e |
10-Apr-2012 |
Bill Wendling <isanbard@gmail.com> |
Revert the 'EnableInitializing' flag. There is debate on whether we should run that pass by default in LTO. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154356 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
64d5b282c92b3599c56ef987d6f6971611d716e6 |
10-Apr-2012 |
Bill Wendling <isanbard@gmail.com> |
Apply the scope restrictions after parsing the command line options. There may be some which are used in that function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154348 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.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
to.cpp
to.exports
|
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
TOCodeGenerator.cpp
TOCodeGenerator.h
to.cpp
to.exports
|
97d990323607d6eb50a84f672b2169ac4ba1697d |
05-Apr-2012 |
Bill Wendling <isanbard@gmail.com> |
The internalize pass can be dangerous for LTO. Consider the following program: $ cat main.c void foo(void) { } int main(int argc, char *argv[]) { foo(); return 0; } $ cat bundle.c extern void foo(void); void bar(void) { foo(); } $ clang -o main main.c $ clang -o bundle.so bundle.c -bundle -bundle_loader ./main $ nm -m bundle.so 0000000000000f40 (__TEXT,__text) external _bar (undefined) external _foo (from executable) (undefined) external dyld_stub_binder (from libSystem) $ clang -o main main.c -O4 $ clang -o bundle.so bundle.c -bundle -bundle_loader ./main Undefined symbols for architecture x86_64: "_foo", referenced from: _bar in bundle-elQN6d.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) The linker was told that the 'foo' in 'main' was 'internal' and had no uses, so it was dead stripped. Another situation is something like: define void @foo() { ret void } define void @bar() { call asm volatile "call _foo" ... ret void } The only use of 'foo' is inside of an inline ASM call. Since we don't look inside those for uses of functions, we don't specify this as a "use." Get around this by not invoking the 'internalize' pass by default. This is an admitted hack for LTO correctness. <rdar://problem/11185386> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154124 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
90e7d4f6f006672a59ff8e031a190c76f9dab4b3 |
03-Apr-2012 |
Bill Wendling <isanbard@gmail.com> |
Reformatting. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153928 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
3197b4453d214aa96de3a42da8f8fe189fff2077 |
03-Apr-2012 |
Bill Wendling <isanbard@gmail.com> |
Add an option to turn off the expensive GVN load PRE part of GVN. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153902 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
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
TOModule.cpp
TOModule.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
TOModule.cpp
TOModule.h
|
7baa27d3b331c9388bc81995c819c289a3c6fe7e |
31-Mar-2012 |
Bill Wendling <isanbard@gmail.com> |
Move trivial functions into the class definition. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153810 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOCodeGenerator.h
|
deee238128ac2c2ddda1aa942127f9f378030306 |
31-Mar-2012 |
Bill Wendling <isanbard@gmail.com> |
Trim headers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153809 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
c94c5626926161a9258f6af7e4243ca13b3bc988 |
31-Mar-2012 |
Bill Wendling <isanbard@gmail.com> |
Indent according to LLVM's style guide. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153808 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
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
TOCodeGenerator.cpp
TOCodeGenerator.h
TOModule.cpp
TOModule.h
|
f2cc2ee449bf5756a10959d130414e087a16555d |
31-Mar-2012 |
Bill Wendling <isanbard@gmail.com> |
These strings aren't 'const char *' but 'char *'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153805 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOCodeGenerator.h
|
76b13ed403ccda3ccbe7d17096e314ae83709b7f |
31-Mar-2012 |
Bill Wendling <isanbard@gmail.com> |
Cleanup whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153804 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
caf71d41851fa9f3efb04123de893c1f7961eed5 |
31-Mar-2012 |
Bill Wendling <isanbard@gmail.com> |
Free the codegen options when deleting LTO code generator object. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153803 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.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
to.cpp
|
5ff4bc20a131cdf6fd0706b7abd80e16efc2f0e7 |
31-Mar-2012 |
Bill Wendling <isanbard@gmail.com> |
* Set the scope attributes for the ASM symbol we added to be the value passed into the function. * Reorder some header files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153783 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.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
to.cpp
|
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
TOModule.cpp
TOModule.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
TOModule.h
|
9f3b483b814efb536d1ad391e664443333d14179 |
29-Mar-2012 |
Bill Wendling <isanbard@gmail.com> |
Cache the end() iterator. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153632 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
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
TOModule.cpp
TOModule.h
|
61476d6f90b772c0e6c725308199afe10743ce0e |
28-Mar-2012 |
Bill Wendling <isanbard@gmail.com> |
Inline function into its one caller. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153598 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
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
TOModule.cpp
TOModule.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
TOModule.h
|
18c7f80b3e83ab584bd8572695a3cde8bafd9d3c |
05-Feb-2012 |
Chris Lattner <sabre@nondot.org> |
reapply the patches reverted in r149470 that reenable ConstantDataArray, but with a critical fix to the SelectionDAG code that optimizes copies from strings into immediate stores: the previous code was stopping reading string data at the first nul. Address this by adding a new argument to llvm::getConstantStringInfo, preserving the behavior before the patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149800 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
91766fe066efe6e0969ba805a2e3726a70ed34a3 |
01-Feb-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Revert Chris' commits up to r149348 that started causing VMCoreTests unit test to fail. These are: r149348 r149351 r149352 r149354 r149356 r149357 r149361 r149362 r149364 r149365 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149470 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
de5e5ec3045a73a06b1054417f9ac6c02929e9ce |
01-Feb-2012 |
Hal Finkel <hfinkel@anl.gov> |
Add a basic-block autovectorization pass. This is the initial checkin of the basic-block autovectorization pass along with some supporting vectorization infrastructure. Special thanks to everyone who helped review this code over the last several months (especially Tobias Grosser). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149468 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
akefile
|
ca012b8b2341a987f0022adc42424ac8ed26752a |
31-Jan-2012 |
Chris Lattner <sabre@nondot.org> |
update this to ConstantDataArray. There are no tests and this isn't using the preferred functionality for ripping apart strings, so I have no way to test this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149361 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
ebd4c05c3cbd61215366d4d16f1c1a2e57e7156d |
27-Jan-2012 |
Jim Grosbach <grosbach@apple.com> |
Better diagnostic for malformed .org assembly directive. Provide source line number information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149101 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
4d6ccb5f68cd7c6418a209f1fa4dbade569e4493 |
20-Jan-2012 |
David Blaikie <dblaikie@gmail.com> |
More dead code removal (using -Wunreachable-code) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148578 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
99b4237c1647156f0e1d3d7e03efdab23ed79778 |
07-Jan-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Split Finish into Finish and FinishImpl to have a common place to do end of file error checking. Use that to error on an unfinished cfi_startproc. The error is not nice, but is already better than a segmentation fault. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147717 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
8a8d479214745c82ef00f08d4e4f1c173b5f9ce2 |
02-Dec-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Move global variables in TargetMachine into new TargetOptions class. As an API change, now you need a TargetOptions object to create a TargetMachine. Clang patch to follow. One small functionality change in PTX. PTX had commented out the machine verifier parts in their copy of printAndVerify. That now calls the version in LLVMTargetMachine. Users of PTX who need verification disabled should rely on not passing the command-line flag to enable it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145714 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
988fdc5f28692a0c4ee9f1b5f85f51f19272d63f |
05-Nov-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
Now that the linker supports lazily materialising globals, don't materialise them in LTO. I observed a ~0.5-1% speedup for an LTO link of opt. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143784 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
931d4c204390752b30d4459264f8786de95b36d8 |
04-Nov-2011 |
Bill Wendling <isanbard@gmail.com> |
Reformatting changes to get rid of blank lines, put code on one line, and to decrease some code indentation. No intended functional changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143723 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
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
TOModule.cpp
TOModule.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
TOModule.cpp
TOModule.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
TOModule.cpp
TOModule.h
|
0173864d8a87d9243d304fbf91b556e20b5a32fc |
01-Nov-2011 |
Sebastian Pop <spop@codeaurora.org> |
rename getHostTriple into getDefaultTargetTriple git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143502 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
8c39c9647da4f375e4f89bd417d86f5c3ff6dfa5 |
18-Oct-2011 |
Daniel Dunbar <daniel@zuster.org> |
build: Tidy up a bunch of tool Makefiles, and simplify where possible using the new all-targets pseudo-component. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142401 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
6d483c2b0712d0111b02d23cda7c65c0f43cf1f1 |
08-Sep-2011 |
Ivan Krasin <krasin@chromium.org> |
lto/addAsmGlobalSymbols: fast path when no module level asm is present. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139284 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
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
TOModule.cpp
TOModule.h
|
36a16015ac108e2f0dd2d6d96a6d364bc74c50d7 |
02-Sep-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Don't drop alignment info on local common symbols. - On COFF the .lcomm directive has an alignment argument. - On ELF we fall back to .local + .comm Based on a patch by NAKAMURA Takumi. Fixes PR9337, PR9483 and PR10128. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138976 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
3e74d6fdd248e20a280f1dff3da9a6c689c2c4c3 |
24-Aug-2011 |
Evan Cheng <evan.cheng@apple.com> |
Move TargetRegistry and TargetSelect from Target to Support where they belong. These are strictly utilities for registering targets and components. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138450 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
3f0e2377609e916d77e192fff2badc7f6c05be4f |
18-Aug-2011 |
John Criswell <criswell@uiuc.edu> |
Fixed compilation warning on Linux by fixing the type of a return value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137913 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
1b84cce77f8bccc905b4800927ce9016f76c1c40 |
16-Aug-2011 |
Jim Grosbach <grosbach@apple.com> |
Remove unused Target argument from AsmParser construction methods. The argument is unused, and is a layering violation in any case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137735 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
c684e83e4554bfaf6180426f86b9253b65dd46ec |
02-Aug-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move methods in PassManagerBuilder offline. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136727 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
3d453ac1317f910b0589d87c061f056be29e36cd |
02-Aug-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
move PassManagerBuilder.h to IPO. This is a non intuitive place to put it, but it solves a layering violation since things in Support are not supposed to use things in Transforms. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136726 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
94b9550a32d189704a8eae55505edf62662c0534 |
26-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Rename TargetAsmParser to MCTargetAsmParser and TargetAsmLexer to MCTargetAsmLexer; rename createAsmLexer to createMCAsmLexer and createAsmParser to createMCAsmParser. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136027 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
fce6b5058afd20dff33da1a1cc7bc14f0a230f82 |
25-Jul-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Fix typo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135971 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
a7cfc08ebe737062917b442830eb5321b0f79e89 |
23-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Move TargetAsmParser.h TargetAsmBackend.h and TargetAsmLexer.h to MC where they belong. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135833 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
e78085a3c03de648a481e9751c3094c517bd7123 |
22-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Combine all MC initialization routines into one. e.g. InitializeX86MCAsmInfo, InitializeX86MCInstrInfo, etc. are combined into InitializeX86TargetMC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135812 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
203576aa0cb9d8bf2d2e4d910ebab4b7a63262ae |
20-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Goodbye TargetAsmInfo. This eliminate last bit of CodeGen and Target in llvm-mc. There is still a bit more refactoring left to do in Targets. But we are now very close to fixing all the layering issues in MC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135611 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
e76a33b9567d78a5744dc52fcec3a6056d6fb576 |
20-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Add MCObjectFileInfo and sink the MCSections initialization code from TargetLoweringObjectFileImpl down to MCObjectFileInfo. TargetAsmInfo is done to one last method. It's *almost* gone! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135569 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
439661395fd2a2a832dba01c65bc88718528313c |
19-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Introduce MCCodeGenInfo, which keeps information that can affect codegen (including compilation, assembly). Move relocation model Reloc::Model from TargetMachine to MCCodeGenInfo so it's accessible even without TargetMachine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135468 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
0e6a052331f674dd70e28af41f654a7874405eab |
18-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Sink getDwarfRegNum, getLLVMRegNum, getSEHRegNum from TargetRegisterInfo down to MCRegisterInfo. Also initialize the mapping at construction time. This patch eliminate TargetRegisterInfo from TargetAsmInfo. It's another step towards fixing the layering violation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135424 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
db125cfaf57cc83e7dd7453de2d509bc8efd0e5e |
18-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
land David Blaikie's patch to de-constify Type, with a few tweaks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135375 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
1abf2cb59b8d63415780a03329307c0997b2670c |
15-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Rename createAsmInfo to createMCAsmInfo and move registration code to MCTargetDesc to prepare for next round of changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135219 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
672b93a3324cc1da6d374eed4c75c050a9cad7be |
14-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Unfortunately several files in MC are badly violating layering rule by using TargetAsmInfo, which in turn pulls in TargetRegisterInfo, etc. :-( There are other cases of violations, but this is probably the worst. This patch is but one small step towards fixing this. 500 more steps to go. :-( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135131 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
bf843e6974007a9a125453a61a2c4a64ee3a6186 |
12-Jul-2011 |
Cameron Zwarich <zwarich@apple.com> |
Fix LTO after the recent MC subtarget refactoring. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134930 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
ffc0e73046f737d75e0a62b3a83ef19bcef111e3 |
09-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Change createAsmParser to take a MCSubtargetInfo instead of triple, CPU, and feature string. Parsing some asm directives can change subtarget state (e.g. .code 16) and it must be reflected in other modules (e.g. MCCodeEmitter). That is, the MCSubtargetInfo instance must be shared. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134795 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
ebdeeab812beec0385b445f3d4c41a114e0d972f |
08-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Eliminate asm parser's dependency on TargetMachine: - Each target asm parser now creates its own MCSubtatgetInfo (if needed). - Changed AssemblerPredicate to take subtarget features which tablegen uses to generate asm matcher subtarget feature queries. e.g. "ModeThumb,FeatureThumb2" is translated to "(Bits & ModeThumb) != 0 && (Bits & FeatureThumb2) != 0". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134678 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
276365dd4bc0c2160f91fd8062ae1fc90c86c324 |
30-Jun-2011 |
Evan Cheng <evan.cheng@apple.com> |
Fix the ridiculous SubtargetFeatures API where it implicitly expects CPU name to be the first encoded as the first feature. It then uses the CPU name to look up features / scheduling itineray even though clients know full well the CPU name being used to query these properties. The fix is to just have the clients explictly pass the CPU name! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134127 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
ab8be96fd30ca9396e6b84fdddf1ac6208984cad |
29-Jun-2011 |
Evan Cheng <evan.cheng@apple.com> |
Sink SubtargetFeature and TargetInstrItineraries (renamed MCInstrItineraries) into MC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134049 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
bd35f27ce9ecf7a6e6e1028dfc8652023cab265b |
28-Jun-2011 |
Chad Rosier <mcrosier@apple.com> |
Reinstate r133516 "Remove some unnecessary uses of c_str()." A trailing null character in std::string was causing failures for a few ObjC and Obj-C++ tests when -flto was enabled. Revision 133999 resolved this issue. Thanks Jay! rdar://9685235 PR10210 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134017 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
4f91054fe4a593f23b46abe359d2df9aebc50f10 |
28-Jun-2011 |
Jay Foad <jay.foad@gmail.com> |
PR10210: New method ConstantArray::getAsCString(). Use it in LTO to avoid getting embedded trailing null bytes in std::strings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133999 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
26f448079f2dc070da637e346a0635ad3127df7d |
28-Jun-2011 |
Chad Rosier <mcrosier@apple.com> |
Revert r133516 "Remove some unnecessary uses of c_str()." This was causing compile-time failures for some of the Objc and Obj-C++ benchmarks. The specific errors were of the form: "ld: duplicate symbol …" rdar://9660124 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133955 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
06155e88d09c273edf509f511f717c38a7e2d263 |
21-Jun-2011 |
Jay Foad <jay.foad@gmail.com> |
Remove some unnecessary uses of c_str(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133516 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
817a01ffb24504f5b00fdac9d79aa034c918f28b |
22-May-2011 |
Chris Lattner <sabre@nondot.org> |
switch bugpoint and liblto to PassManagerBuilder. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131821 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
debd7e4e8bc5cfe61bfb71835ce2b1a3fbccc2be |
01-May-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Simplify the handling of pcrel relocations on ELF. Now we do the right thing for all symbol differences and can drop the old EmitPCRelSymbolValue method. This also make getExprForFDESymbol on ELF equal to the one on MachO, and it can be made non-virtual. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130634 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
e8cfbd843d737e1f95c3032c7670c2be3838a6f6 |
22-Apr-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove unused argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129955 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
333ed454d0c20d0f4999f7c9a404688b254a0cb0 |
21-Apr-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Fix typo in comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129902 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.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
to.cpp
|
c9d2f0cad3194778b2c298912e9ad88f2caef1fa |
01-Apr-2011 |
Devang Patel <dpatel@apple.com> |
Update CMakeLists.txt Patch by arrowdoger. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128719 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
|
a89cfd23c45708e87bfd3bb1d345a058a4d93a9b |
29-Mar-2011 |
Devang Patel <dpatel@apple.com> |
Expoert c interface for disassembler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128440 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
to.exports
|
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
TOCodeGenerator.cpp
TOCodeGenerator.h
to.cpp
to.exports
|
11d1803770f54dad441007a6ebafc70cb9395695 |
22-Mar-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
We don't need a null terminator for the output file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128098 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
f19d7a7af3f10b6d43f9e8b0271f0f836a33d52c |
18-Mar-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Use lazy parsing in LTO. Unfortunately this is only a 3% time saving for 'ar'. Have to figure out how to make libLTO even lazier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127901 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
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
TOModule.cpp
TOModule.h
|
0e8d588948cc4483f3f19e388d18e8a07c7574df |
18-Mar-2011 |
NAKAMURA Takumi <geek4civic@gmail.com> |
tools/lto/LTOModule.cpp: Eliminate an unused variable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127859 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
9916d2ac3941513e301e39dee76a981c7caab694 |
17-Mar-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Use RequiresNullTerminator to create buffers without a null terminator instead of copying. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127835 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.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
TOModule.cpp
TOModule.h
to.cpp
to.exports
|
8e3db304c19defbbd686104950fe22d1c149cce1 |
12-Mar-2011 |
Oscar Fuentes <ofv@wanadoo.es> |
Build LTO as a static library too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127553 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
|
54efb7371a8a0e78cd97a32e4b59a9d82c521329 |
12-Mar-2011 |
Oscar Fuentes <ofv@wanadoo.es> |
Build LTO as a static library too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127549 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
|
798403babdac3bb7e5ad64bc334cc75e697158be |
12-Mar-2011 |
Oscar Fuentes <ofv@wanadoo.es> |
Update link components for llvm-dis and LTO. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127545 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
|
1dc550b383277f241f46a60628ae3f200769f13c |
11-Mar-2011 |
Oscar Fuentes <ofv@wanadoo.es> |
Add LTO and gold plugin to the CMake build. Linux-only, support for other systems pending. PR9456. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127466 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
|
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
TOCodeGenerator.cpp
TOCodeGenerator.h
TOModule.cpp
TOModule.h
|
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
TOCodeGenerator.cpp
TOCodeGenerator.h
to.cpp
|
cd6c93ec48937ab4f76dfd3bf5dc7e68ed781508 |
20-Feb-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix some memory leaks and avoid looking in the hash tables twice. libxul links in 7m0.403s. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126085 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
2e3066b319866fbc8798bd0e56b535ba1f82620d |
12-Feb-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Preserve aliases if needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125439 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
d7401b35e3a4d08e43b4ab81dffd58099a37c90d |
12-Feb-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix a silly bug I introduced when dropping std::string. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125420 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
ef1860a117b4a35918eb9793a7b94715e12a3a42 |
11-Feb-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove std::string version of getNameWithPrefix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125363 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.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
TOModule.cpp
TOModule.h
to.cpp
to.exports
|
4cb310b67d95756c62ab3d7c76d0a75c4fb3403f |
01-Feb-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Don't tell the linker about available_externally definitions. If we do, it will complain about duplicated definitions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124634 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.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
to.cpp
|
3ff9563c3e391954b2e224afcf8b2b0fcc3888aa |
16-Dec-2010 |
Michael J. Spencer <bigcheesegs@gmail.com> |
MemoryBuffer now return an error_code and returns a OwningPtr<MemoryBuffer> via an out parm. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121958 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
89b9372605db2ce3b0085c84089e389f7bc1fbdd |
10-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fixed version of 121434 with no new memory leaks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121471 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
f7fd4aa2610f46467369de07f3ec669561d79be0 |
10-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Revert my previous patch to make the valgrind bots happy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121461 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
1c952b9cc98e84b28f68f0f6cf11197263f89863 |
10-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Initial support for the cfi directives. This is just enough to get f: .cfi_startproc nop .cfi_endproc assembled (on ELF). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121434 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
f2f516fc2680168caac9981a4dd17cc37c639c71 |
09-Dec-2010 |
Michael J. Spencer <bigcheesegs@gmail.com> |
More code not compiled by CMake. :(. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121387 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
9267d140dead8feec68f8503076fb9c743cce0f1 |
06-Dec-2010 |
Devang Patel <dpatel@apple.com> |
Do not try luck by using given name to create temporary file. In parallel builds it may not work. This time for .s file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121016 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
b7bbd461223924e7fa05d98dbeadfc4b4a0093d1 |
04-Dec-2010 |
Devang Patel <dpatel@apple.com> |
Do not try luck by using given name to create temporary file. In parallel builds it may not work. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120860 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
3cc52ea33c0b96d1682f14fc45c45b57df0f39b6 |
29-Nov-2010 |
Michael J. Spencer <bigcheesegs@gmail.com> |
I swear I did a make clean and make before committing all this... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120304 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
02003caf2291ebb2d634e1938553e58e5dd0dce8 |
20-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Record sysbols created by aliases. Fixes PR8414. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116910 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
8535403ee0e6bd3f1e56236e3dc5d007c5c9c02b |
16-Oct-2010 |
Daniel Dunbar <daniel@zuster.org> |
lto: Respect LLVM_VERSION_INFO make variable, since setting CC arguments with spaces gives tests fits and shell escaping is an art best left to jabberwockies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116632 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
9f36c4e1562c3ad6bf9faac496446970d86f7cc4 |
07-Oct-2010 |
Dan Gohman <gohman@apple.com> |
This file needs ToolOutputFile.h too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115976 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
34711747a1d2c8713e69333bacef1c880810e371 |
06-Oct-2010 |
Bill Wendling <isanbard@gmail.com> |
Provide a fast "get me the target triple from the module" API. This can drastically reduce the linking time during LTO. Patch by Shantonu Sen! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115728 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
7afea0cfc4abebaf4cadcc37acd30fb251a5faf3 |
27-Sep-2010 |
Bill Wendling <isanbard@gmail.com> |
Add a new scope type "LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN" for the "linker_private_weak_auto_def" linkage type for LTO. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114868 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
563ef5ec911d219b54fdb508518abd02a8dd3cfd |
27-Sep-2010 |
Bill Wendling <isanbard@gmail.com> |
The "linker_private_weak*" linkages should set the LTO_SYMBOL_DEFINITION_WEAK during LTO. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114850 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
d4c454317a38d65957edebe62bfc69fc8d9885e8 |
01-Sep-2010 |
Dan Gohman <gohman@apple.com> |
Make tool_output_file's raw_ostream instance a member variable instead of a base class. This makes it possible to unregister the file from FilesToRemove when the file is done. Also, this eliminates the need for formatted_tool_output_file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112706 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOCodeGenerator.h
|
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
to.cpp
|
92b06c2c06666a4dcd36005323ec76d074bae3ca |
25-Aug-2010 |
Dan Gohman <gohman@apple.com> |
lto_codegen_set_gcc_path was removed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112069 91177308-0d34-0410-b5e6-96231b3b80d8
to.exports
|
0586df2f257044c39ed386d85d496a80a8232db1 |
25-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Fix a few missing entries in lto.exports. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112068 91177308-0d34-0410-b5e6-96231b3b80d8
to.exports
|
f29140106f74d15ba357aa0a7f109adc939c3104 |
20-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Convert tools to use tool_output_file, and introduce error checking to places which previously lacked it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111651 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.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
TOCodeGenerator.cpp
TOCodeGenerator.h
to.cpp
|
f4452c37d03ab6cdcd2b23cb15b921c0bba591a7 |
11-Aug-2010 |
Daniel Dunbar <daniel@zuster.org> |
lto: Fix an inverted conditional which prevented the addition of symbols scraped from inline assembly, except in cases where they had already been seen (in which case they would get added twice). - I can't see how this ever worked... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110757 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
8d0843dcffad90ba200663c5b3aca3ce1e362e96 |
11-Aug-2010 |
Daniel Dunbar <daniel@zuster.org> |
lto: Fix gratuitous memory leaks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110756 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
e41d90094c9dbbabd6031957689f67ea504ed616 |
11-Aug-2010 |
Daniel Dunbar <daniel@zuster.org> |
lto: Reduce nesting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110752 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
b06913dd183fe4d294b88a166d4180d3de660135 |
11-Aug-2010 |
Daniel Dunbar <daniel@zuster.org> |
LTOModule.cpp: Fix numerous style issues. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110751 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.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
TOCodeGenerator.cpp
TOCodeGenerator.h
to.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
TOModule.cpp
TOModule.h
to.cpp
to.exports
|
b259c01376b176f17fccf57bff28148590f7d744 |
31-Jul-2010 |
Daniel Dunbar <daniel@zuster.org> |
build: Don't pass -avoid-version or -no-undefined on Darwin, they don't do anything. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109957 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
48bf8f0c3ade7f55dedb6d0c2142f1e064a95668 |
16-Jul-2010 |
Daniel Dunbar <daniel@zuster.org> |
build/Darwin: Add an LLVM_LTO_VERSION_OFFSET make variable to allow offsetting the libLTO library version from the actual build version. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108495 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
d27047f87dae7c6eb59069b1e5d1368a0b2db5ff |
27-May-2010 |
Dan Gohman <gohman@apple.com> |
Eliminate some unnessary Path::exists() calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104888 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
4b7416b75db2a4b80ccffe6e15c0d7b6996a8201 |
27-May-2010 |
Dan Gohman <gohman@apple.com> |
When handling raw_ostream errors manually, use clear_error() so that raw_ostream doesn't try to do its own error handling. Also, close the raw_ostream before checking for errors so that any errors that occur during closing are caught by the manual check. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104882 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
81043ee5dc4cca470db8d45e080ba0a38efbffc2 |
11-May-2010 |
Bill Wendling <isanbard@gmail.com> |
The getDefaultSubtargetFeatures method of SubtargetFeature did actually return a string of features for that target. However LTO was using that string to pass into the "create target machine" stuff. That stuff needed the feature string to be in a particular form. In particular, it needed the CPU specified first and then the attributes. If there isn't a CPU specified, it required it to be blank -- e.g., ",+altivec". Yuck. Modify the getDefaultSubtargetFeatures method to be a non-static member function. For all attributes for a specific subtarget, it will add them in like normal. It will also take a CPU string so that it can satisfy this horrible syntax. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103451 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
57b6e9eb6ccb757b74beeb377c7c16d08468d3e8 |
02-May-2010 |
Duncan Sands <baldrick@free.fr> |
Remove the -enable-sjlj-eh option, which doesn't do anything. Remove the -enable-eh option which is only used by the JIT, and replace it with -jit-enable-eh. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102865 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
c3d0e0c8efad3277433f81b415d441f758467871 |
27-Apr-2010 |
Bill Wendling <isanbard@gmail.com> |
r98363 deleted a '!' when cleaning up whitespace. This caused globals which are *not* declarations to *not* be placed in the "preserve" list. <rdar://problem/7870735> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102405 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
43bc70ebef7faafbe986dbc5950db0e56e9f05b4 |
17-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Fix more -Wcast-qual warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101656 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
7c52f2ee06c8b22287d658fc30d00525f8d4db42 |
16-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Make the export files absolute paths, and change Makefile.rules to expect them this way, to fix srcdir!=objdir builds. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101414 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
b16b53b181939fa6112498a00005d1df40d6de86 |
15-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Generalize the EXPORTED_SYMBOL_FILE concept in the Makefiles to work with native linking export files, including running sed to prepend underscores on darwin, and make use of it in libLTO and libEnhancedDisassembly. Remove the leading underscores from library export files so that they work with the new EXPORTED_SYMBOL_FILE support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101399 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
to.exports
|
4c842dda3939c6b9f83ba7e8e19e43445cd9a832 |
06-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
stringref-ize the MemoryBuffer::get apis. This requires a co-committed clang patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100485 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
51ecc389a9b6ae82ff799a62cde882629fad53b0 |
24-Mar-2010 |
Dan Gohman <gohman@apple.com> |
Trim #includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99416 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
b87c305fa77650ee581d4a8c65a0757f88002441 |
12-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
give Mangler access to TargetData. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98378 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
5ef31a039dbb9c36cfd78442b3554d1b6974ec4c |
12-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
make the mangler take an MCContext instead of an MAI. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98363 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
5669e3009761dff20b67e18a382c334041887928 |
03-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
change addPassesToEmitFile to return true on failure instead of its input, add -filetype=null for performance testing and remove -filetype=dynlib, which isn't planned to be implemented. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95202 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
3813d8adf3788dd01a4cb9db01c122cd5e6a13b9 |
02-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
Remove a bunch of stuff around the edges of the ELF writer. Now the only use of the ELF writer is the JIT, which won't be easy to fix in the short term. :( :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95148 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
211edae4843f5c2ee9c376e88e4cf0ecc8745f03 |
02-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
eliminate FileModel::Model, just use CodeGenFileType. The client of the code generator shouldn't care what object format a target uses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95124 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
b5c5160a554cb0debeb7913287d9c099a753a59e |
02-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
eliminate all forms of addPassesToEmitMachineCode except the one used by the JIT. Remove all forms of addPassesToEmitFileFinish except the one used by the static code generator. Inline the remaining version of addPassesToEmitFileFinish into its only caller. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95109 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
390444a704499a24ed61487edb67bcdad3e8078e |
02-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
remove dead code, we're requesting TargetMachine::AssemblyFile here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95105 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
f0356fe140af1a30587b9a86bcfb1b2c51b8ce20 |
27-Jan-2010 |
Jeffrey Yasskin <jyasskin@google.com> |
Kill ModuleProvider and ghost linkage by inverting the relationship between 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94686 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
43b5f9312d56be400af031f7487a99b75b7b0f97 |
24-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
make -fno-rtti the default unless a directory builds with REQUIRES_RTTI. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94378 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
e73a31f667ad2fe03e25c97ac45b58c30d7f07c3 |
22-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
Stop building RTTI information for *most* llvm libraries. Notable 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94164 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
c0dba723d119adc8c7b49c6d0e97d10eac4428fc |
17-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
now that mangler is in libtarget, it can use MCAsmInfo instead of clients having to pass various fields from it in. Simplify. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93686 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
45111d160cf0910030eeb6a949c69273502e5ad5 |
16-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
move the mangler into libtarget from vmcore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93664 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
7c3418ba580ca096963b36ba30c3a1deebb6ca80 |
16-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
remove calls to dead methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93657 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
c5451065e03a47a43f61d579eec2721cb68b1b04 |
16-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
remove use of getMangledName. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93655 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
469340493c48eb22b630bbd311db867c9d7953d6 |
16-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
switch liblto to use the new getNameWithPrefix() method instead of getMangledName. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93643 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
3fe980b127a61608bd6d44c0939ba716ca21625c |
15-Jan-2010 |
Nate Begeman <natebegeman@mac.com> |
Hook up llc's -filetype=obj to use MCStreamer if an MCCodeEmitter is available. Remove most of old Mach-O Writer support, it has been replaced by MCMachOStreamer Further refactoring to completely remove MachOWriter and drive the object file writer with the AsmPrinter MCInst/MCSection logic is forthcoming. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93527 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
d4f195999a7774611e5f9e457a86f14d5e257324 |
11-Jan-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Reimplement getToken and SplitString as "StringRef helper functions" - getToken is modeled after StringRef::split but it can split on multiple separator chars and skips leading seperators. - SplitString is a StringRef::split variant for more than 2 elements with the same behaviour as getToken. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93161 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
7aed44658ca96d01b3dc48c0de2379b05c823ed9 |
23-Dec-2009 |
Douglas Gregor <dgregor@apple.com> |
Fix another -Wmismatched-tags warning git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92017 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.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
TOCodeGenerator.h
TOModule.h
|
308f6630a3f413ab32763bc78ab7802df372751d |
25-Nov-2009 |
Viktor Kutuzov <vkutuzov@accesssoftek.com> |
Rollback changes r89516: Added two SubtargetFeatures::AddFeatures methods, which accept a comma-separated string or already parsed command line parameters as input, and some code re-factoring to use these new methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89893 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
054b52c366256e7cde9c937006df944372e09acc |
21-Nov-2009 |
Viktor Kutuzov <vkutuzov@accesssoftek.com> |
Added two SubtargetFeatures::AddFeatures methods, which accept a comma-separated string or already parsed command line parameters as input, and some code re-factoring to use these new methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89516 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
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
TOCodeGenerator.cpp
TOModule.cpp
TOModule.h
|
51cdac02c4125b8545728eb30ab5f54e437d6377 |
17-Nov-2009 |
Viktor Kutuzov <vkutuzov@accesssoftek.com> |
Added getArchNameForAssembler method to the Triple class for which returns OS and Vendor independent target assembler arch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89122 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
4136e7b90ea5ce8b4d708cdd54d0b052d520a96e |
23-Sep-2009 |
Gabor Greif <ggreif@gmail.com> |
pretty mechanical changes to match coding guidelines (blessed by sabre on IRC) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82603 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
de05902114950a181c439aa4c3b9b06170256a61 |
25-Aug-2009 |
Dan Gohman <gohman@apple.com> |
Delete some unnecessary flushes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80013 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
baa26395ccf17fc988bb9cf62d6659ca8415ece9 |
25-Aug-2009 |
Dan Gohman <gohman@apple.com> |
Make LLVM command-line tools overwrite their output files without -f. This is conventional command-line tool behavior. -f now just means "enable binary output on terminals". Add a -f option to llvm-extract and llvm-link, for consistency. Remove F_Force from raw_fd_ostream and enable overwriting and truncating by default. Introduce an F_Excl flag to permit users to enable a failure when the file already exists. This flag is currently unused. Update Makefiles and documentation accordingly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79990 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
74382b7c699120fbec5cb5603c9cf4212eb37f06 |
24-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
Prune #includes from llvm/Linker.h and llvm/System/Path.h, 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79869 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
b683ea4712836e22b98d24bf8e40e599224d024e |
23-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
eliminate the ostream version of CheckBitcodeOutputToConsole, change the raw_ostream one to take the raw_ostream byref instead of byptr. Prune #includes, eliminate a use of Streams.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79863 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
b515d75856f58a8b3b71d782eb00916d686329ad |
23-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
eliminate the std::ostream forms of the bitcode writing APIs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79840 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
17e9edc4a7bbeadf756494cf39fcacc9eff72202 |
23-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
Change raw_fd_ostream to take flags as an optional bitmask instead of as two bools. Use this to add a F_Append flag which has the obvious behavior. Other unrelated changes conflated into this patch: 1. REmove EH stuff from llvm-dis and llvm-as, the try blocks are dead. 2. Simplify the filename inference code in llvm-as/llvm-dis, because raw_fd_ostream does the right thing with '-'. 3. Switch machine verifier to use raw_ostream instead of ostream (Which is the thing that needed append in the first place). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79807 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
af76e592c7f9deff0e55c13dbb4a34f07f1c7f64 |
22-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
Rename TargetAsmInfo (and its subclasses) to MCAsmInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79763 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
e55db741523b51f3f754b6dd62c5e0f52bb83b98 |
18-Aug-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
The attached patches attempt to fix cross builds. For example, if you try to use i686-darwin to build for arm-eabi, you'll quickly run into several false assumptions that the target OS must be the same as the host OS. These patches split $(OS) into $(HOST_OS) and $(TARGET_OS) to help builds like "make check" and the test-suite able to cross compile. Along the way a target of *-unknown-eabi is defined as "Freestanding" so that TARGET_OS checks have something to work with. Patch by Sandeep Patel! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79296 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
815944d923345f6c327da1d23ae3078b3a4cdffd |
13-Aug-2009 |
Dan Gohman <gohman@apple.com> |
Simplify this code so that it doesn't depend on raw_ostream being copyable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78915 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
1b747ad8a0694b86e8d98a8b9a05ddfe74ec0cd3 |
11-Aug-2009 |
Jim Grosbach <grosbach@apple.com> |
SjLj based exception handling unwinding support. This patch is nasty, brutish and short. Well, it's kinda short. Definitely nasty and brutish. The front-end generates the register/unregister calls into the SjLj runtime, call-site indices and landing pad dispatch. The back end fills in the LSDA with the call-site information provided by the front end. Catch blocks are not yet implemented. Built on Darwin and verified no llvm-core "make check" regressions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78625 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
4b3d57228cae1cba0897b80a73fddd4b8a61894a |
04-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
No really, it's unused. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78047 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.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
TOCodeGenerator.cpp
TOCodeGenerator.h
to.cpp
|
4bd03abe593222b26e84066223feb321bf738625 |
03-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
Remove now unused arguments from TargetRegistry::lookupTarget. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77950 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
3c2d4bf97fa96fe171883cd80e4ea93fc43563e6 |
03-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
Pass target triple string in to TargetMachine constructor. This is not just a matter of passing in the target triple from the module; currently backends are making decisions based on the build and host architecture. The goal is to migrate to making these decisions based off of the triple (in conjunction with the feature string). Thus most clients pass in the target triple, or the host triple if that is empty. This has one important change in the way behavior of the JIT and llc. For the JIT, it was previously selecting the Target based on the host (naturally), but it was setting the target machine features based on the triple from the module. Now it is setting the target machine features based on the triple of the host. For LLC, -march was previously only used to select the target, the target machine features were initialized from the module's triple (which may have been empty). Now the target triple is taken from the module, or the host's triple is used if that is empty. Then the triple is adjusted to match -march. The take away is that -march for llc is now used in conjunction with the host triple to initialize the subtarget. If users want more deterministic behavior from llc, they should use -mtriple, or set the triple in the input module. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77946 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
db1e9981b829ba57651dd8e13c0a960fde773209 |
28-Jul-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Remove memory corruption bug. string.c_str() was returning a temporary that was dead before we used it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77304 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
d42b58b61cd773e9f798d02c42652488d67d38df |
27-Jul-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Fix libLTO: * Call InitializeAllTargets on every path where we might query the TargetRegistry. This fixes PR4604. * flush the formatted_raw_ostream& or else not all of the assembly will make it to the .s file. (It doesn't do this in its destructor?!) * Due to a reversed conditional, libLTO was reporting many symbols as both defined and undefined, including two definitions of the same symbol name in its symbol list. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77170 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
460f656475738d1a95a6be95346908ce1597df25 |
26-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Remove Value::getName{Start,End}, the last of the old Name APIs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77152 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
a5881e3060aee9f82aef3747a97650e5eafe893a |
26-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Add TargetRegistry::lookupTarget. - This is a simplified mechanism which just looks up a target based on the target triple, with a few additional flags. - Remove getClosestStaticTargetForModule, the moral equivalent is now: lookupTarget(Mod->getTargetTriple, true, false, ...); - This no longer does the fuzzy matching with target data (based on endianness and pointer width) that getClosestStaticTargetForModule was doing, but this was deemed unnecessary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77111 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
6316fbcb04af00fe76b6526fab09f51484014b3e |
23-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Convert StringMap to using StringRef for its APIs. - Yay for '-'s and simplifications! - I kept StringMap::GetOrCreateValue for compatibility purposes, this can eventually go away. Likewise the StringMapEntry Create functions still follow the old style. - NIFC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76888 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
3d5126fbad17647088b7335cd5fea178407211e2 |
22-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Switch some clients to Value::getName(), and other getName() user simplification. - NFC git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76789 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
ac95cc79ac0b899d566cc29c0f646f39c2fa35c0 |
16-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Convert more tools code from cerr and cout to errs() and outs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76070 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
ff9834ab9daeee25dbb67ae5e2341930cde46c86 |
16-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Kill off last uses of TargetMachineRegistry class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75892 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
51b198af83cb0080c2709b04c129a3d774c07765 |
15-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Reapply TargetRegistry refactoring commits. --- Reverse-merging r75799 into '.': U test/Analysis/PointerTracking U include/llvm/Target/TargetMachineRegistry.h U include/llvm/Target/TargetMachine.h U include/llvm/Target/TargetRegistry.h U include/llvm/Target/TargetSelect.h U tools/lto/LTOCodeGenerator.cpp U tools/lto/LTOModule.cpp U tools/llc/llc.cpp U lib/Target/PowerPC/PPCTargetMachine.h U lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp U lib/Target/PowerPC/PPCTargetMachine.cpp U lib/Target/PowerPC/PPC.h U lib/Target/ARM/ARMTargetMachine.cpp U lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp U lib/Target/ARM/ARMTargetMachine.h U lib/Target/ARM/ARM.h U lib/Target/XCore/XCoreTargetMachine.cpp U lib/Target/XCore/XCoreTargetMachine.h U lib/Target/PIC16/PIC16TargetMachine.cpp U lib/Target/PIC16/PIC16TargetMachine.h U lib/Target/Alpha/AsmPrinter/AlphaAsmPrinter.cpp U lib/Target/Alpha/AlphaTargetMachine.cpp U lib/Target/Alpha/AlphaTargetMachine.h U lib/Target/X86/X86TargetMachine.h U lib/Target/X86/X86.h U lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.h U lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp U lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.h U lib/Target/X86/X86TargetMachine.cpp U lib/Target/MSP430/MSP430TargetMachine.cpp U lib/Target/MSP430/MSP430TargetMachine.h U lib/Target/CppBackend/CPPTargetMachine.h U lib/Target/CppBackend/CPPBackend.cpp U lib/Target/CBackend/CTargetMachine.h U lib/Target/CBackend/CBackend.cpp U lib/Target/TargetMachine.cpp U lib/Target/IA64/IA64TargetMachine.cpp U lib/Target/IA64/AsmPrinter/IA64AsmPrinter.cpp U lib/Target/IA64/IA64TargetMachine.h U lib/Target/IA64/IA64.h U lib/Target/MSIL/MSILWriter.cpp U lib/Target/CellSPU/SPUTargetMachine.h U lib/Target/CellSPU/SPU.h U lib/Target/CellSPU/AsmPrinter/SPUAsmPrinter.cpp U lib/Target/CellSPU/SPUTargetMachine.cpp U lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp U lib/Target/Mips/MipsTargetMachine.cpp U lib/Target/Mips/MipsTargetMachine.h U lib/Target/Mips/Mips.h U lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp U lib/Target/Sparc/SparcTargetMachine.cpp U lib/Target/Sparc/SparcTargetMachine.h U lib/ExecutionEngine/JIT/TargetSelect.cpp U lib/Support/TargetRegistry.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75820 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
a1bdcedc3879510a874d24c450e07feb170d9cd6 |
15-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Add a Force option to raw_fd_ostream to specify whether opening an existing file is considered an error. Convert several tools to use raw_fd_ostream instead of std::ostream, and to use this new option instead of doing a manual check. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75801 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
2286f8dc4cec0625f7d7a14e2570926cf8599646 |
15-Jul-2009 |
Stuart Hastings <stuart@apple.com> |
Revert 75762, 75763, 75766..75769, 75772..75775, 75778, 75780, 75782 to repair broken LLVM-GCC build. Will revert 75770 in the llvm-gcc trunk. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75799 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
dec9803b69ad6dcae9f6f1902e461214a26bd7e7 |
15-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Switch some obvious clients to using the new TargetRegistry. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75767 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
71847813bc419f7a0667468136a07429c6d9f164 |
14-Jul-2009 |
David Greene <greened@obbligato.org> |
Have asm printers use formatted_raw_ostream directly to avoid a dynamic_cast<>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75670 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOCodeGenerator.h
|
b8158acc23f5f0bf235fb1c6a8182a38ec9b00b2 |
14-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
Reapply my previous asmprinter changes now with more testing and two additional bug fixes: 1. The bug that everyone hit was a problem in the asmprinter where it would remove $stub but keep the L prefix on a name when emitting the indirect symbol. This is easy to fix by keeping the name of the stub and the name of the symbol in a StringMap instead of just keeping a StringSet and trying to reconstruct it late. 2. There was a problem printing the personality function. The current logic to print out the personality function from the DWARF information is a bit of a cesspool right now that duplicates a bunch of other logic in the asm printer. The short version of it is that it depends on emitting both the L and _ prefix for symbols (at least on darwin) and until I can untangle it, it is best to switch the mangler back to emitting both prefixes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75646 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
1f316e321a8f2fa0e193c5444584a67a8aabe9a8 |
14-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Revert r7561{9,8,7,6}, which depend on r75610. --- Reverse-merging r75619 into '.': U lib/Target/DarwinTargetAsmInfo.cpp U lib/CodeGen/AsmPrinter/AsmPrinter.cpp --- Reverse-merging r75618 into '.': U lib/CodeGen/ELFWriter.cpp U lib/CodeGen/MachOCodeEmitter.cpp U lib/CodeGen/MachOWriter.cpp --- Reverse-merging r75617 into '.': U lib/Target/CBackend/CBackend.cpp --- Reverse-merging r75616 into '.': U tools/bugpoint/Miscompilation.cpp U tools/lto/LTOCodeGenerator.cpp U tools/lto/LTOModule.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75638 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
b5851462d08bc4d5c3f8348faac9fd2f6387d078 |
14-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
rename getValueName -> getMangledName git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75616 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOModule.cpp
|
1ca29d318a6632c115b9f62c791077b575494e42 |
13-Jul-2009 |
Owen Anderson <resistor@mac.com> |
As Chris pointed out, this doesn't actually need an LLVMContext to operate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75508 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
0a5372ed3e8cda10d724feda3c1a1c998db05ca0 |
13-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Begin the painful process of tearing apart the rat'ss nest that is Constants.cpp and ConstantFold.cpp. This involves temporarily hard wiring some parts to use the global context. This isn't ideal, but it's the only way I could figure out to make this process vaguely incremental. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75445 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
485ded0db71b2abe51da919bd58501cee345c443 |
09-Jul-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Don't create undefined symbols for aliases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75111 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
ac57e6e498abccb117e0d61c2fa0f733845e50cb |
06-Jul-2009 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Add the Object Code Emitter class. Original patch by Aaron Gray, I did some cleanup, removed some #includes and moved Object Code Emitter out-of-line. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74813 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.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
to.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
TOCodeGenerator.cpp
TOCodeGenerator.h
TOModule.cpp
TOModule.h
to.cpp
|
1bc1e6407f4015d0eb5d0ff815ddab6b1ba5e5f8 |
02-Jul-2009 |
John Mosby <ojomojo@gmail.com> |
fix ld error with -no-undefined switch, which is undefined on darwin8 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74674 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
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
TOCodeGenerator.cpp
TOCodeGenerator.h
TOModule.cpp
TOModule.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
TOCodeGenerator.cpp
TOCodeGenerator.h
TOModule.cpp
TOModule.h
to.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
TOCodeGenerator.cpp
TOCodeGenerator.h
TOModule.cpp
TOModule.h
to.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
TOCodeGenerator.cpp
to.cpp
|
929a49356e2b95ac5a054bb53697e67f2a0bc43e |
24-Jun-2009 |
Chris Lattner <sabre@nondot.org> |
remove dead makefile flags. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74065 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
75d6ffd53fcee04edfb961cca8b37122867fa660 |
22-Jun-2009 |
Bob Wilson <bob.wilson@apple.com> |
Recognize and handle ARM v7 target triples for Darwin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73889 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
2deb58f72ec6547a2f760fc48f86b4d95d0a4a02 |
17-Jun-2009 |
Chris Lattner <sabre@nondot.org> |
switch to using llvm/Target/TargetSelect.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73611 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
8189d40a8d92daf81492c28276f152db71082445 |
17-Jun-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Fix libLTO by #include'ing the initializers for all targets and all asm printers. While I'm here, alphabetize. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73606 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
f403cd7838aefaacef11bbc1398f165b76ba131f |
09-Jun-2009 |
Rafael Espindola <rafael.espindola@gmail.com> |
Bug fix: string::find returns string::npos if the substring is not found. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73145 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
d8b4711a16a38f446f2d0e902d13790e03196dee |
04-Jun-2009 |
Nick Kledzik <kledzik@apple.com> |
<rdar://problem/6944342> libLTO for darwin should add -static when assembling .s git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72881 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.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
TOCodeGenerator.cpp
TOCodeGenerator.h
to.cpp
to.exports
|
f5a1c35f1b62556d31b95e874863b262ef46f974 |
04-Jun-2009 |
Nick Kledzik <kledzik@apple.com> |
<rdar://problem/6941517> C++ static constructors not preserved for static executable using LTO Move setRelocationModel() to be called before TargetMachine is instantiated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72816 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
e0f0e0be1c5f6f80cd866d84643509ef399eec96 |
03-Jun-2009 |
Daniel Dunbar <daniel@zuster.org> |
Change LTO to run the global opt pass twice. - This matches llvm-ld. It took a bit of archeology to figure out what the right thing to do was (whether this was intentionally added or intentionally removed). My final conclusion is that Chris added this intentionally here: http://llvm.org/viewvc/llvm-project?view=rev&revision=16913 but the changes weren't propogated to llvm-ld until here: http://llvm.org/viewvc/llvm-project?view=rev&revision=34058 which was after lto.cpp had been cloned off (of llvm-ld), here: http://llvm.org/viewvc/llvm-project?view=rev&revision=29494 From the commit message, it looks like the motivation for running global opt again is because we ran it prior to inlining. Based on that I updated the comment and also only run the pass if we actually ran the inliner. Chris, please review. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72811 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
006a03482880a5b614dfbb8601e0ae92593a595c |
03-Jun-2009 |
Daniel Dunbar <daniel@zuster.org> |
Add createStandardLTOPasses to StandardPasses.h, and move lto and llvm-ld over. - I know it sounds crazy, but I think all the pass lists are now coalesced into StandardPasses.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72805 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
4bdf73025a56bd2affad27f6eae93c7f8d2a06d4 |
02-Jun-2009 |
Nick Kledzik <kledzik@apple.com> |
update comments about .objc_ symbols being generated git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72708 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
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
TOModule.cpp
TOModule.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
TOModule.h
|
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
TOCodeGenerator.cpp
TOCodeGenerator.h
to.cpp
|
b8cb0bb08c7f9f2dfcdfa5f7d72a4c56a9c93228 |
30-Apr-2009 |
Bill Wendling <isanbard@gmail.com> |
Remove LTO optimization level. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70445 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
98a366d547772010e94609e4584489b3e5ce0043 |
30-Apr-2009 |
Bill Wendling <isanbard@gmail.com> |
Instead of passing in an unsigned value for the optimization level, use an enum, which better identifies what the optimization is doing. And is more flexible for future uses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70440 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
a7e326b0a95b7e672248c686c54c3b4fbb222259 |
29-Apr-2009 |
Bill Wendling <isanbard@gmail.com> |
Don't use 'false' for 'fast isel' here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70411 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
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
TOModule.cpp
TOModule.h
|
9f777c64c51f45a5e0a6773d99a4fd031076db56 |
01-Apr-2009 |
Evan Cheng <evan.cheng@apple.com> |
Recognize arm triplets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68229 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
dcd158af278ec19be6d608acb4e358d36903c86f |
26-Feb-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Force 'llvm-config' to go first, optionally followed by lto and gold mixed in with the rest of the parallel directories. Build lto when possible on all platforms. Make gold to explicitly depend on libLTO. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65518 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
677c2c2a6257657d85f16871addc93f37cd40454 |
26-Feb-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Add the function attributes pass during LTO time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65508 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
a9183c8020c3203f7597d1fbfe4244dd99c7981e |
23-Feb-2009 |
Nick Lewycky <nicholas@mxc.ca> |
If nobody minds, I'm using LTO to produce faster binaries. Switch fast codegen off in libLTO. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65310 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
38ed388fb3b30c30cb46a40704fefb1d2485a45b |
17-Feb-2009 |
Devang Patel <dpatel@apple.com> |
Remove changes that were accidently included in previous commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64835 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
13319ceffdd99d153e62011c5dda08b95e3279e3 |
17-Feb-2009 |
Devang Patel <dpatel@apple.com> |
The debugger sometimes lookup dynamically in the runtime to find ivar info of any Objective-C classes. It would be very helpful to debugger if the compiler encodes runtime version number in DWARF. Add support for two additional DWARF attributes to encode Objective-C runtime version number. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64834 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
535e3e8df963e2d8327718518efd9ddc31faf42a |
11-Feb-2009 |
Duncan Sands <baldrick@free.fr> |
Revert r64299: it breaks the build when configured without --enable-pic, like my nightly tester. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64302 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
46dec953194a2b3c308ec94c19961aa822b9d402 |
11-Feb-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Try this. Darwin -> LTO, PIC -> LTO + possibly gold too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64299 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
ca70533d3daeda66f6a0f19faf6691c20b34d086 |
11-Feb-2009 |
Devang Patel <dpatel@apple.com> |
62987 disables LTO build on darwin. Revert 62987 for now. Nicolas please investigate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64285 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
b454eabe7ff0824356ccdb75459a0312f43254c1 |
06-Feb-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Correct strange whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63927 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
12817413113b6d0e33ecedea6723bbd03d2eb012 |
26-Jan-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Build libLTO on any platform so long as PIC is enabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62987 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
93d9ad567d575ff3fcebf3feea9dae123cd1f10d |
03-Jan-2009 |
Bill Wendling <isanbard@gmail.com> |
Setting BUILD_ARCHIVE to 0 has the same effect as defining it to 1. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61599 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
6e116872820b669d3b686b7fc9ed65d45b5799fb |
30-Nov-2008 |
Nick Lewycky <nicholas@mxc.ca> |
Remove warning about declaration does not declare anything. This class was already declared in the other headers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60261 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.h
|
4fd40e884c76ffbf1157ab4ca48a099c55eebb4f |
29-Nov-2008 |
Nick Lewycky <nicholas@mxc.ca> |
Add protected visibility to libLTO. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60257 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
0d9eb9b4917340acbfc831890655b8e9724959f6 |
13-Nov-2008 |
Daniel Dunbar <daniel@zuster.org> |
Add Binary flag to raw_fd_ostream constructor. Document raw_fd_ostream's treatment of "-". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59219 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
f75e78900cec3500c01938f0a89bf5a3f7ae8dca |
05-Nov-2008 |
Devang Patel <dpatel@apple.com> |
On darwin, 32-bit x86 target is i386-apple-darwin... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58731 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
ed3e8b4ed2a3ab44d316e16a54d963f8927c6783 |
21-Aug-2008 |
Dan Gohman <gohman@apple.com> |
Don't silently ignore errors when opening output streams. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55120 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
cb3718832375a581c5ea23f15918f3ea447a446c |
21-Aug-2008 |
Owen Anderson <resistor@mac.com> |
Use raw_ostream throughout the AsmPrinter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55092 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
TOCodeGenerator.h
|
3688f268cb31dbfb5b36131d96af668fa2fc6a8d |
15-Aug-2008 |
Owen Anderson <resistor@mac.com> |
Remove GCSE, ValueNumbering, and LoadValueNumbering. These have been deprecated for almost a year; it's finally time for them to go away. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54822 91177308-0d34-0410-b5e6-96231b3b80d8
TOCodeGenerator.cpp
|
db6535dd2008897f6446dcfa1ae754d1a6eb0270 |
19-Jul-2008 |
Nick Kledzik <kledzik@apple.com> |
tentative definitions are default visibility git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53780 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
5a7fb69ac21028bc829181d9d93cd7fe4c941440 |
19-Jul-2008 |
Devang Patel <dpatel@apple.com> |
typo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53778 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
413907000e6949849e4b9c2fabda7105f8bedabd |
16-Jul-2008 |
Devang Patel <dpatel@apple.com> |
Name string length is end position marker - begin position marker. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53697 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.cpp
|
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
TOModule.cpp
TOModule.h
|
f0d286b77fe40017192b527e5cc5d87974093d54 |
15-Jul-2008 |
Devang Patel <dpatel@apple.com> |
LinkOnce definitions have default scope, like weak definitions. Otherwise, the linker may not be able to match LinkOnce definition from one module with an exteranl reference from other module. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53580 91177308-0d34-0410-b5e6-96231b3b80d8
TOModule.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
TOCodeGenerator.cpp
TOCodeGenerator.h
to.cpp
|
82eec45b00ae42c6221e6e8d7886c36cc75b1efb |
08-Jul-2008 |
Nick Kledzik <kledzik@apple.com> |
add _lto_codegen_debug_options so that linker can use it git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53213 91177308-0d34-0410-b5e6-96231b3b80d8
to.exports
|
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
TOCodeGenerator.cpp
TOCodeGenerator.h
to.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
TOCodeGenerator.cpp
TOCodeGenerator.h
TOModule.cpp
TOModule.h
akefile
to.cpp
to.exports
|
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
akefile
to-c.cpp
to.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
to.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
to.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
to.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
to.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
to.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
to.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
to.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
to.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
to.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
to.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
to.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
to-c.cpp
to.cpp
|
51167848265a0fa006c32557caa4aeb3f482f45e |
29-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
remove attributions from tools/utils makefiles. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45414 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
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
to.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
to.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
to.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
to.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
to-c.cpp
to.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
akefile
to.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
akefile
to.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
to.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
to.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
to.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
to.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
to.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
to.cpp
|
897b1b58af65f9e135df994b248553065af31a50 |
01-Feb-2007 |
Devang Patel <dpatel@apple.com> |
Include Makefile.config before testing OS. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33735 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
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
to.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
to.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
to.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
akefile
to.cpp
|
ddc6f353c0e6746553e7042170e42d715b76a294 |
07-Jan-2007 |
Chris Lattner <sabre@nondot.org> |
Add C wrappers for the LTO library (PR1081). Patch by Chandler Carruth! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32966 91177308-0d34-0410-b5e6-96231b3b80d8
to-c.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
to.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
to.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
to.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
to.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
to.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
to.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
to.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
to.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
to.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
to.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
to.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
to.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
to.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
to.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
to.cpp
|
76ed7b1cf5d3f70b28753d4f0f39a7a4cc956a64 |
07-Sep-2006 |
Devang Patel <dpatel@apple.com> |
Add linker into list of LINK_COMPONENTS. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30159 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
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
to.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
to.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
to.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
to.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
to.cpp
|
aea932d27fa41bebaa8576b6002637e74054a7c4 |
04-Sep-2006 |
Chris Lattner <sabre@nondot.org> |
Use LINK_COMPONENTS to specify *components* to link against instead of using USED_LIBS to specify *libraries* to link against. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30090 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
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
to.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
to.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
to.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
to.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
to.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
to.cpp
|
30f63adef8987a90e3bed62cbabb9cdcdd9c3f58 |
03-Aug-2006 |
Devang Patel <dpatel@apple.com> |
Make it fit into 80-columns. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29503 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
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
to.cpp
|
f5a156deeebac16fd0e5adcdfe850f13db2676b3 |
03-Aug-2006 |
Devang Patel <dpatel@apple.com> |
Simplify. Use addprefix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29501 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
bbd1cb43f9c7a3c1a244814c47acf8041b3729cb |
03-Aug-2006 |
Devang Patel <dpatel@apple.com> |
Remove ARM for the moment since it is a work in progress. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29495 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
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
akefile
to.cpp
|