a48ea364652efcf947dd33c8a6ba893e9c00dd6a |
02-Jun-2016 |
David Gross <dgross@google.com> |
Delete simple reduction implementation. Bug: 27298560 Change-Id: Id826426fc81458ad66118bf7b2059a7a6f02a047
SUtils.h
|
c6c9c1f04b480a395daa1bdd5d634060e505bd80 |
15-Apr-2016 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge changes from topic 'struct-fix' into nyc-dev * changes: Translate GEP instructions on structs to GEP on int8* X86: Fix kernel Input/Output GetElementPtr offset issue
|
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)
STransforms.h
|
57fd9f882f3359be4201c42b02aebf785d311df2 |
08-Apr-2016 |
David Gross <dgross@google.com> |
If a general reduction kernel lacks a combiner function, synthesize one. The CPU reference driver can only go multithreaded for a reduction kernel if that kernel has a combiner function. Bug: 27299475 Change-Id: If7f3a9ba8ec5e15ed5f3ef96968d28d650b01c20
SUtils.h
|
ba1a8f1e6f3eb5b7069e9ba1575f16e393c84c23 |
25-Nov-2015 |
Dean De Leo <dean@codeplay.com> |
Make RSKernelExpand use memory rather than registers. The RSKernelExpand pass generates a loop around the main kernel body. This patch changes it to use LLVM memory with loads and stores rather than generating the SSA directly. This is required in order to be able to attach debugging information to the memory location associated with the loop iteration index variable, enabling the debugger to inspect current thread coordinate. The regular SSA form of LLVM IR doesn't allow this to be done efficiently. If optimizations are enabled, the subsequent passes promote memory back to registers, avoiding potential performance regressions. (cherry picked from commit 4165d29822fc7caf81e435995ff6189608fc0323) Change-Id: Ic394c2876e72a4b3c7e1fe888f2369510fdd3d33
STransforms.h
|
09c7a41f73602bec33e9d392cc959d78931f73c4 |
25-Nov-2015 |
Dean De Leo <dean@codeplay.com> |
Initial version of debug info pass for RS. This introduces a new LLVM pass into libbcc called RSAddDebugInfoPass. Its purpose is to add debug information metadata to LLVM constructs generated by the other parts of libbcc. The generated code generally lacks sufficient debugging information as it has not been processed by the clang-based front-end. The initial version of RSAddDebugInfoPass provides the following: 1. It annotates the expanded function generated by RSExpandKernel pass with debug information, stating the name of the function and source file indicating that the function has been generated. 2. It annotates the instructions of the *.expand function with filename/line indicating that the function code has been generated. The source file of both the generated function definition and the instructions that make up the function is mapped to the source location of /opt/renderscriptdebugger/1/generated.rs:1. That might be source-mapped by the debugger to an appropriate file in the SDK, the contents of which clearly indicate that the user is dealing with generated code (i.e. one without a "physical" source file). Change-Id: I2e566160a448d7bfbb3f8d16680e09e43c845693
STransforms.h
|
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
SUtils.h
|
4e7a50685ae18a24087f6f2a51c604e71fab69e2 |
31-Jul-2015 |
Matt Wala <wala@google.com> |
Expand reduce-style kernels. Bug: 22631253 Rename the RSForEachExpand pass / source file to RSKernelExpand. In addition to already being responsible for expanding foreach-style kernels, RSKernelExpand now expands reduce-style kernels from define foo @func(foo %a, foo %b) into define void @func.expand(i8* %inBuf, i8* %outBuf, i32 len) The expanded function reduces a sub-range of its input. Change-Id: I518fa9367b57111a2f2a1b23903ff870c421beeb
STransforms.h
|
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>
SCompilerDriver.h
SScript.h
|
0768d387bf665e6430d0ffa05f7f1228050047ad |
20-Jun-2015 |
Yang Ni <yangni@google.com> |
Check kernels before fusing b/21958851 Kernel fusion for a Script Group expects kernels to be chained up via outputs (return values) and first arguments. Check this condition during fusion. Otherwise, BCC may crash on broken invariants. Change-Id: I013558c77dc3f79d6e42986121927dd6c695f27e (cherry picked from commit 8c12d615b4ed4b1d782722a125dd1d43bc44a71b)
SScriptGroupFusion.h
|
23c2bfe96698091f2886d1959435d8949f76c46b |
22-Jun-2015 |
David Gross <dgross@google.com> |
Fix cases where RSInvariant pass might miss marking some loads as invariant. llvm-rs-cc and bcc can add numeric suffixes to structure type names; we need to tolerate this when looking for the context structure by name. Bug: 21815112 Change-Id: If5ef169245f8d43affdc43abb2298c7015568dd0
SUtils.h
|
abfa7852d33391671d972614bb21990c5f32ee2b |
23-May-2015 |
Stephen Hines <srhines@google.com> |
Fix x86_64 issue with a missing "." in structure names. Bug: 21375248 This patch refactors RSX86CallConvPass.cpp a little bit so that it uses our latest utility functions for determining the Type of a given Value. The prior implementation could miss structures that didn't have a suffixed dot + number appended to them (i.e. struct.rs_allocation.17 worked fine, but struct.rs_allocation would go undetected). This resulted in missing conversions for the parameter types on x86_64 compiles (and thus crashes in CTS for reference counting, etc.). Change-Id: Ic437754399514d201d2fb69f6efb03badc5f535d
SUtils.h
|
fb81ec1a875d13d9750006313b9123903336101d |
19-May-2015 |
Stephen Hines <srhines@google.com> |
Provide additional information about global variables. Bug: 20306487 This patch extends our global information pass to include details about the type of a global variable, whether or not it is static, constant, or a pointer. It also refactors code that deals with conversion between RenderScript's internal data types and LLVM's type system. A subtle bug has also been fixed with respect to the RSInvokeHelperPass. The previous version could ignore an rs_* object that did not have a numeric suffix. The new helper function properly addresses cases like this. Change-Id: If9c933a885bf6a9063b7edec3f0873e1b144188d
SUtils.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
SCompilerDriver.h
SScript.h
STransforms.h
|
65fb05fec8ddb25b4e32dbb2e1fabda771749fb7 |
15-Apr-2015 |
Yang Ni <yangni@google.com> |
Merge "Embed a real chesksum in script group .so"
|
8c24f8d1d75b619130e8bfce204ed9695362d4a1 |
17-Mar-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Undo AArch64 pass-by-pointer for X86-64 bug 19779488 AArch64's calling convention passes large objects by pointer/reference. Consequently, RS functions exported in the driver need special handling for x86-64. This patch creates a new pass to libbcc that identifies pointer arguments created due to the AArch64 convention and marks them as pass-by-value. Change-Id: I2e24edd9704e843b118f4c445cfd92f61f9de909
STransforms.h
|
186d2f34573eb20de197d8eb8e08bcadd031a9bd |
07-Apr-2015 |
Yang Ni <yangni@google.com> |
Embed a real chesksum in script group .so Change-Id: Icf2f37867692f94e344a292fa15f8b85e0fc30a5
SCompilerDriver.h
|
1d93a190e62ec1588b4724ca8759216b2d0b76d7 |
25-Mar-2015 |
David Gross <dgross@google.com> |
Add RSInvariant pass to recognize Load from RsExpandKernelDriverInfo as invariant. This allows more-aggressive optimization of foreachexp-generated code and of the rsGet*(rs_kernel_context) API functions. In particular, it facilitates LICM of Loads out of the wrapper loop in a .expand function. Bug: 18964628 Change-Id: I77a87b325724ca08c4a04f5a46f316be78a5e0fd
STransforms.h
|
552537979f312f62488eee9e45b2f78678eafbea |
25-Mar-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Include missing header Fix build breakage in win_sdk. Change-Id: I21b80b6354e337ba933ef76e8a238c4edeae2123
SCompilerDriver.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
SCompilerDriver.h
SInfo.h
SScript.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
SCompilerDriver.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
SCompilerDriver.h
SMetadata.h
SScriptGroupFusion.h
|
3b43c366c17620e35c6a4395a13b41ca3e977596 |
10-Mar-2015 |
David Gross <dgross@google.com> |
Merge "Backend support for new special kernel params ctxt and z."
|
33cda5cf335afc6aa2dbe02062bc9e6649e1f87c |
30-Jan-2015 |
David Gross <dgross@google.com> |
Backend support for new special kernel params ctxt and z. Also: - Modify bcinfo dump to show signature metadata in hex instead of dec. - Teach LLVM pass manager about (existing) "foreachexp" pass. - Create MetadataSignatureBitval symbolic names for use by libbcc and slang. Bug: 18964628 Change-Id: I1737ee0476b2005ec87f30473bbfa35aed5ded38
SMetadata.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
SCompilerDriver.h
|
9fe081b8bae8a95d903f8fa8dc0a7590ae706606 |
27-Jan-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Mark whether a script is threadable bug 19095896 Add a pass to check for calls to non-threadable functions. We add a metadata flag to store the result. RSEmbedInfo also adds this information to .rs.info. Change-Id: Iba9a41b338d21a3529a1092656a51be985910fca
STransforms.h
|
77c1d553e5799aef5add08667e71b62b6842ed2e |
23-Jan-2015 |
Tim Murray <timmurray@google.com> |
Fix -emit-llvm with shared object compilation. Change-Id: I696f3777a0981a875772d7340970a6cb49581cd7
SCompilerDriver.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
SCompilerDriver.h
SMetadata.h
SScriptGroupFusion.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
SCompilerDriver.h
SExecutable.h
|
5db508c73e6177eb306bac4725616b7c001587c4 |
06-Jan-2015 |
Stephen Hines <srhines@google.com> |
Fix a few bugs in RSScreenFunctionsPass. Bug: 18322681 This patch fixes a few small issues: 1) The debug context runtime stubs had a few minor name mangling errors. 2) The verification of functions needs to be done after we have stripped away any unused code. Without this, there are issues with debug contexts, because they have unused references to rsOffset()/rsOffsetNs(). 3) We don't actually need to maintain a separate status return for the pass, since llvm::report_fatal_error() will do the right thing in the case of an illegal function being called. Change-Id: I0afe7cf58148cd132f9356268d5ad8acdce1a02d
STransforms.h
|
1e0557ae75ae780352845bd2ba0f4babdc5ae4e6 |
03-Dec-2014 |
Pirama Arumuga Nainar <pirama@google.com> |
BCC updates to handle linkloader removal 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
STransforms.h
|
b7bce7436876884dfd78ec41d147ddbe47e37cbd |
04-Nov-2014 |
Tim Murray <timmurray@google.com> |
generate calls to rsSetObject inside .helper invoke functions bug 18071147 Change-Id: I0ff00b3a86cd799cdb1eebcd1000b74070ee0cdf
STransforms.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
SCompiler.h
SCompilerDriver.h
|
8cb6cc6baed0e2739b1dc23a62626484594b3069 |
22-Aug-2014 |
Stephen Hines <srhines@google.com> |
am ea6b1c5a: Merge "Replace NULL macros with nullptr literals." * commit 'ea6b1c5af978698f266f352c8a6f00ec3677e7e5': Replace NULL macros with nullptr literals.
|
ffb7afb76188e0ef366a9712aa95c7c9823e5391 |
21-Aug-2014 |
Stephen Hines <srhines@google.com> |
am def585e3: Merge "Replace android::String8 with std::string in libbcc" * commit 'def585e3621d073fe2f2b747cd1f0556d62c6656': Replace android::String8 with std::string in libbcc
|
900c6c1f08f7c572125d7d39abe0f0f9eafbfa14 |
14-Aug-2014 |
Chris Wailes <chriswailes@google.com> |
Replace NULL macros with nullptr literals. Change-Id: Id2311cda59dd42c74b3ed54d3ff6cfd509012738
SCompilerDriver.h
SExecutable.h
SScript.h
|
23431e84c891fb87b64100b0f1587c7fca313e53 |
21-Aug-2014 |
Stephen Hines <srhines@google.com> |
am 963a73ca: Merge "Replaced android::Vector with std::vector." * commit '963a73ca7b5df2cb67bf025274ea0fb972f0446a': Replaced android::Vector with std::vector.
|
35978e7a7e87b7147789ff3ca9c3a6bf7dd165b0 |
11-Aug-2014 |
Chris Wailes <chriswailes@google.com> |
Replace android::String8 with std::string in libbcc Change-Id: Ic384d60f3e2af0ba02990c904212f77cb1493e90
SInfo.h
|
5e7d876f8bae477a97606afee93066849a798844 |
26-Jul-2014 |
Chris Wailes <chriswailes@google.com> |
Replaced android::Vector with std::vector. Change-Id: I9bcf36d088d423246312d97e2a87a05e90f6617d
SExecutable.h
SInfo.h
|
539e29852f2c47f037cf2702e6aab913c8fc51d3 |
17-Jul-2014 |
Jean-Luc Brouillet <jeanluc@google.com> |
am 0dd6efbc: Merge "Deprecate rs_fp_imprecise." * commit '0dd6efbce461336f96ccec7ac0e5040199709a44': Deprecate rs_fp_imprecise.
|
5f2e6b9bc70956fc30a9a6d1679f587e4a729884 |
08-Jul-2014 |
Jean-Luc Brouillet <jeanluc@google.com> |
Deprecate rs_fp_imprecise. If rs_fp_imprecise is specified, issue a warning and use rs_fp_relaxed instead. Change-Id: I054fa32128bda60a6d22a0a6a590cd9f3575a2ca
SInfo.h
|
00a68f0a68dbd3b71b9426d911b7334d5d3a5143 |
27-Jun-2014 |
Jean-Luc Brouillet <jeanluc@google.com> |
am e17454cf: am 17d3aed6: Merge "Use build fingerprint and compile command for caching." * commit 'e17454cf6ecdf4c14e9118712b63488e106b580f': Use build fingerprint and compile command for caching.
|
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
SCompilerDriver.h
SInfo.h
|
a4cd44654e04b2dcd8e811b76617892c04efd39f |
20-Jun-2014 |
Jean-Luc Brouillet <jeanluc@google.com> |
am 3108f9c6: am cd399bad: Merge "Change cache dependency tracking." * commit '3108f9c6773c764396a644dc78eeb090c901cc5e': Change cache dependency tracking.
|
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
SCompilerDriver.h
SInfo.h
|
9ac48f29648c6074cd3c2a2636ccc4269e40adda |
23-May-2014 |
Stephen Hines <srhines@google.com> |
am 79e8a844: am b579d30a: am da0c1ea4: Merge "Separate out the symbol resolver from RSCompilerDriver." * commit '79e8a844e119e595d3aeed024f959c97a2310e37': Separate out the symbol resolver from RSCompilerDriver.
|
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
SCompilerDriver.h
|
bc362b623e3fc91c5c796d9bd1c00ac0e617c95d |
15-May-2014 |
Stephen Hines <srhines@google.com> |
am e995ae93: am 1a9b5b61: am d3493fab: Merge "Switch RSForEachExpandPass to use MetadataExtractor." * commit 'e995ae93aa5ed062aede5df96f809cca7de3037c': Switch RSForEachExpandPass to use MetadataExtractor.
|
0e6aad13387bb983b09cb9ca36519ec7b4c0b5f0 |
15-May-2014 |
Stephen Hines <srhines@google.com> |
am f141a77c: am 16601acb: am 30bfe8cc: Merge "Switch to MetadataExtractor path." * commit 'f141a77cdfdda8b1e2c5ae08bfd7e795df7ffd77': Switch to MetadataExtractor path.
|
25eb586bb055ae07c7e82a2b1bdbd6936641580c |
09-May-2014 |
Stephen Hines <srhines@google.com> |
Switch RSForEachExpandPass to use MetadataExtractor. Change-Id: I442054e7aa2329b369f578052bd41c7a973cc822
STransforms.h
|
1253c195dd7911ad91bd66790f03e4c2f8888ad2 |
09-May-2014 |
Stephen Hines <srhines@google.com> |
Switch to MetadataExtractor path. Change-Id: Iabef9abb1c770ffe1e753cfd2fac808f60c19d8a
STransforms.h
|
4215c36c1ce6725bf094219f18caa4ef3a3dac0e |
01-May-2014 |
Stephen Hines <srhines@google.com> |
am ccb44c38: am 4c694e07: am ca48f581: Merge "Improve standalone bcc for on-device compilation." * commit 'ccb44c3834b760b8f4a8c849cdcfe3944dd7a6f7': Improve standalone bcc for on-device compilation.
|
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
SCompilerDriver.h
|
c68092e9071aa92388836dc3d157ffb19097d658 |
17-Apr-2014 |
Tim Murray <timmurray@google.com> |
am 773dab58: am 70a7671e: Merge "Change 64bit library path from /system/lib/ to /system/lib64" * commit '773dab582991cba84fb90c0e11c2c04f2104d1b8': Change 64bit library path from /system/lib/ to /system/lib64
|
36e642c0a89cc6f3a95dadfe1fc2b890c0758b15 |
04-Apr-2014 |
WeiTang <wei.a.tang@intel.com> |
Change 64bit library path from /system/lib/ to /system/lib64 Change-Id: Ie2ec537bb71ca6573588bcaf893d871ba9b5c051
SInfo.h
|
17a397aa110c6601280b20146c199a56da3d9386 |
03-Oct-2013 |
Stephen Hines <srhines@google.com> |
am 4face7bf: resolved conflicts for merge of 8d972a6f to klp-dev-plus-aosp * commit '4face7bf943d93ee91ca94f05df2034550f318fd': Remove references/use of ARCH_X86_HAVE_*.
|
4face7bf943d93ee91ca94f05df2034550f318fd |
03-Oct-2013 |
Stephen Hines <srhines@google.com> |
resolved conflicts for merge of 8d972a6f to klp-dev-plus-aosp Change-Id: I7d1f460a1b6de08b11b430f90c7bf2534e5cca31
|
8d972a6f7975f3b43a1551eb5619f008561a5029 |
03-Oct-2013 |
Stephen Hines <srhines@google.com> |
resolved conflicts for merge of 4293770c to stage-aosp-master
|
5aa70e1912813e173171b7d8540eb4a896f86b42 |
03-Oct-2013 |
Stephen Hines <srhines@google.com> |
Remove references/use of ARCH_X86_HAVE_*. Bug: 11048298 These SSE-related defines are unnecessary because all x86 Android devices have these features. We switch all the checks to __i386__ instead. This also fixes an issue where non-ARM bitcode files were being created with the ARM defines present. This is problematic when we then try to do things that would be arch-specific (i.e. the presence of SSE-enabled functions for clamp(), ...). This also cleans up the different target architecture specified in the x86 bitcode files so that they match the platform target (i686-unknown-linux). Change-Id: Ibbead4aecba2c90bdbe6ff362960079cb7a9e4dc
SInfo.h
|
3d740780dfc4c446d89b9d130d739b4aa90c8298 |
12-Jul-2013 |
Stephen Hines <srhines@google.com> |
DO NOT MERGE - Only support EnableGlobalMerge on ARM architectures. Change-Id: I5c4c236c306e120c5aa24fbc91815cc27d7aab0f Conflicts: include/bcc/Renderscript/RSCompilerDriver.h
SCompilerDriver.h
|
957c9bcff7f9811cd9cb62211c888338228f8a15 |
30-Apr-2013 |
Stephen Hines <srhines@google.com> |
DO NOT MERGE - Provide a way to disable LLVM's global merge optimization. Change-Id: I92dff2a208c821722f057dd8c26bd12a1cb5a794 Conflicts: include/bcc/Renderscript/RSCompilerDriver.h lib/Renderscript/RSCompilerDriver.cpp
SCompilerDriver.h
|
efde1ffb2f6fae8bfa724560432a1434fb0ef71b |
20-Aug-2013 |
Tobias Grosser <grosser@google.com> |
Remove unused code Change-Id: Iea9198c5ce78db933883ac4adab1332f4d2fc430
SScript.h
|
6a5fa14074200a18824defa0bffc64e5f2487152 |
24-Jul-2013 |
Tobias Grosser <grosser@google.com> |
Remove beforeExecuteLTOPasses callback This callback had very unclear semantics and the current use was suprising. Specifically, it took a PassManager parameter, but adding anything to this pass manager would cause the passes to be executed after the other LTO passes The only way to execute passes before the LTO passes, was to create a new pass manager that executes a pass right before all LTO passes (that have already being queued in the pass manager passed in as a parameter) will be executed. The very same behavior can be achieved by just adding our passes to the normal pass manager using the "BeforeAddLTOPasses" callback. We used this callback to schedule the ForEachExpand pass. This pass is now moved to the beforeAddLTOPasses callback. Change-Id: I3916543a4ee282e403174b90dc7b7588baab9ea3
SCompiler.h
|
c06cd06078a8c866d5cecbf897326092b55a8955 |
12-Jul-2013 |
Stephen Hines <srhines@google.com> |
Only support EnableGlobalMerge on ARM architectures. Change-Id: I5c4c236c306e120c5aa24fbc91815cc27d7aab0f
SCompilerDriver.h
|
ad69476ec040ba9ee07176ccb758aabb5ff6d51c |
30-Apr-2013 |
Stephen Hines <srhines@google.com> |
Provide a way to disable LLVM's global merge optimization. Change-Id: I92dff2a208c821722f057dd8c26bd12a1cb5a794
SCompilerDriver.h
|
7b980e1717f3cf418f7bc4e40597004bc1139b8b |
20-Jun-2013 |
Tobias Grosser <grosser@google.com> |
bcc: Add option -emit-llvm Change-Id: I98470c6573b216518f77d338f4659d5b9fbcc3d3
SCompilerDriver.h
|
47f0d5a8d9ed629a6d58d3e69891f2c7fdee44d9 |
05-Jun-2013 |
Stephen Hines <srhines@google.com> |
Further separate build (compile) and load in libbcc. Bug: 7342767 Change-Id: Ia6000d6c3557280126c6bb7f945c922528adeedc
SCompilerDriver.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
SCompilerDriver.h
SInfo.h
SScript.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
SCompilerDriver.h
|
8ee82d4c1dded958f27f0dc51ddeceda0c895d99 |
17-Apr-2013 |
Stephen Hines <srhines@google.com> |
Build debug version version of runtime (libclcore_debug.bc). Bug: 7343201 Change-Id: I9ca9acd7b0e23762d28de3af0aa60d4a6d75e5dd
SInfo.h
|
3d0be775a298c8345a038e4f1e060176659ec9db |
05-Mar-2013 |
Jason Sams <jsams@google.com> |
am e323991d: Merge "Start to add X86/SSE2+ optimized clcore library" * commit 'e323991d04284925ff7aea8387bc55c1ed57a061': Start to add X86/SSE2+ optimized clcore library
|
06731a6150ae8014d37258d5f32ef8bc14a3db63 |
13-Feb-2013 |
Stephen Hines <srhines@google.com> |
Add LinkRuntimeCallback() and supporting functions to RS compiler. Change-Id: I7745406a94ba74896ee98752a3de106d2672159d
SCompilerDriver.h
SScript.h
|
7233dcad720ea7e4f6b40b0448244bd4f0c5307e |
08-Feb-2013 |
Shih-wei Liao <sliao@google.com> |
Increase RSInfo version number. The recent change on adding libcompiler_rt.so to library dependencies changes the format of RSInfo (one entry is added.) Change-Id: I690010f4b8ff2ff6f636583faba52eec327f0acd
SInfo.h
|
3ab9da1e1b3d7794994393af086d096397fb84db |
02-Feb-2013 |
Stephen Hines <srhines@google.com> |
Fix bcc_compat symbol resolution with libcompiler_rt.so. Change-Id: Id6177e53ec9647b560a73de566d2d8a95d860200
SCompilerDriver.h
|
09ca95426a7ec66def02e47048bb25289759c6fb |
26-Jan-2013 |
Shih-wei Liao <sliao@google.com> |
Switch to use libcompiler_rt for compiler runtimes. Change-Id: I64b3d4ba80343bc592fa0df72242b33b2d2ae0ed
SCompilerDriver.h
|
f7401ab4b42dcbd782f20ba5c279694edbd28516 |
26-Jan-2013 |
Shih-wei Liao <sliao@google.com> |
Add libcompiler_rt.so as built-in dependencies for RS. Change-Id: I376616ffbe26813a8341e87c965a27666d35b9a6
SInfo.h
|
cdcce323a2acddb4234e6906c691e20bb3d714f9 |
26-Sep-2012 |
Michael Liao <michael.liao@intel.com> |
Start to add X86/SSE2+ optimized clcore library 'sqrt' and 'clamp' are optimized on x86/sse2 target. Change-Id: Ia8f1b12c666828de88c49699006e44b17431a9ac Author: Michael Liao <michael.liao@intel.com> Signed-off-by: Yong Chen <yong.a.chen@intel.com> Signed-off-by: Xiaokang Qin <xiaokang.qin@intel.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com> Signed-off-by: Jack Ren <jack.ren@intel.com> Author-tracking-BZ: 61893
SInfo.h
|
86a0b797c221d4c3373dc10c8229b75b6747f6e7 |
07-Nov-2012 |
Stephen Hines <srhines@google.com> |
Embed RS metadata info directly in emitted object code. Bug: 7419958 Change-Id: Ibd82e503c006532aa74013a46dd13ec3e9473daa
SScript.h
STransforms.h
|
331310e1f3f86a795f78e42b3f03558a43829f09 |
27-Oct-2012 |
Stephen Hines <srhines@google.com> |
bcc_compat - convert bitcode to shared object files. BUG: 7419958 Change-Id: Ie81203b460d60425780657b51ba3aba2b2b77e05
SCompilerDriver.h
SInfo.h
SScript.h
|
2b04086acbef6520ae2c54a868b1271abf053122 |
28-Jul-2012 |
Stephen Hines <srhines@google.com> |
Use known strides instead of input args when possible. BUG=6892059 Change-Id: I15b3726624ff0eeca5e30aaa6de928f1c9912471
STransforms.h
|
e198abec6c5e3eab380ccf6897b0a0b9c2dd92dd |
28-Jul-2012 |
Stephen Hines <srhines@google.com> |
Rename RenderScript -> Renderscript. Change-Id: I187928033b47f3e3f4cb811a0b3562f479cfe417
SCompiler.h
SCompilerDriver.h
SExecutable.h
SInfo.h
SScript.h
STransforms.h
|