History log of /frameworks/compile/libbcc/include/bcc/Renderscript/RSCompilerDriver.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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/include/bcc/Renderscript/RSCompilerDriver.h
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/include/bcc/Renderscript/RSCompilerDriver.h
186d2f34573eb20de197d8eb8e08bcadd031a9bd 07-Apr-2015 Yang Ni <yangni@google.com> Embed a real chesksum in script group .so

Change-Id: Icf2f37867692f94e344a292fa15f8b85e0fc30a5
/frameworks/compile/libbcc/include/bcc/Renderscript/RSCompilerDriver.h
552537979f312f62488eee9e45b2f78678eafbea 25-Mar-2015 Pirama Arumuga Nainar <pirama@google.com> Include missing header

Fix build breakage in win_sdk.

Change-Id: I21b80b6354e337ba933ef76e8a238c4edeae2123
/frameworks/compile/libbcc/include/bcc/Renderscript/RSCompilerDriver.h
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/include/bcc/Renderscript/RSCompilerDriver.h
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/include/bcc/Renderscript/RSCompilerDriver.h
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/include/bcc/Renderscript/RSCompilerDriver.h
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/include/bcc/Renderscript/RSCompilerDriver.h
77c1d553e5799aef5add08667e71b62b6842ed2e 23-Jan-2015 Tim Murray <timmurray@google.com> Fix -emit-llvm with shared object compilation.

Change-Id: I696f3777a0981a875772d7340970a6cb49581cd7
/frameworks/compile/libbcc/include/bcc/Renderscript/RSCompilerDriver.h
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/include/bcc/Renderscript/RSCompilerDriver.h
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/include/bcc/Renderscript/RSCompilerDriver.h
b4447cd2b14f53efd9102d28da48000be7b2d4fd 20-Aug-2014 Chris Wailes <chriswailes@google.com> De-cruft the libbcc compiler infrastructure.

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
/frameworks/compile/libbcc/include/bcc/Renderscript/RSCompilerDriver.h
900c6c1f08f7c572125d7d39abe0f0f9eafbfa14 14-Aug-2014 Chris Wailes <chriswailes@google.com> Replace NULL macros with nullptr literals.

Change-Id: Id2311cda59dd42c74b3ed54d3ff6cfd509012738
/frameworks/compile/libbcc/include/bcc/Renderscript/RSCompilerDriver.h
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/include/bcc/Renderscript/RSCompilerDriver.h
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/include/bcc/Renderscript/RSCompilerDriver.h
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/include/bcc/Renderscript/RSCompilerDriver.h
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/include/bcc/Renderscript/RSCompilerDriver.h
c06cd06078a8c866d5cecbf897326092b55a8955 12-Jul-2013 Stephen Hines <srhines@google.com> Only support EnableGlobalMerge on ARM architectures.

Change-Id: I5c4c236c306e120c5aa24fbc91815cc27d7aab0f
/frameworks/compile/libbcc/include/bcc/Renderscript/RSCompilerDriver.h
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/include/bcc/Renderscript/RSCompilerDriver.h
7b980e1717f3cf418f7bc4e40597004bc1139b8b 20-Jun-2013 Tobias Grosser <grosser@google.com> bcc: Add option -emit-llvm

Change-Id: I98470c6573b216518f77d338f4659d5b9fbcc3d3
/frameworks/compile/libbcc/include/bcc/Renderscript/RSCompilerDriver.h
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/include/bcc/Renderscript/RSCompilerDriver.h
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/include/bcc/Renderscript/RSCompilerDriver.h
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/include/bcc/Renderscript/RSCompilerDriver.h
06731a6150ae8014d37258d5f32ef8bc14a3db63 13-Feb-2013 Stephen Hines <srhines@google.com> Add LinkRuntimeCallback() and supporting functions to RS compiler.

Change-Id: I7745406a94ba74896ee98752a3de106d2672159d
/frameworks/compile/libbcc/include/bcc/Renderscript/RSCompilerDriver.h
3ab9da1e1b3d7794994393af086d096397fb84db 02-Feb-2013 Stephen Hines <srhines@google.com> Fix bcc_compat symbol resolution with libcompiler_rt.so.

Change-Id: Id6177e53ec9647b560a73de566d2d8a95d860200
/frameworks/compile/libbcc/include/bcc/Renderscript/RSCompilerDriver.h
09ca95426a7ec66def02e47048bb25289759c6fb 26-Jan-2013 Shih-wei Liao <sliao@google.com> Switch to use libcompiler_rt for compiler runtimes.

Change-Id: I64b3d4ba80343bc592fa0df72242b33b2d2ae0ed
/frameworks/compile/libbcc/include/bcc/Renderscript/RSCompilerDriver.h
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/include/bcc/Renderscript/RSCompilerDriver.h
e198abec6c5e3eab380ccf6897b0a0b9c2dd92dd 28-Jul-2012 Stephen Hines <srhines@google.com> Rename RenderScript -> Renderscript.

Change-Id: I187928033b47f3e3f4cb811a0b3562f479cfe417
/frameworks/compile/libbcc/include/bcc/Renderscript/RSCompilerDriver.h