summaryrefslogtreecommitdiffstats
path: root/tools
Commit message (Collapse)AuthorAgeFilesLines
* Fix Android.mk files for plugins on darwin.Stephen Hines2015-06-083-0/+11
| | | | | | | | Darwin uses a few different flags for this than Linux, and we missed this when we updated the test builds recently. Change-Id: I8a0e8bc18ef698a0ed933f96b2bce0653f4307e5 (cherry picked from commit 651de8d5ac0b28b10ad0259efc75cf6152dc13dc)
* Update aosp/master LLVM for rebase to r235153Pirama Arumuga Nainar2015-05-1829-214/+3484
| | | | | Change-Id: I9bf53792f9fc30570e81a8d80d296c681d005ea7 (cherry picked from commit 0c7f116bb6950ef819323d855415b2f2b0aad987)
* Export all dynamic symbols for opt and bugpointPirama Arumuga Nainar2015-04-302-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bug 15433215 Command line options from an LLVM module are registered and stored in a static global object in libLLVMSupport. Linking the Hello module with its own copy of libLLVMSupport meant this module's option was not registered correctly. This patch updates Hello's build rules to not link with libLLVMSupport and libLLVMCore. Given the above change, the Hello module still needs to find LLVM symbols that it used to pull directly. The second half of this patch adds linker flag --export-dynamic to tools/opt and tools/bugpoint so loaded modules can find LLVM symbols. Other notes: - The linker flag is not added to the device build of opt. No one should be running opt on the device, AFAIK. - Other tools that load modules, such as llc, lli and even clang, would need this linker flag if they were to load modules correctly. Now that we know how to fix the incorrect module loads, they can be fixed if the need arises. - Remove a duplicate from opt's llvm_opt_STATIC_LIBRARIES. All supported tests pass! Cherry pick of https://android-review.googlesource.com/#/c/148017/ from AOSP Change-Id: Ib76507ccfeae37a368718c5a1fb69da337f4f964
* Add makefile for tools/bugpoint-passesPirama Arumuga Nainar2015-04-301-0/+21
| | | | | | | | | | | | bug 15433215 Build BugpointPasses module for the host. It is loaded by some bugpoint tests. Cherry pick https://android-review.googlesource.com/#/c/148016/ from AOSP Change-Id: I1c0450a63d5eb25cb9da9f07baaaceefd454def5
* Fix mips vs. mips64 build issues.Stephen Hines2015-04-241-0/+1
| | | | Change-Id: I55b16d8c0e597079c036ceeefd8c04bfb394367b
* Update aosp/master llvm for rebase to r233350Pirama Arumuga Nainar2015-04-0994-1722/+4197
| | | | Change-Id: I07d935f8793ee8ec6b7da003f6483046594bca49
* Update lit.site.cfg to be able to run LLVM tests properly again.Stephen Hines2015-04-022-0/+68
| | | | | | | | | | | | Bug: 15433215 Add support for building llvm-dsymutil. Add support for building llvm-pdbdump. We still have 4 unexpected failures to track down with the Android build/run of these tests. These are all related to module loading support. Change-Id: Ibd39cbd2c0ee232a0df23a414d491420493ea94a
* Update aosp/master LLVM for rebase to r230699.Stephen Hines2015-03-23130-925/+6200
| | | | Change-Id: I2b5be30509658cb8266be782de0ab24f9099f9b9
* Update LLVM lit test configuration to be able to work for 3.6.Stephen Hines2014-12-193-0/+118
| | | | | | | | | | | Add support for building more host verification tools: + LLVMHello.so (loadable plugin pass) + lli-child-target + llvm-symbolizer (missing some Android.mk magic) + llvm-vtabledump + verify-uselistorder Change-Id: Id7a9397bf458e97fc330ea0301ebb001750aac7c
* Build opt for the device.Tim Murray2014-12-191-0/+16
| | | | Change-Id: I3b62c323c3d0062b5de3900f7e285f0dbf2ce533
* Update aosp/master LLVM for rebase to r222494.Stephen Hines2014-12-02156-2123/+10837
| | | | Change-Id: Ic787f5e0124df789bd26f3f24680f45e678eef2d
* Add host and device build rules for the llvm-symbolizer binary.Stephen Hines2014-10-231-0/+40
| | | | | | | This change also adds DebugInfo to libLLVM.so on the device. Previously, we did not require this library to be present. Change-Id: Ie5791b58fb6d414a6e06e652ba8a63e6e1bdc210
* Fix build of llvm-ar.Stephen Hines2014-07-251-54/+0
| | | | | | | | | Bug: 15433215 llvm-ar was accidentally including static libraries and libLLVM dynamically, leading to redefined options. Change-Id: If1f05ff68a3c88580b9ff1981937e8d2cf99ee02
* Fix build rules for BuildVariables.inc in llvm-config.Stephen Hines2014-07-211-21/+24
| | | | | | | | | Our previous rules didn't actually construct this file in the appropriate location. It instead was creating it inside of the source tree. We now use a custom build rule to create the proper file and include it from an intermediate build object directory. Change-Id: I571387a647e95e2053fc2520bcb8151cbaec422e
* Update LLVM for rebase to r212749.Stephen Hines2014-07-2179-785/+3065
| | | | | | | Includes a cherry-pick of: r212948 - fixes a small issue with atomic calls Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
* Adds the ability to run the llvm test suite in-tree.Chris Wailes2014-06-0628-62/+1193
| | | | | | | | | | | | | | | | | This was accomplished by building additional tools and hand-generating several files that are auto-generated by the configuration system when LLVM is built out-of-tree. The LTO, Interpreter, and DebugInfo libraries are now being compiled, and several source files were added to existing compilation targets. To run these tests you must first run build/envsetup.sh and have used lunch to select a target. You can then launch the test script by running: cd $ANDROID_BUILD_TOP/external/llvm && ./android_test.sh Bug: 15433215 Change-Id: I43d87de0a4620cdd46c8d0f825dd4428e8409702
* llvm: fix buildColin Cross2014-06-041-2/+2
| | | | | | | | The previous patch renamed some variables used by the build system from arm64 to aarch64. Rename them back so that LLVM can be built for arm64 again. Change-Id: I760aff378411b46841819b30723eb1fa9e166519
* Updated the makefiles to use AArch64 name.Chris Wailes2014-06-041-11/+11
| | | | | | | | The makefiles had previously used the name Arm64 for the AArch64 libraries. This patch changes all of makefiles to use the correct name for the backend. Change-Id: Ida062b1173b719b6d2519618827c3a67ede8b479
* Update LLVM for 3.5 rebase (r209712).Stephen Hines2014-05-2968-1083/+2008
| | | | Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
* We need to build the ARM components for AArch64 as well.Stephen Hines2014-05-061-5/+6
| | | | | Bug: 14474874 Change-Id: I37d5a95db83c31bb77cf2e2b5686d8aa329fd7d8
* Update to LLVM 3.5a.Stephen Hines2014-04-24142-3103/+6216
| | | | Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
* Make LLVM build on AArch64.Tim Murray2014-03-141-0/+12
| | | | | | bug 13343378 Change-Id: I4152d2437a144645fa0b5a425b7bfdcb3a2a5594
* am b7485134: am 449fc261: Merge "llvm: convert makefiles to support multilib ↵Colin Cross2014-02-181-18/+8
|\ | | | | | | | | | | | | build" * commit 'b7485134a2cbecc47904988b4cfde24019ac4fa1': llvm: convert makefiles to support multilib build
| * llvm: convert makefiles to support multilib buildColin Cross2014-02-061-18/+8
| | | | | | | | | | | | | | | | Convert makefiles to allow for building two architectures at the same time. This will also cause make checkbuild to build the target libraries for all supported architectures. Change-Id: Ia5e6fe5b1186a67753faafd3532ed4cb280a8b10
* | Merge remote-tracking branch 'upstream/release_34' into merge-20140211Stephen Hines2014-02-1196-2919/+3828
|\ \ | |/ |/| | | | | | | | | | | Conflicts: lib/Linker/LinkModules.cpp lib/Support/Unix/Signals.inc Change-Id: Ia54f291fa5dc828052d2412736e8495c1282aa64
| * Merging r196294:Bill Wendling2013-12-071-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ------------------------------------------------------------------------ r196294 | arnolds | 2013-12-03 08:33:06 -0800 (Tue, 03 Dec 2013) | 7 lines opt: Mirror vectorization presets of clang clang enables vectorization at optimization levels > 1 and size level < 2. opt should behave similarily. Loop vectorization and SLP vectorization can be disabled with the flags -disable-(loop/slp)-vectorization. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_34@196649 91177308-0d34-0410-b5e6-96231b3b80d8
| * Merging r196100:Bill Wendling2013-12-021-14/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ------------------------------------------------------------------------ r196100 | alp | 2013-12-02 06:17:47 -0800 (Mon, 02 Dec 2013) | 4 lines Cut the gold plugin README down to size This file hasn't been updated in years. Remove old information and point to the current documentation at GoldPlugin.rst. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_34@196135 91177308-0d34-0410-b5e6-96231b3b80d8
| * Merging r195479:Bill Wendling2013-11-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ------------------------------------------------------------------------ r195479 | hans | 2013-11-22 10:25:43 -0800 (Fri, 22 Nov 2013) | 4 lines VS integration: use the correct registry key after r195379 I changed the registry key in that commit, but forgot to update the integration files. This change makes them use the same variable. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_34@195607 91177308-0d34-0410-b5e6-96231b3b80d8
| * Merging r195092:Bill Wendling2013-11-191-32/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ------------------------------------------------------------------------ r195092 | ributzka | 2013-11-18 19:08:35 -0800 (Mon, 18 Nov 2013) | 5 lines [weak vtables] Place class definitions into anonymous namespaces to prevent weak vtables. This patch places class definitions in implementation files into anonymous namespaces to prevent weak vtables. This eliminates the need of providing an out-of-line definition to pin the vtable explicitly to the file. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_34@195111 91177308-0d34-0410-b5e6-96231b3b80d8
| * [weak vtables] Remove a bunch of weak vtablesJuergen Ributzka2013-11-191-1/+30
| | | | | | | | | | | | | | | | | | | | | | | | This patch removes most of the trivial cases of weak vtables by pinning them to a single object file. The memory leaks in this version have been fixed. Thanks Alexey for pointing them out. Differential Revision: http://llvm-reviews.chandlerc.com/D2068 Reviewed by Andy git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195064 91177308-0d34-0410-b5e6-96231b3b80d8
| * llvm-dwarfdump: support for emitting only the debug_types section using ↵David Blaikie2013-11-191-0/+1
| | | | | | | | | | | | -debug-dump git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195063 91177308-0d34-0410-b5e6-96231b3b80d8
| * Revert r194865 and r194874.Alexey Samsonov2013-11-181-39/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | This change is incorrect. If you delete virtual destructor of both a base class and a subclass, then the following code: Base *foo = new Child(); delete foo; will not cause the destructor for members of Child class. As a result, I observe plently of memory leaks. Notable examples I investigated are: ObjectBuffer and ObjectBufferStream, AttributeImpl and StringSAttributeImpl. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194997 91177308-0d34-0410-b5e6-96231b3b80d8
| * [weak vtables] Remove a bunch of weak vtablesJuergen Ributzka2013-11-151-1/+39
| | | | | | | | | | | | | | | | | | | | | | This patch removes most of the trivial cases of weak vtables by pinning them to a single object file. Differential Revision: http://llvm-reviews.chandlerc.com/D2068 Reviewed by Andy git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194865 91177308-0d34-0410-b5e6-96231b3b80d8
| * llvm-cov: Clean up memory leaks.Benjamin Kramer2013-11-151-2/+2
| | | | | | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194799 91177308-0d34-0410-b5e6-96231b3b80d8
| * llvm-cov requires IR and Support as libraries. Instrumentation would be ↵NAKAMURA Takumi2013-11-142-2/+2
| | | | | | | | | | | | overkill. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194695 91177308-0d34-0410-b5e6-96231b3b80d8
| * Add support for DT_VERxxx and DT_MIPS_xxx .dynamic section entries to theSimon Atanasyan2013-11-111-0/+22
| | | | | | | | | | | | | | | | | | llvm-readobj. The patch reviewed by Michael Spencer. http://llvm-reviews.chandlerc.com/D2113 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194421 91177308-0d34-0410-b5e6-96231b3b80d8
| * Change libLTO back to linking with @executable_path instead of @rpath.Bob Wilson2013-11-111-1/+1
| | | | | | | | | | | | | | 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
| * llvm-ar: Let opening a directory failed in llvm-ar.NAKAMURA Takumi2013-11-081-0/+7
| | | | | | | | | | | | | | | | Linux cannot open directories with open(2), although cygwin and *bsd can. Motivation: The test, Object/directory.ll, had been failing with --target=cygwin on Linux. XFAIL was improper for host issues. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194257 91177308-0d34-0410-b5e6-96231b3b80d8
| * Suppress OS crash dialog in llvm-rtdyldAlp Toker2013-11-051-0/+5
| | | | | | | | | | | | | | All other tools have this -- it's needed to avoid hanging lit on Windows in case of a crash. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194060 91177308-0d34-0410-b5e6-96231b3b80d8
| * Revert "llvm-cov: Added command-line option to change dir."Yuchen Wu2013-11-051-11/+1
| | | | | | | | | | | | This reverts commit d8acf0078cf363252727acff00f85ae8074f95b3. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194040 91177308-0d34-0410-b5e6-96231b3b80d8
| * llvm-cov: Added command-line option to change dir.Yuchen Wu2013-11-051-1/+11
| | | | | | | | | | | | | | This will allow for much easier testing when the input files are in a different folder from the test script. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194034 91177308-0d34-0410-b5e6-96231b3b80d8
| * Use startswith_lower() where possible.Jakub Staszak2013-11-041-1/+1
| | | | | | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194007 91177308-0d34-0410-b5e6-96231b3b80d8
| * move getSymbolNMTypeChar to the one program that needs it: nm.Rafael Espindola2013-11-021-1/+224
| | | | | | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193933 91177308-0d34-0410-b5e6-96231b3b80d8
| * Added command-line option to output llvm-cov to file.Yuchen Wu2013-11-021-1/+10
| | | | | | | | | | | | | | Added -o option to llvm-cov. If no output file is specified, it defaults to STDOUT. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193899 91177308-0d34-0410-b5e6-96231b3b80d8
| * Use LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN instead of the "dso list".Rafael Espindola2013-10-314-13/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Rules adjustments in order to build on DragonFly BSD.Rafael Espindola2013-10-311-2/+2
| | | | | | | | | | | | Patch by Robin Hahling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193750 91177308-0d34-0410-b5e6-96231b3b80d8
| * Updated llvm-cov's OVERVIEW descriptionYuchen Wu2013-10-311-1/+1
| | | | | | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193732 91177308-0d34-0410-b5e6-96231b3b80d8
| * Support names like llvm-ar-3.4 and llvm-ranlib-3.4.Rafael Espindola2013-10-291-2/+2
| | | | | | | | | | | | | | | | | | They are used in some packages. For example: http://packages.ubuntu.com/saucy/i386/llvm-3.4/filelist This fixes pr17721. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193612 91177308-0d34-0410-b5e6-96231b3b80d8
| * Cleaning up comments in lliAndrew Kaylor2013-10-291-2/+2
| | | | | | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193571 91177308-0d34-0410-b5e6-96231b3b80d8
| * Adding a workaround for __main linking with remote lli and Cygwin/MinGWAndrew Kaylor2013-10-291-0/+48
| | | | | | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193570 91177308-0d34-0410-b5e6-96231b3b80d8