aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2022-04-21Moved contents of clang_cflags into cflagsAlix
Test: Treehugger Bug: 226636335 Change-Id: I3c28904774adf3943a0fb330ccc51adb0db4666f
2021-08-27Add support for building llvm-rs-cc and bcc against muslColin Cross
Bug: 190084016 Test: m USE_HOST_MUSL=true llvm-rs-cc bcc Change-Id: Ic8369356fdab21cd8b6113ff6ba69362cbc39106
2021-02-12[LSC] Add LOCAL_LICENSE_KINDS to external/llvmBob Badour
Added SPDX-license-identifier-Apache-2.0 to: soong/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD SPDX-license-identifier-MIT SPDX-license-identifier-NCSA legacy_permissive legacy_unencumbered to: Android.bp Added SPDX-license-identifier-BSD SPDX-license-identifier-MIT SPDX-license-identifier-NCSA legacy_permissive legacy_unencumbered to: lib/Android.bp Added SPDX-license-identifier-BSD SPDX-license-identifier-MIT SPDX-license-identifier-NCSA legacy_unencumbered to: lib/Support/Android.bp Added SPDX-license-identifier-NCSA to: lib/Analysis/Android.bp lib/AsmParser/Android.bp lib/Bitcode/Android.bp lib/Bitcode/Reader/Android.bp lib/Bitcode/Writer/Android.bp lib/CodeGen/Android.bp lib/CodeGen/AsmPrinter/Android.bp lib/CodeGen/GlobalISel/Android.bp lib/CodeGen/MIRParser/Android.bp lib/CodeGen/SelectionDAG/Android.bp lib/DebugInfo/Android.bp lib/DebugInfo/CodeView/Android.bp lib/DebugInfo/DWARF/Android.bp lib/DebugInfo/PDB/Android.bp lib/DebugInfo/Symbolize/Android.bp lib/ExecutionEngine/Android.bp lib/ExecutionEngine/Interpreter/Android.bp lib/ExecutionEngine/MCJIT/Android.bp lib/ExecutionEngine/Orc/Android.bp lib/ExecutionEngine/RuntimeDyld/Android.bp lib/IR/Android.bp lib/IRReader/Android.bp lib/LTO/Android.bp lib/LibDriver/Android.bp lib/Linker/Android.bp lib/MC/Android.bp lib/MC/MCDisassembler/Android.bp lib/MC/MCParser/Android.bp lib/Object/Android.bp lib/ObjectYAML/Android.bp lib/Option/Android.bp lib/Passes/Android.bp lib/ProfileData/Android.bp lib/ProfileData/Coverage/Android.bp lib/TableGen/Android.bp lib/Target/AArch64/Android.bp lib/Target/AArch64/AsmParser/Android.bp lib/Target/AArch64/Disassembler/Android.bp lib/Target/AArch64/InstPrinter/Android.bp lib/Target/AArch64/MCTargetDesc/Android.bp lib/Target/AArch64/TargetInfo/Android.bp lib/Target/AArch64/Utils/Android.bp lib/Target/ARM/Android.bp lib/Target/ARM/AsmParser/Android.bp lib/Target/ARM/Disassembler/Android.bp lib/Target/ARM/InstPrinter/Android.bp lib/Target/ARM/MCTargetDesc/Android.bp lib/Target/ARM/TargetInfo/Android.bp lib/Target/Mips/Android.bp lib/Target/Mips/AsmParser/Android.bp lib/Target/Mips/Disassembler/Android.bp lib/Target/Mips/InstPrinter/Android.bp lib/Target/Mips/MCTargetDesc/Android.bp lib/Target/Mips/TargetInfo/Android.bp lib/Target/X86/Android.bp lib/Target/X86/AsmParser/Android.bp lib/Target/X86/Disassembler/Android.bp lib/Target/X86/InstPrinter/Android.bp lib/Target/X86/MCTargetDesc/Android.bp lib/Target/X86/TargetInfo/Android.bp lib/Target/X86/Utils/Android.bp lib/Transforms/Android.bp lib/Transforms/Hello/Android.bp lib/Transforms/IPO/Android.bp lib/Transforms/InstCombine/Android.bp lib/Transforms/Instrumentation/Android.bp lib/Transforms/ObjCARC/Android.bp lib/Transforms/Scalar/Android.bp lib/Transforms/Utils/Android.bp lib/Transforms/Vectorize/Android.bp utils/FileCheck/Android.bp utils/TableGen/Android.bp utils/count/Android.bp utils/not/Android.bp utils/yaml-bench/Android.bp Added SPDX-license-identifier-NCSA legacy_permissive to: lib/Target/Android.bp Added SPDX-license-identifier-NCSA legacy_unencumbered to: lib/Fuzzer/Android.bp Bug: 68860345 Bug: 151177513 Bug: 151953481 Test: m all Exempt-From-Owner-Approval: janitorial work Change-Id: I311edfa9e746d2076b64e1e36e5886d78aa046e7
2020-11-11Add product_available to product available modulesJustin Yun
vendor_available modules were available to product modules. However, not all vendor_available modules are required to be available to product modules. Some modules want to be available only to product modules but not vendor modules. To cover the requirement, we separate product_available from vendor_available. vendor_available will not provide product available module. Bug: 150902910 Test: build Change-Id: I3fcce553f52fe98542b7c44711a75fc7d633997f
2020-07-02Make libbcinfo buildable for native_bridgeVictor Khimenko
Bug: http://b/153609531 Test: m libbcinfo.native_bridge Change-Id: Ieada18ce1f69fa241b4244ca06139d86aa35c15d
2019-05-28Change SANITIZE_TARGET refs from 'coverage' to 'fuzzer' [#2].Mitch Phillips
Cleanup of references to 'coverage' in build files. Part of a larger cleanup to make fuzzing work again in the Android build tree. Bug: 121042685 Test: With all patches in the bug merged: mmma external/llvm This is the qt-dev-plus-aosp cherrypick of aosp/954999. See the AOSP commit for further information. Change-Id: Ibb9864f1619b9ff10a6725efdb061251b5f19b88
2019-03-04Suppress warningsLuca Stefani
* This repo doesn't accept patches from upstream, hence suppress the warnings with cflags * unused-lambda-capture were already suppressed * user-defined-warnings are now suppressed in the corresponing libraries Test: mmma external/llvm ( no build warnings ) Change-Id: Icf6681ce8c4d135f4a0a73ae6b16a557329e613f
2018-11-13Switch to gnu++11 for libFuzzer.Stephen Hines
This library is an older snapshot that only works with C++11. Bug: http://b/111067277 Test: Build with default cpp_std as C++17. Change-Id: I3e49d5843bcde0a30f06802d21aa12a6a2140291
2018-10-23Start reserving x18 by default on Android targets.Peter Collingbourne
This is a backport of LLVM r340889 to the external/llvm tree, the goal being to make RenderScript's JITed code reserve x18 as well. Change-Id: I1225f7d489387a39707d6888dc5e5d4d5b49b460
2018-07-11Add unittests to {ARM | AArch64}TargetParser.Zijiao Ma
Add unittest to {ARM | AArch64}TargetParser,and by the way correct problems as below: 1.Correct a incorrect indexing problem in AArch64TargetParser. The architecture enumeration is shared across ARM and AArch64 in original implementation.But In the code,I just used the index which was offset by the ARM, and this would index into the array incorrectly. To make AArch64 has its own arch enum,or we will do a lot of slowly iterating. 2.Correct a spelling error. The parameter of llvm::AArch64::getArchExtName. 3.Correct a writing mistake, in llvm::ARM::parseArchISA. Differential Revision: https://reviews.llvm.org/D21785 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@276957 91177308-0d34-0410-b5e6-96231b3b80d8
2018-02-14Suppress clang 7.0 unused-private-field warnings.Chih-Hung Hsieh
Test: make checkbuild Change-Id: I4b6b265bffeddb65eb1eeb9bf675dd56d6e8d867
2017-10-16Mark llvm headers and libLLVMSupport as vendor_availableJiyong Park
They are depended by libbcinfo which is a VNDK-SP library. Since they are headers and static library, vendor_available: true is enough. Bug: 64425518 Bug: 64395154 Test: BOARD_VNDK_VERSION=current m -j libbcinfo.vendor Merged-In: I4415abb6779776758e780a008c560cbb4ef2c020 Change-Id: I4415abb6779776758e780a008c560cbb4ef2c020 (cherry picked from commit 55404a0d1fd034d6f5b41aa2e1f2c4aea541330a)
2017-09-29Use -Werror in external/llvm/lib/FuzzerChih-Hung Hsieh
Bug: 66996870 Test: build with WITH_TIDY=1 Change-Id: I632d411027f92343b6ad0bb01ab6b275436f74fd
2017-08-09Suppress non-critical warnings in external/llvm.Chih-Hung Hsieh
* We should enable those warnings after fixing the upstream source code. Bug: 64487164 Test: build with WITH_TIDY=1 Change-Id: Id7b7abe6c81b61894664348135354cd3e0be8400
2017-06-12[AArch64] Add fallback in FastISel fp16 conversionsI-Jui (Ray) Sung
Summary: - Fix assertion failures on F16 to/from int types in FastISel by falling back to regular ISel - Add a testcase of various conversion cases with FastISel (-O0) Reviewers: kristof.beyls, jmolloy, SjoerdMeijer Reviewed By: SjoerdMeijer Subscribers: SjoerdMeijer, llvm-commits, srhines, pirama, aemerson, rengolin, javed.absar, kristof.beyls Differential Revision: https://reviews.llvm.org/D33734 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305127 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit dedc24f891c1b93171865ed5e9c3a75d82a600c7) Change-Id: Id45a99255124b518f221b6ad8016198277b923cb
2017-05-22Make llvm libs export headers.Jayant Chowdhary
libLLVM depends on a number of static libraries built from platform/external/llvm/lib. Make these export headers in order to help header-abi-dumper to filter out the abi exported by these libraries. header-abi-dumper's performance improves as it can now avoid recursing into all the AST nodes which are not exported by these libraries. This also improves header-abi-linker's performance when it has to combine the abi dumps from these static libraries into libLLVM's abi dump. Test: mm -j64. Change-Id: I70ae2606ab23c778e24d9d465a2e3cde04a0112f
2016-12-14Merge "Add debug support for __fp16, float, and double constants."android-n-mr2-preview-1David Gross
2016-12-13Rearrange header librariesColin Cross
Use a header library for the LLVM headers. External libraries can depend on the headers by depending on llvm-headers. All modules in LLVM get all the headers, including the autogenerated ones, except for the few that opt-out in order to allow tblgen to compile and generate the generated headers. Test: mma -j Change-Id: I5e0a58fdf9ade97337222822ddf8596a197aa442
2016-12-09Add debug support for __fp16, float, and double constants.David Gross
Partial fix for https://llvm.org/bugs/show_bug.cgi?id=26619. A DIGlobalVariable corresponding to a static const is marked with an expression corresponding to its constant value. Prior to this change, we only emitted the constant value into DWARF for integral types; now, we also emit the constant value into DWARF for floating-point types. NOTE: Upstream llvm/clang has changes "DebugInfo: New metadata representation for global variables" (D20147, D20415) that rework enough of the debug emission that this patch cannot be applied there. Instead there is a separate patch to make a corresponding fix (D27549, D27589). We should throw away this patch when we incorporate those upstream changes. Test: full_fugu-eng: slang/tests, slang/lit-tests, libbcc/tests, RsTest, cts -m RenderscriptTest Change-Id: I535e9b54f131c7322701f3d2c8fcb6ef4a2cc29b
2016-12-02Convert the rest of llvm to Android.bpColin Cross
A few makefiles still exist in external/llvm/*.mk, they are referenced outside external/llvm but no longer used by anything in external/llvm. Test: m -j checkbuild Change-Id: I8227d8feeac7314c237d2d3379b473dc0ee03ded
2016-12-01Convert libLLVM to Android.bpColin Cross
Test: m -j checkbuild Test: external/llvm/android_test.sh Test: compare symbols for out/host/linux-x86/lib64/libLLVM.so and prebuilts/sdk/tools/linux/lib64/libLLVM.so, only difference is removed RTTI symbols Change-Id: Iead18820cf19c678365978ee3b13e1fd9336e305
2016-10-25Fix *_EXTEND_VECTOR_INREG legalizationPirama Arumuga Nainar
Summary: While promoting *_EXTEND_VECTOR_INREG nodes whose inputs are already promoted, perform the appropriate sign extension for the promoted node before doing the *_EXTEND_VECTOR_INREG operation. If not, the undefined high-order bits of the promoted operand may (a) be garbage inc ase of zext) or (b) contribute the wrong sign-bit (in case of sext) Updated the promote-vec3.ll test after this change. The diff shows explicit zeroing in case of zext and intermediate sign extension in case of sext. Reviewers: RKSimon Subscribers: llvm-commits, srhines Differential Revision: https://reviews.llvm.org/D25790 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@284752 91177308-0d34-0410-b5e6-96231b3b80d8 Change-Id: I64ef63d3920357e2818593e0d4ed0bdb41db3949 (cherry picked from commit a61ffbf0a65ae44cd90216e23b3b4ad5cb230381)
2016-10-24Incremental squash-merge of aosp/dev to aosp/masterPirama Arumuga Nainar
Bug: http://b/31320715 This merges commit d3221fcdce064148886034527a19dbd77743f9e2 from aosp/dev including r283496. Test: Build AOSP and run RenderScript tests (host tests for slang and libbcc, RsTest, CTS) Change-Id: I2cabd64cfa333498a4fec52bdf14eafb59676e14
2016-10-24Update aosp/master LLVM for rebase to r275480Pirama Arumuga Nainar
Bug: http://b/31320715 This merges commit 7dcf7f03e005379ef2f06db96aa93f06186b66d5 from aosp/dev. Test: Build AOSP and run RenderScript tests (host tests for slang and libbcc, RsTest, CTS) Change-Id: Iaf3738f74312d875e69f61d604ac058f381a2a1a
2016-10-20Allow undefined symbolsColin Cross
Host builds were compiling without -Wl,--no-undefined. LLVM uses libraries with undefined symbols, use LOCAL_ALLOW_UNDEFINED_SYMBOLS to prevent -Wl,--no-undefined being added. Test: m -j host Bug: 32305815 Change-Id: I5169696396a625862f0be6585d4c566a93067407
2016-10-20Revert "Add missing host ldlibs"Colin Cross
This reverts commit 474d099b48a2a5f4256223ac5c447fbf59c8a7dc. Change-Id: Ib97449c063777d000f36aac2c6b89c144af7c486
2016-10-20Add missing host ldlibsColin Cross
Host builds were compiling without -Wl,--no-undefined. LLVM uses libraries with undefined symbols, se LOCAL_ALLOW_UNDEFINED_SYMBOLS to prevent -Wl,--no-undefined being added. Test: m -j host Bug: 32305815 Change-Id: Id0637e848a6b6de4139dcf803caeb90cc32af582
2016-10-05Disable some clang-tidy checks.Chih-Hung Hsieh
Clang-tidy segmentation fault on llvm-nm.cpp, X86ISelLowering.cpp, etc. Bug: 31559947 Bug: 31938382 Bug: 31938645 Test: make with WITH_TIDY=1 and WITH_TIDY_CHECKS=* Change-Id: I0da80c3b1870f9017ed70d81f8cb36e1fe6ac4ac
2016-06-06[CodeGen] Promote FMINNAN/FMAXNAN like other binops.Ahmed Bougacha
We think it's OK to generate half fminnan because it's legal for the transform-to type (f32; r245196). However, PromoteFloatRes was missing the case; simply promote like the other binops, including minnum. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271317 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-26Revert "Suppress many less important clang-tidy warnings."Chih-hung Hsieh
Replaced by default settings in build/clang/tidy.mk. This reverts commit bf275d09632a6b253197b0c5e4dfb0663d8738f4. Change-Id: Id3aae5388c401456364dc4371876696d6900d551
2016-04-12Suppress many less important clang-tidy warnings.Chih-Hung Hsieh
This will suppress about 256 warnings of google-explicit-constructor and 1200 warnings of google-build-using-namespace. BUG: 28150914 BUG: 28150377 Change-Id: Ie2783b586f2591c1677b6ac52d3527d87ee251c7
2016-03-24Remove unsafe AssertZext after promoting result of FP_TO_FP16Pirama Arumuga Nainar
Summary: Some target lowerings of FP_TO_FP16, for instance ARM's vcvtb.f16.f32 instruction, do not guarantee that the top 16 bits are zeroed out. Remove the unsafe AssertZext and add tests to exercise this. Reviewers: jmolloy, sbaranga, kristof.beyls, aadg Subscribers: llvm-commits, srhines, aemerson Differential Revision: http://reviews.llvm.org/D18426 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@264285 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-24[DAGCombine] Catch the case where extract_vector_elt can cause an any_ext ↵Silviu Baranga
while processing AND SDNodes Summary: extract_vector_elt can cause an implicit any_ext if the types don't match. When processing the following pattern: (and (extract_vector_elt (load ([non_ext|any_ext|zero_ext] V))), c) DAGCombine was ignoring the possible extend, and sometimes removing the AND even though it was required to maintain some of the bits in the result to 0, resulting in a miscompile. This change fixes the issue by limiting the transformation only to cases where the extract_vector_elt doesn't perform the implicit extend. Reviewers: t.p.northover, jmolloy Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D18247 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@263935 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-03Update aosp/master LLVM for rebase to r256229Pirama Arumuga Nainar
http://b/26987366 Change-Id: I1f29c4676a8abe633ab5707dded58d846c973d50
2015-09-02Stop checking HOST_OS, whitelist windows modulesDan Willemsen
Bug: 23566667 Change-Id: If7a149c047ccd36c7789eda3c29d6cc8977ca6d6
2015-08-17Add Android.mk for libLLVMFuzzer.Dan Albert
Bug: http://b/22850550 Change-Id: Icb531452b369ad1922112f677a4a302b282c8116
2015-07-08Update aosp/master LLVM for rebase to r239765Pirama Arumuga Nainar
Bug: 20140355: This rebase pulls the upstream fix for the spurious warnings mentioned in the bug. Change-Id: I7fd24253c50f4d48d900875dcf43ce3f1721a3da
2015-05-20Update aosp/master LLVM with patches for fp16Pirama Arumuga Nainar
Cherry-pick LLVM revisions r235191, r235215, r235220, r235341, r235363, r235530, r235609, r235610, r237004 r235191 has a required bug-fix and the rest are all related to fp16. Change-Id: I7fe8da5ffd8f2c06150885a54769abd18c3a04c6
2015-05-14Update aosp/master LLVM for rebase to r235153Pirama Arumuga Nainar
Change-Id: I9bf53792f9fc30570e81a8d80d296c681d005ea7
2015-05-14Fix Android.mk files for plugins on darwin.Stephen Hines
Darwin uses a few different flags for this than Linux, and we missed this when we updated the test builds recently. Change-Id: I8a0e8bc18ef698a0ed933f96b2bce0653f4307e5
2015-04-23Export all dynamic symbols for opt and bugpointPirama Arumuga Nainar
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! Change-Id: Ib76507ccfeae37a368718c5a1fb69da337f4f964
2015-04-13Remove duplicate.Ying Wang
This fixes build warnings: build/core/binary.mk:494: target `out/host/linux-x86/obj/STATIC_LIBRARIES/libLLVMARMCodeGen_intermediates/ARMGenCodeEmitter.inc' given more than once in the same rule. build/core/binary.mk:494: target `out/target/product/shamu/obj/STATIC_LIBRARIES/libLLVMARMCodeGen_intermediates/ARMGenCodeEmitter.inc' given more than once in the same rule. Change-Id: I4691fe616c1e13a4cc18ceaf3b64a3f2b9a5cd87
2015-04-09Update aosp/master llvm for rebase to r233350Pirama Arumuga Nainar
Change-Id: I07d935f8793ee8ec6b7da003f6483046594bca49
2015-03-23Update aosp/master LLVM for rebase to r230699.Stephen Hines
Change-Id: I2b5be30509658cb8266be782de0ab24f9099f9b9
2015-01-21MISched: Fix moving stores across barriersTom Stellard
This fixes an issue with ScheduleDAGInstrs::buildSchedGraph where stores without an underlying object would not be added as a predecessor to the current BarrierChain. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223717 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-19Update LLVM lit test configuration to be able to work for 3.6.Stephen Hines
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
2014-12-02Update aosp/master LLVM for rebase to r222494.Stephen Hines
Change-Id: Ic787f5e0124df789bd26f3f24680f45e678eef2d
2014-11-03Allow mm in these subdirectories.Dan Albert
These files weren't including llvm.mk themselves, causing LLVM_HOST_BUILD_MK to be undefined. For make, include $(undefined_var) fails without error, because make is quite possibly the worst tool ever made. Change-Id: Ic2ddd7ba844cf0da98e527b4f05511acb9db3b06
2014-10-24Merge in the following upstream patches to resolve Cortex-A57 crashes.Stephen Hines
r214957 r215233 r216455 r216721 r217682 r217689 r217690 r217735 Change-Id: Ia53b88591471325df132caf26e1087510a65ce36
2014-10-17Bring in fixes for Cortex-A53 errata + build updates.Stephen Hines
Bug: 18034609 Change-Id: I2cf0094eb9df801a84274ff29018431d75da89dd