aboutsummaryrefslogtreecommitdiff
path: root/tools
AgeCommit message (Collapse)Author
2021-02-12[LSC] Add LOCAL_LICENSE_KINDS to frameworks/compile/libbccBob Badour
Added SPDX-license-identifier-Apache-2.0 to: bcinfo/tools/Android.bp lib/Android.bp tools/Android.bp tools/bcc/Android.bp tools/bcc_compat/Android.bp tools/bcc_strip_attr/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD SPDX-license-identifier-MIT SPDX-license-identifier-NCSA legacy_unencumbered to: Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-NCSA to: bcinfo/Android.bp bcinfo/Wrap/Android.bp Added SPDX-license-identifier-NCSA to: bcinfo/BitReader_2_7/Android.bp bcinfo/BitReader_3_0/Android.bp Bug: 68860345 Bug: 151177513 Bug: 151953481 Test: m all Exempt-From-Owner-Approval: janitorial work Change-Id: I3e5db60370f5eecc6677fabb3e4b6f5971e0d512
2019-05-24Provide a static libbcc and bcc binary rule for vendor useTim Klein
Bug: 131709055 Test: manual Change-Id: I8873e7de0b35c12ec2fce47f68947b3114a8dce0
2017-11-06Make libbcc depend on libLLVM_android.soPirama Arumuga Nainar
Bug: http://b/64121881 The module built in the Android tree is now named libLLVM_android.so. Test: aosp_marlin checkbuild with FORCE_BUILD_LLVM_COMPONENTS set and unset. Change-Id: I02b24178fb4eb94b0c0052738256df9e0597cc6a
2017-09-29Merge "Remove default libraries"Dan Willemsen
am: 5b5c2da95c Change-Id: I4dff134a9bcf54e877fa53bcebf4e6d101c42afb
2017-09-28Remove default librariesDan Willemsen
libdl is part of system_shared_libs now. -ldl -lpthread -lm are now defaults for host_ldlibs on Linux and Darwin. -lrt is a default for host_ldlibs on Linux. Test: m host Change-Id: I0b06bf79cbfc1030468c71ef6586f4c9165da6dc Exempt-From-Owner-Approval: build system cleanup
2017-06-13bcc vendor plugin must be loaded from the sphal namespaceoreo-dr1-devJiyong Park
bcc loads vendor plugin in its address space. Since bcc is a system process, the vendor plugin must be loaded from the sphal namespace where VNDK-SP libraries are provided. This is to ensure that the vendor plugin is linked against to the VNDK-SP version of libraries. It also prevents the vendor plugin from using non-VNDK-SP libs such as libLLVM.so. Bug: 62517583 Test: a sample renderscript app (CameraScript) runs well Change-Id: I87c9d55c3527bee8c6d2653fa8a796143a7bb146
2017-03-29Structure layout logic cleanup.David Gross
(Revert "Revert "Structure layout logic cleanup."" This reverts commit 15440179aa78ae6ca1cc5207757691071a02b0bb.) Do not run special x86-32 transformations when slang has explicitly padded structs. Verify that front end (Module) and back end (TargetMachine) agree on the layout of every exported struct type. Cannot build without slang change: https://android-review.googlesource.com/#/c/359135/ Bug: http://b/29154200 Bug: http://b/28070272 Test: (aosp_x86_64-eng emulator, full_fugu-eng, aosp_angler-eng) x (RsTest 32-bit, RsTest 64-bit, cts -m RenderscriptTest) tests/run-lit-tests.sh Tried (unmodified slang, modified bcc) and ( modified slang, unmodified bcc) and ( modified slang, modified bcc) By instrumenting modified bcc, confimed that: - Special x8632 layout transformations only run with unmodified slang, and only when test is compiled for x8632. "Modified slang" is a forthcoming slang change to add explicit padding to struct types: https://android-review.googlesource.com/#/c/359135/ Change-Id: Id938db661497710275a318e0964a36f64fcfa05b
2017-03-29Revert "Structure layout logic cleanup."David Gross
This reverts commit 8281b5d72ff27077c461aa22e5c51a3a69e25916. Change-Id: I3ed6617ca890c8dfd537b645357d0344746e549a Reason: AddressSanitizer: container-overflow (aosp-master/aosp_x86_64-eng build)
2017-03-28Structure layout logic cleanup.David Gross
Do not run special x86-32 transformations when slang has explicitly padded structs. Verify that front end (Module) and back end (TargetMachine) agree on the layout of every exported struct type. Cannot build without slang change: https://android-review.googlesource.com/#/c/299366/ Bug: http://b/29154200 Bug: http://b/28070272 Test: (aosp_x86-eng emulator, full_fugu-eng, aosp_angler-eng) x (RsTest 32-bit, RsTest 64-bit, cts -m RenderscriptTest) tests/run-lit-tests.sh Tried (unmodified slang, modified bcc) and ( modified slang, unmodified bcc) and ( modified slang, modified bcc) By instrumenting modified bcc, confimed that: - Special x8632 layout transformations only run with unmodified slang, and only when test is compiled for x8632. "Modified slang" is a forthcoming slang change to add explicit padding to struct types: https://android-review.googlesource.com/#/c/299366/ Change-Id: I536497d1152995bf93a48dc83527d1575d5f947e
2017-03-03Make libbcc, libbcinfo, bcc no longer depend on libcutils and libutils.Miao Wang
Bug: 34396220 Test: mm and CTS tests pass Change-Id: I9a5e608dfc2a92e411da5c7cff2406209052715d
2017-02-20Merge RSScript.cpp and Script.cppJean-Luc Brouillet
We don't need two classes. Bug: 34265954 Test: Compiled. Ran imageprocessing_jb and a compat lab test. Test: Compared that the APK have not changed in size. Change-Id: Ib91e16d80bd5ba33c5946ff6f5b11a579338eb1c
2017-02-16Flatten the libbcc directories.Jean-Luc Brouillet
Get rid of the Support, Core, and RenderScript subdirectories for the sources and the header files. Deleted the unused Sha1 header file. Bug: 34265954 Test: Compiled everything, ran a regular and a support lib app. Change-Id: Iac760ee3c1985259593e7bbd1dd2dd35e99f654b
2017-01-11liblog: use log/log.h when utilizing ALOG macrosMark Salyzyn
Test: compile Bug: 30465923 Change-Id: I5dcef0e7708f018d3dea2a8184115b7aeb941686
2016-12-13Convert libbcc to Android.bpColin Cross
See build/soong/README.md for more information. Includes one small code change to replace FORCE_BUILD_LLVM_DISABLE_NDEBUG with _DEBUG, which is set already in llvm-defaults in external/llvm/soong/llvm.go when the environment variable is set. libbcc-targets.mk remains, it is still used by frameworks/rs/cpu_ref. Reapplies Iec37d2c33020bb5702c27497ae343a8312601202 with libbcinfo's version_script only applied on device builds, and only building 64-bit for host. Test: mma -j Test: mma -j FORCE_BUILD_LLVM_COMPONENTS=true Change-Id: I6a024929bf90368f81f47c72f0c48866efc0e635
2016-12-13Revert "Convert libbcc to Android.bp"Colin Cross
This reverts commit 5a2d24e315d79f735eeb8b6560118f10edbd6b05. Reason for revert: breaks mac build Change-Id: I6429aaddea2c2cc1e71c5ab66d656392a112bd8f
2016-12-12Convert libbcc to Android.bpColin Cross
See build/soong/README.md for more information. Includes one small code change to replace FORCE_BUILD_LLVM_DISABLE_NDEBUG with _DEBUG, which is set already in llvm-defaults in external/llvm/soong/llvm.go when the environment variable is set. libbcc-targets.mk remains, it is still used by frameworks/rs/cpu_ref. Test: mma -j Test: mma -j FORCE_BUILD_LLVM_COMPONENTS=true Change-Id: Iec37d2c33020bb5702c27497ae343a8312601202
2016-10-24Fix libbcc to compile with LLVM r275480Pirama Arumuga Nainar
Bug: http://b/31320715 Test: Run RenderScript tests (host tests for slang and libbcc, RsTest, CTS) Change-Id: Id3f0d03ef019f9315216e7f7ac4cf60883719ad7
2016-08-23Fix clang-tidy warnings in libbcc.Chih-Hung Hsieh
These are proposed changes, looking for upstream changes. * Add explicit keyword to conversion constructors. Bug: 28341362 * Use const reference type for read-only parameters. Bug: 30407689 * Use const reference type for loop index variables to avoid unnecessary copy. Bug: 30413223 * Use faster overloaded string find function. Bug: 30411878 Test: build with WITH_TIDY=1 Change-Id: I2a083651ba7aa7cb1b88fb84738d7caf37b4f511
2016-03-17Update libbcc for LLVM rebase to r256229Pirama Arumuga Nainar
http://b/26987366 Change-Id: Ib5459acda9c4e612948290d0f68456dd4dc414af
2016-02-18Remove dead argument from RSCompilerDriver().David Gross
Change-Id: I4307c10d01bc6886e47789a100845d5b784beb3c
2016-02-12Add missing liblog dependencyDimitry Ivanov
Bug: http://b/27171986 Change-Id: I5e45c422d3b100b60a848763f191971ea6df71d6
2015-11-13Fix code-generation on x86 targetsLuke Drummond
- bcc code generation on x86 devices was generating invalid code in unoptimized builds due to missing CPU detection in ``bcc::CompilerConfig`` - CPU type and code models properly belongs in compilerConfig. - CompilerConfig: existing feature strings were being overwritten instead of appending to existing configured CPU feature config list: ```cpp if (HasF16C()) mFeatureString = "+f16c"; ``` - Moved hardcoded compile-time SSE3/4.1/4.2 features in bcc/tools/Main.cpp. These checks (if any) belong in `bcc::CompilerConfig`.
2015-09-02Stop using HOST_OS, whitelist windows modulesDan Willemsen
Bug: 23566667 Change-Id: I7ef9d73b897788ed4c8a8d8ca9a582cc08af15f9
2015-07-17Stopped bcc from ignoring optimization levelStephen McGroarty
Added in a constructor for RSScript which takes in the compiler config and derives the optimization level from that rather than defaulting it to opt level 3. Also added in a statement to catch a null pointer for the case where the llvm-rs-cc produced bitcode fails verification. Change-Id: I6efdab6280a9c389268b5a40dc4a50eb9bc24370 Signed-off-by: Stephen McGroarty <stephen@codeplay.com>
2015-05-05Provide a pass that creates information about global variables in RS.Stephen Hines
Bug: 20306487 This change implements RSGlobalInfoPass, which is an optional LLVM pass that adds several new global variables to a given Module. These variables contain information about the other RenderScript global variables that are present. Change-Id: I671013c11c7a528254edad5c66f2858953c0f5c4
2015-04-24Merge "Explicitly set x86 SSE feature for bcc_compat"Pirama Arumuga Nainar
2015-04-08Embed a real chesksum in script group .soYang Ni
Change-Id: Icf2f37867692f94e344a292fa15f8b85e0fc30a5
2015-04-06Make kernel fusion check OptEmitLLVM optionYang Ni
b/19695899 So that it does not always emit llvm IR sources every time bcc is invoked to fuse kernels for a script group. Change-Id: I6318a95c0571c12bf8f8dc493246e91dbed725e0
2015-03-30Update libbcc for LLVM rebase to r230699.Stephen Hines
Change-Id: If6717d2df5cc74e7daa493a4be7ac891f8e4928f
2015-03-27Explicitly set x86 SSE feature for bcc_compatYong Chen
Change-Id: I1a6c8d3de59bdbd61d7824cda2bb8b8651f083cb Signed-off-by: Yong Chen <yong.a.chen@intel.com>
2015-03-24Remove RSInfoPirama Arumuga Nainar
bug 19602994 RSInfo is no longer used. Script-specific information is now passed via .rs.info variable in the object file. This patch removes RSInfo and the old caching path which was closely tied to RSInfo. Change-Id: Icb62ed848d1a262dd13d5c49652d034fcd0bb943
2015-03-11Handle FP precision in kernel fusionYang Ni
b/19098612 Added a bcc command-line option for the relaxed core lib path. If the relaxed lib path is provided, it will be used if the merged module has relaxed FP precision. Change-Id: I2a641387f0990463887594729a935a5c3f0f856f
2015-03-10Create one single module for a script groupYang Ni
This changed the way we compile a script group. Instead of compiling each batch into a seperate module, we now compile the whole script group into one single module, with each batch as a function (of fused kernels) in that module. This allows invoke to (fused) kernel communication via globals variables. Added commoand line options "-merge" and "-invoke". The former accepts fused kernel names, input kernels, while the latter accepts new invoke name, and the original invoke function. Additional changes: - Bail out on encountering any unexpected bits in the foreach signature of any kernel to fuse - Made kernel fusion handle kernels without inputs. If a kernel only takes global allocations but no inputs, bcc needs to use a different signature for the fused kernel. - Included in rs info the exported variables for the fused kernel. - Keep all metadata in merged module from the input modules. This would help correctly handling FP precision. (b/19098612) - Handles Z (b/19610223) Change-Id: I5553f86b2e58325f85649078d48685a38f12d62f
2015-03-03Add a -build-checksum flag to bccPirama Arumuga Nainar
bug 19216507 Add a flag to bcc to pass a build checksum. The checksum is passed to RSEmbedInfo pass via LLVM metadata. The old checksum path is tied to RSInfo. Removing this path can be done along with RSInfo removal. Change-Id: I3f21c96ddcfe42c16754fbb7749a72595f90964d
2015-01-22Fix -emit-llvm with shared object compilation.Tim Murray
Change-Id: I696f3777a0981a875772d7340970a6cb49581cd7
2015-01-21Compiler kernel fusion for RenderScript.Yang Ni
This was started by Tobias Grosser during his internship at Google in 2013. This CL includes his original changes and generalization to make it work with the new proposed ScriptGroup API and made the ImageProcessing processing work with this. An enabling CL is needed in the RenderScript runtime, which I will post seperately. Change-Id: Ia73ea917a126a5055ec97f13d90a5feaafd6a2f5
2015-01-19Remove linkloader from frameworks/compile/libbcc.Stephen Hines
Bug: 18322681 Now that we have switched completely to the new shared library object loading path, we can safely remove the legacy linkloader path. In frameworks/compile/libbcc, this removes all of libbccExecutionEngine, since the loader is now self-contained in libRScpu_ref (similar to the support library's shared object loader). We also remove support for all symbol resolvers and the gdb JIT interface (which was already unmaintained). Change-Id: Ie5cc152d93f5e75383f7c21a4523579cfae8823f
2015-01-08Add proper getAnalysisUsage() implementations to each Pass.Stephen Hines
Change-Id: I2db9201dbfe5e8d705a873212f1f69f1fb7b5c20
2015-01-08Fix bcc initialization and shutdown issues.Tim Murray
Actually call the correct LLVM init functions. Change-Id: I883ebe70ae0bb4a535a9bc0536a517dab0cb3ebb
2015-01-05Make bcc-compat use Small CodeModel.Miao Wang
Change-Id: Iaac414ccfdcce9210e2195092f1db2db03a2716d
2015-01-02BCC updates to handle linkloader removalPirama Arumuga Nainar
Bug: 18322681 - Add -fPIC and -embedRSInfo flags to bcc. fPIC generates relocatable object code and -embedRSInfo embeds RS symbol information into the .rs.info variable in the object file. - PIC_ relocation in x86_64 also entails that the CodeModel must be small. Otherwise, we end up with TEXTRELs in the shared library. - Add an LLVM pass to screen functions visibile in RS. lib/RenderScript/generate-whitelist.sh is used to automatically generate the stubbed functions to the whitelist. Change-Id: Ib0a16b7e7aff89490ac631885ffa97dd31c184ce
2014-11-26Update libbcc for LLVM rebase to r222494.Stephen Hines
Change-Id: Idebd60a98bbe62007086386e5497d1df7d901e3d
2014-11-14De-cruft the libbcc compiler infrastructure.Chris Wailes
This patch removes the RSCompiler subclass of Compiler and moves most of its functionality over to the original Compiler class. Methods and variables are re-named to make the code clearer. In addition, unused functions have been removed. Change-Id: I121463df6309c377496cebea8cbb82bb49624ed1
2014-09-30am 40990623: Merge "Remove Atom workaround."Tim Murray
* commit '40990623cd268dfcf5503abcd58465d14453d2f4': Remove Atom workaround.
2014-09-30Remove Atom workaround.Tim Murray
This is no longer necessary because the upstream bug has been fixed. bug 15343872 Change-Id: I1fecb106626c357be726ca9d0922e3528e288a75
2014-09-04am 2d112c02: Merge "Set x86 SSE features explicitly in bcc"Stephen Hines
* commit '2d112c0241dfa3093c00912845b3a5f7f1eb2d67': Set x86 SSE features explicitly in bcc
2014-09-03Set x86 SSE features explicitly in bccJian Li
Change-Id: Ia31393f08703f9474fee31fc03de7888fca78413 Signed-off-by: Yong Chen <yong.a.chen@intel.com>
2014-08-22am ea6b1c5a: Merge "Replace NULL macros with nullptr literals."Stephen Hines
* commit 'ea6b1c5af978698f266f352c8a6f00ec3677e7e5': Replace NULL macros with nullptr literals.
2014-08-20Replace NULL macros with nullptr literals.Chris Wailes
Change-Id: Id2311cda59dd42c74b3ed54d3ff6cfd509012738
2014-08-07Exclude only modules with prebuilt in prebuilts/sdk.Ying Wang
So we can do tapas build in the full platform source tree. Change-Id: I9bf8bcd61c9c9883a4ac7c94f2bc8db5025d59f0 (cherry picked from commit 1819690a18a6a122cd85dc8d0ef1004f08d3f3a0)