9e0f8f0c8965834de02d007bb30e1dc950cf9762 |
|
12-Apr-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Translate GEP instructions on structs to GEP on int8* http://b/24142721 X86 data layout has 64-bit scalars aligned at 4-byte boundaries, while ARM aligns these data at 8-byte boundaries. To bring frontend- and backend-generated code into agreement, this patch adds a pass to translate GEPs on structs to GEPs with int8* operands and byte offsets. This pass runs only on X86 targets. Change-Id: I961b2bc7db9f57f15126f27396db42c9deedfd43 (cherry picked from commit d2d5ee3893220cec256c829a4740a718232f84ac)
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
8e9089377848628813a697b972773e969b942c3b |
|
07-Mar-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update libbcc for LLVM rebase to r256229 http://b/26987366 (cherry picked from commit f229c40f0d2da19985e68955aef1a06ce4121e63) Change-Id: I3d89bb15d0c3e7d64f74656365ed1d472e7de4c7
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
c31e101bed9d58be0388fead9c7344624978f580 |
|
26-Aug-2015 |
Stephen Hines <srhines@google.com> |
Fix invalid read of literal (anonymous) structure names on assertion builds. Bug: 22926131 This change adds support for using libbcc with an assertion-enabled build of LLVM via the FORCE_BUILD_LLVM_DISABLE_NDEBUG define. It also restricts the use of getName() on literal structures. Although a separate patch to frameworks/rs that makes our RS object types not just typedefs of anonymous structs can fix this safely going forward, our release builds will need to be able to read legacy bitcode that uses anonymous literal structure types. Thus, we need the ability to call getName() on all structures for release builds. In the case of assertion builds, we will enforce that we are using the updated compiler + headers so that the structures are not anonymous. If an older compiler + headers are used in the host compile, the bcc compilation will fail with an appropriate error message. Change-Id: Ic2910aed069235b40a31c22b006a4db5c1b9e06c
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
fe0de789385f766e2dacbcfdb05fa57509db874e |
|
13-Aug-2015 |
Elliott Hughes <enh@google.com> |
Lose HAVE_ANDROID_OS from frameworks/compile/libbcc. Change-Id: I445c64c3a3e571380d2efff39829a8d6cf48b329
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
efb3af3ba00e8dc9a10130ec66727ebd8c11a2ed |
|
29-Jul-2015 |
Stephen Hines <srhines@google.com> |
Fix missing call to setLinkRuntimeCallback() from compat path. Bug: 22809453 This call was missing from the buildForCompatLib() path, leading to potential problems with GPGPU drivers that depend on that callback. Change-Id: I236cf9f6e067d243977fbcce154e79953c9e33aa
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
656325bdb4751d5606f9e53d8f417bd727032c31 |
|
17-Jul-2015 |
Stephen McGroarty <stephen@codeplay.com> |
Stopped bcc from ignoring optimization level 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>
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
ebff2ead4ad622ff1bd3f3c108790cead62fe7c7 |
|
22-May-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Screen bitcode for non-RS functions before linking with runtime lib Bug: 19425238 Bug: 20894432 Perform the screening of non-RenderScript functions in the script before linking against the runtime lib. Previously, this used to be done after linking with the runtime lib, LTO passes and just before code generation. This allows vendors to link against a different runtime library that may not have all the functions as the CPU reference driver and add new builtins specific to their driver. Moreover, symbols introduced by LLVM optimizations no longer need any special handling. Change-Id: I5628aa15547a9d56ef7e6550fcb45e8ffa821ade
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
c2ca742d7d0197c52e49467862844463fb42280f |
|
29-May-2015 |
David Gross <dgross@google.com> |
Replace assert() with project-specific version. Our convention is to use our own form of assertion (bccAssert, rsAssert, slangAssert) rather than C standard assertion (assert) because the latter is disabled for the Android build process. However, a few instances of assert() somehow made it through. Bug 21444723 Change-Id: I6702268d452317bf0d78304f112fbfafefe3d5b9
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
750ee65e129a2baef2dc5bb9ad210b45c9184926 |
|
17-Apr-2015 |
Stephen Hines <srhines@google.com> |
Provide a pass that creates information about global variables in RS. 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
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
186d2f34573eb20de197d8eb8e08bcadd031a9bd |
|
07-Apr-2015 |
Yang Ni <yangni@google.com> |
Embed a real chesksum in script group .so Change-Id: Icf2f37867692f94e344a292fa15f8b85e0fc30a5
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
a65fba6fd15b14d930809e64c84fb976a893d038 |
|
19-Feb-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Remove RSInfo 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
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
6da4e253a513feef3405759fef6d0760828808ca |
|
11-Mar-2015 |
Yang Ni <yangni@google.com> |
Handle FP precision in kernel fusion 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
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
0ab50b835805c75ad164466767c2c212f48954cc |
|
16-Feb-2015 |
Yang Ni <yangni@google.com> |
Create one single module for a script group 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
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
51ee77bd31e7d8ca6c89e37b5806c8fc2afcf0dc |
|
20-Feb-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Add a -build-checksum flag to bcc 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
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
77c1d553e5799aef5add08667e71b62b6842ed2e |
|
23-Jan-2015 |
Tim Murray <timmurray@google.com> |
Fix -emit-llvm with shared object compilation. Change-Id: I696f3777a0981a875772d7340970a6cb49581cd7
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
a4ded1373d7ad3e503f186e65bccf94126a0f020 |
|
18-Nov-2014 |
Yang Ni <yangni@google.com> |
Compiler kernel fusion for RenderScript. 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
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
107f50d54d9606e495187d0e89225d3d9fdc1fa9 |
|
20-Jan-2015 |
Stephen Hines <srhines@google.com> |
Remove linkloader from frameworks/compile/libbcc. 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
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
900c6c1f08f7c572125d7d39abe0f0f9eafbfa14 |
|
14-Aug-2014 |
Chris Wailes <chriswailes@google.com> |
Replace NULL macros with nullptr literals. Change-Id: Id2311cda59dd42c74b3ed54d3ff6cfd509012738
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
35978e7a7e87b7147789ff3ca9c3a6bf7dd165b0 |
|
11-Aug-2014 |
Chris Wailes <chriswailes@google.com> |
Replace android::String8 with std::string in libbcc Change-Id: Ic384d60f3e2af0ba02990c904212f77cb1493e90
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
f2ac3176c351cd80bce77fe1488f3de2d0789c1b |
|
26-Jun-2014 |
Jean-Luc Brouillet <jeanluc@google.com> |
Use build fingerprint and compile command for caching. If either of those have changed, we need to invalidate the compiled bit code. Change-Id: I9b5cdc19e29237dc7fb2ec1627a167f3f8987702
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
c5e607adff80a66bc5420baffd299862abdf368d |
|
19-Jun-2014 |
Jean-Luc Brouillet <jeanluc@google.com> |
Change cache dependency tracking. Remove the fix dependencies and make it depend only on the source hash. More changes coming soon to add dependencies on the Android build fingerprint and the command line used to compile. Change-Id: I8964044affccf52326ce286f879307eca79d0b24
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
b39557ea3f72e1854581aa1f859b2323499389b1 |
|
22-May-2014 |
Stephen Hines <srhines@google.com> |
Separate out the symbol resolver from RSCompilerDriver. This change makes compilation distinct from loading. The symbol resolvers now need to be instantiated directly by the RS driver. Change-Id: I37ce409f1b2e538d9091c025895e639a250d6466
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
bde1a2599780d6eaebbc284976ceb690492f6abd |
|
16-May-2014 |
Stephen Hines <srhines@google.com> |
Remove unnecessary inheritance for CompilerConfig, as we switch to offline bcc. Change-Id: Id4a5be7b2b4627bfa7ef6279eb3b5b8e75915a7d
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
c3437f05c638f8befda59170ae788873db24dc1c |
|
31-Jan-2014 |
Stephen Hines <srhines@google.com> |
Improve standalone bcc for on-device compilation. Bug: 7342767 This adds functionality for driver-writers to dynamically load plugins. If such a plugin is loaded, we then execute any function called rsCompilerDriverInit() from it. This function can initialize any other state the driver-writer wants. Change-Id: I733a6a3fc59c429a542cfcaf59a57ad231a19d01
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
045558bd401d0af58a0b57594d75d45ff3035dc9 |
|
18-Feb-2014 |
Stephen Hines <srhines@google.com> |
Fix disabling global merge option with standalone bcc. mConfig will be set before entering setConfig so EnableGlobalMerge needs to be refreshed every time. Change-Id: Ia51e706e717636ea7a87f625256d21bb050da6db
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
acf9c9eeb5a07535dbed5b272c7f22cc1b050a40 |
|
27-Sep-2013 |
Stephen Hines <srhines@google.com> |
resolved conflicts for merge of b9a4701b to klp-dev Change-Id: I9f7924c489d36913e130fd5e7617e3a96e65f1a1
|
c9cdca6e9d7c0e4973c7c5f4fcbf1483b06c674d |
|
26-Sep-2013 |
Stephen Hines <srhines@google.com> |
Fix windows line ending bug. http://code.google.com/p/android/issues/detail?id=60327 Change-Id: I578bab2f41347ac2e43b7d4dc1f206c5f91aeae5
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
0784365a38fd5a9c08dd484f9ba549328d4dff97 |
|
16-Aug-2013 |
Stephen Hines <srhines@google.com> |
resolved conflicts for merge of 8607272a to klp-dev Change-Id: Ic9b996432bfcd228ae8a45f75bc9c564a3a66a31
|
b10c3a7d91556ef31ce91ef018fee4722b783960 |
|
08-Aug-2013 |
Stephen Hines <srhines@google.com> |
Update libbcc for LLVM merge to r187914. Switch over to new llvm::sys::path implementation. Remove unused Source::CreateFromFd(). F_Binary is now in llvm::sys::fs. Change-Id: Ib0ebb8a1d8ea04e5cf36c8082cf31dab2e144554
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
d7a95265621a788a6de8c0c3a27a588d7c466f79 |
|
09-Aug-2013 |
Stephen Hines <srhines@google.com> |
Remove locking code on Windows builds. Change-Id: Ia5656cf4feec3206e73ecc3e3b504146b0c66707
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
c06cd06078a8c866d5cecbf897326092b55a8955 |
|
12-Jul-2013 |
Stephen Hines <srhines@google.com> |
Only support EnableGlobalMerge on ARM architectures. Change-Id: I5c4c236c306e120c5aa24fbc91815cc27d7aab0f
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
ad69476ec040ba9ee07176ccb758aabb5ff6d51c |
|
30-Apr-2013 |
Stephen Hines <srhines@google.com> |
Provide a way to disable LLVM's global merge optimization. Change-Id: I92dff2a208c821722f057dd8c26bd12a1cb5a794
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
27fb7edfd3f53f52fba6ee81267c02f7896198a3 |
|
22-Jun-2013 |
Tobias Grosser <grosser@google.com> |
Dump LLVM-IR before generating target code Dumping the IR earlier prevents target specific passes to modify the IR before it is dumped. Change-Id: I8a61efb7140b0c2025381ea1ad1f4cf3522ec870
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
d0304d59215f8b065332facf6db11d2aec0eb97c |
|
20-Jun-2013 |
Stephen Hines <srhines@google.com> |
Merge "Switch to using full pathnames for cached information."
|
7b980e1717f3cf418f7bc4e40597004bc1139b8b |
|
20-Jun-2013 |
Tobias Grosser <grosser@google.com> |
bcc: Add option -emit-llvm Change-Id: I98470c6573b216518f77d338f4659d5b9fbcc3d3
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
5eea973c91f1d202c6ecc4f753aa65893a5773a6 |
|
20-Jun-2013 |
Stephen Hines <srhines@google.com> |
Switch to using full pathnames for cached information. Bug: 7342767 Change-Id: I8997f4d2834fd607bcfc3bb7db81d8e90b4e4f37
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
88f8c52abea50f411c3774c935a6a1e04d17c182 |
|
13-Jun-2013 |
Stephen Hines <srhines@google.com> |
Update libbcc for LLVM merge to r183849. Remove unused param to readBytes(). Path.h -> PathV1.h Remove ability to load/run files from bcc tool. Change-Id: I07d735fb86638412f01c4f8285d56f45ca35b672
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
47f0d5a8d9ed629a6d58d3e69891f2c7fdee44d9 |
|
05-Jun-2013 |
Stephen Hines <srhines@google.com> |
Further separate build (compile) and load in libbcc. Bug: 7342767 Change-Id: Ia6000d6c3557280126c6bb7f945c922528adeedc
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
01f05d4b45cbde1e07d4707152908c1d843f1328 |
|
01-Jun-2013 |
Stephen Hines <srhines@google.com> |
Load scripts from cached files every time. Bug: 7342767 Having an separate in-memory (vs. file-based) loader makes little sense as we refactor libbcc (to separate it into its own process space). This change is a first step in cleanly separating the compile and link steps. Change-Id: Iad67527329171f18475ced0f0b2652a0aa060259
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
b81d697ec617be24494b622a3532f1c465264415 |
|
22-May-2013 |
Nick Kralevich <nnk@google.com> |
Renderscript: Don't call property_get on host Accessing system properties only makes sense on the target, not on the host. This change is needed to remove host support for properties. Change-Id: I41a34bdeae6a1e9a1481f2ecc80e69ead3bd0556
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
c89f78b40e7823eb2d08e7129794c9f6f1992c08 |
|
09-May-2013 |
Tim Murray <timmurray@google.com> |
Remove extraneous logging. bug 8888887 Change-Id: Ief798e6e139fd4971ce53f090004478f4e036a03
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
1d4a9e4646e8786623daa6ac3917782be56a8fb2 |
|
18-Apr-2013 |
Stephen Hines <srhines@google.com> |
Improve caching for debug contexts. Bug: 7343201 We now skip caching on debug contexts and destroy the cached script copy when we are finished with it. This is a temporary fix until we can refactor libbcc caching. Change-Id: I356b67419dc246209c7b5e077264b0cf2e42578c
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
06731a6150ae8014d37258d5f32ef8bc14a3db63 |
|
13-Feb-2013 |
Stephen Hines <srhines@google.com> |
Add LinkRuntimeCallback() and supporting functions to RS compiler. Change-Id: I7745406a94ba74896ee98752a3de106d2672159d
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
3ab9da1e1b3d7794994393af086d096397fb84db |
|
02-Feb-2013 |
Stephen Hines <srhines@google.com> |
Fix bcc_compat symbol resolution with libcompiler_rt.so. Change-Id: Id6177e53ec9647b560a73de566d2d8a95d860200
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
09ca95426a7ec66def02e47048bb25289759c6fb |
|
26-Jan-2013 |
Shih-wei Liao <sliao@google.com> |
Switch to use libcompiler_rt for compiler runtimes. Change-Id: I64b3d4ba80343bc592fa0df72242b33b2d2ae0ed
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
86a0b797c221d4c3373dc10c8229b75b6747f6e7 |
|
07-Nov-2012 |
Stephen Hines <srhines@google.com> |
Embed RS metadata info directly in emitted object code. Bug: 7419958 Change-Id: Ibd82e503c006532aa74013a46dd13ec3e9473daa
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
331310e1f3f86a795f78e42b3f03558a43829f09 |
|
27-Oct-2012 |
Stephen Hines <srhines@google.com> |
bcc_compat - convert bitcode to shared object files. BUG: 7419958 Change-Id: Ie81203b460d60425780657b51ba3aba2b2b77e05
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|
e198abec6c5e3eab380ccf6897b0a0b9c2dd92dd |
|
28-Jul-2012 |
Stephen Hines <srhines@google.com> |
Rename RenderScript -> Renderscript. Change-Id: I187928033b47f3e3f4cb811a0b3562f479cfe417
/frameworks/compile/libbcc/lib/Renderscript/RSCompilerDriver.cpp
|