a48ea364652efcf947dd33c8a6ba893e9c00dd6a |
02-Jun-2016 |
David Gross <dgross@google.com> |
Delete simple reduction implementation. Bug: 27298560 Change-Id: Id826426fc81458ad66118bf7b2059a7a6f02a047
SEmbedInfo.cpp
SKernelExpand.cpp
|
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)
ndroid.mk
SCompilerDriver.cpp
SX86TranslateGEPPass.cpp
|
7d6cde16bde7c6c65d47b51bb992bdfb94077393 |
21-Oct-2015 |
Yong Chen <yong.a.chen@intel.com> |
X86: Fix kernel Input/Output GetElementPtr offset issue http://b/24142721 The disagreement between module and x86 target datalayout causes mismatched size calculation of structs with 64-bit scalar fields. This patch solves the issue by treating input and output pointers as byte* pointers, indexing them with explicit byte offsets computed using a modified data layout for x86, with alignment for 64-bit scalars set to 8-bytes, and casting the indexed pointers back to the real type. Change-Id: Id99ea0e37f5cc9ad93cc6a5979db79ff11b3998c Signed-off-by: Yong Chen <yong.a.chen@intel.com> (cherry picked from commit f039d98d346006442b61255a2889b8513a8cd56f)
SKernelExpand.cpp
|
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
SEmbedInfo.cpp
SKernelExpand.cpp
|
741f72bde7704e49c096dd90effdff4ab099d2d9 |
04-Apr-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update bcc's whitelist with rsDebug for half http://b/27556050 Change-Id: Ic3f89c67e94c071c4da46554a293fe21b84a9ffc
SStubsWhiteList.cpp
|
791d57c5b387448cd672010ff970daed5ae41773 |
30-Mar-2016 |
David Gross <dgross@google.com> |
Merge "Preserve generalized reduction combiner function for use by driver." into nyc-dev
|
1ebe36a439886d7bf60978c2c5c25c973cc6bf3c |
29-Mar-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update bcc's whitelist with convert_halfN(halfN) variants Bug: http://b/27529996 Change-Id: I7824eaccb9e0d4c7e4557510ded5ba0516872620
SStubsWhiteList.cpp
|
19eeecb82f25cd25032b8c9c35acb5b299ef0937 |
29-Mar-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update bcc's whitelist with native_distance for half Bug: http://b/27547875 Change-Id: Idf34df2d3ba9ebcfc1ff2c7d1d77550dac1c28d1
SStubsWhiteList.cpp
|
8ca13573dee07254c95067d05476a82980d8fd6f |
21-Mar-2016 |
David Gross <dgross@google.com> |
Preserve generalized reduction combiner function for use by driver. This is needed for multithreaded execution of a reduction kernel. Bug: 27299475 Change-Id: Id94606f73eea3462232a7f7473fa7a3324f536c6
SKernelExpand.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
ndroid.mk
SAddDebugInfoPass.cpp
SCompilerDriver.cpp
SKernelExpand.cpp
SScriptGroupFusion.cpp
SX86CallConvPass.cpp
|
ea79b56be9bb01d85958c1b44078a76a00315b30 |
18-Feb-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update RSStubsWhiteList with some vector f16 functions http://b/23536224 Auto-generated from spec file udpate in https://android-review.googlesource.com/#/c/203325/. Change-Id: I41f4e488ac0b682f252761009488273dfdf43c97 (cherry picked from commit 88c2cbd86222d268f51e50d23e45611790aa506c)
SStubsWhiteList.cpp
|
6e66918a08f3c4819f3d266a718214525b883645 |
18-Feb-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update copyright date in RSStubsWhiteList.cpp http://b/23536224 Change-Id: Iae17f757efaea5321ce381eab8b0eb2e3ae1d033 (cherry picked from commit 0fe574d1ff0ea823911f5d5a19fcafb84e6d47c2)
SStubsWhiteList.cpp
|
2351f9290cb9de67e5afb79b2afc7408bf4eb926 |
25-Nov-2015 |
Dean De Leo <dean@codeplay.com> |
Improvements to the RSAddDebugInfo pass. This change makes the RSAddDebugInfo pass generate much more complete debug information than before. Newly implemented features and changes: * Debug info for each of the expanded kernel arguments is now generated. This allows the debugger to inspect kernel invocation size, current outer loop indices ('y' and 'z') and other useful information. * Adds debug info for the expanded kernel loop index variable. This allows the debugger to access the current thread index along the 'x' axis. * Pass now uses MetadataExtractor to get the list of kernel functions instead of relying on naming conventions. * Various code improvements. (cherry picked from commit 9d009b0a25bf7eea6f2da2521107dc37acea9acc) Change-Id: I4d6ee8f1bd2844ed85ccd933ead0fb479d716aae
SAddDebugInfoPass.cpp
|
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
SKernelExpand.cpp
|
16516c6e73f0d89fcd05a0c6f9fc456888004c2a |
18-Dec-2015 |
Verena Beckham <verena@codeplay.com> |
Add quaternion functions to the stubs white list. Update the stubs white list, which is generated by frameworks/rs/api/generate.sh, after changes in the rs_quaternion.spec file in https://android-review.googlesource.com/188730/. This also relies on https://android-review.googlesource.com/178432/ to generate the right signatures. Signed-off-by: Verena Beckham <verena@codeplay.com> (cherry picked from commit 2a3e5deca5c064be6a339e99ed5dcca81d727edf) Change-Id: Ia5d88f5398b1c90e6b7dfda3071598b1e384ef77
SStubsWhiteList.cpp
|
4d0aa47a4ebd8ee432ca3f3f88616d23cbb43a10 |
06-Feb-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update bcc whitelist with a few more math functions for half http://b/23536224 Auto-generated from API specification change https://android-review.googlesource.com/#/c/201420/. (cherry picked from commit 23b23462f46866c079362870c2cb9a720b732006) Change-Id: I39fd3a82f4d88041c8f19c7b3521a907606e253c
SStubsWhiteList.cpp
|
3491f318da4557bffb8c98c22c794964fcf6b734 |
04-Feb-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update bcc whitelist with a few math functions for half http://b/23536224 Auto-generated from API specificat change https://android-review.googlesource.com/#/c/200910/. Change-Id: I1e453c86c322215614ed21dfb3336a6041c7ba20
SStubsWhiteList.cpp
|
0abb9a039922ee3043de7a276b947b961ee54a31 |
31-Jan-2016 |
Stephen Hines <srhines@google.com> |
Merge "Add matrix functions to the stubs white list."
|
69619e0a59ee5d571596dda0ffe560cb148c94fa |
31-Jan-2016 |
Stephen Hines <srhines@google.com> |
Merge "Add fract(float) functions to the stubs white list."
|
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
ndroid.mk
SAddDebugInfoPass.cpp
|
e32af52d4be2bb80783404d99fa338b1143dbc9a |
15-Jan-2016 |
David Gross <dgross@google.com> |
Support for general reduction kernels. Bug: 23535724 Change-Id: I28b6b8fafab3fe9f5d09beb990791843875e1f26
SGlobalInfoPass.cpp
SKernelExpand.cpp
|
79e1a05f704ada1bb12749fe3f8b9b69309be9e5 |
11-Jan-2016 |
David Gross <dgross@google.com> |
Metadata support for general reduction. Needs corresponding change in frameworks/rs: The driver and bcinfo need to remain precisely in sync with regard to metadata format in order for RenderScript to work at all. Also fixed memory leak in MetadataExtractor. Bug: 23535724 Change-Id: I6857f605c79139bdce362a7aeef73c91fc502ff6
SEmbedInfo.cpp
|
21d3858d67ac99fe38d58b29088aa5a6c60191c1 |
18-Dec-2015 |
Verena Beckham <verena@codeplay.com> |
Add matrix functions to the stubs white list. Update the stubs white list, which is generated by frameworks/rs/api/generate.sh, after changes in the rs_matrix.spec file in https://android-review.googlesource.com/188731/. Change-Id: I0bc6c617569959aaa798e6b348e1cb98a93a8dd8 Signed-off-by: Verena Beckham <verena@codeplay.com>
SStubsWhiteList.cpp
|
80711a41336ada9628e09224a640dad08acc90b3 |
18-Dec-2015 |
Verena Beckham <verena@codeplay.com> |
Add fract(float) functions to the stubs white list. Update the stubs white list, which is generated by frameworks/rs/api/generate.sh, after changes in the rs_math.spec file in https://android-review.googlesource.com/188740/. Change-Id: Ib87b98f0c5d4b76c07d87f785a1dbb797c60bd30 Signed-off-by: Verena Beckham <verena@codeplay.com>
SStubsWhiteList.cpp
|
9774f5028b0d2d22a903de03a810c9ea4a6071bc |
10-Dec-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update whitelist with f16 math functions. Automatically generated from the spec file change in https://android-review.googlesource.com/#/c/186324/ Bug: 23536224 Bug: 26099915 Change-Id: Ia5e849e2adb90655f965a59923a5e9210df897a7
SStubsWhiteList.cpp
|
02c61f6dbe389424a97b2ffd333bcfc6e1e952c1 |
19-Nov-2015 |
Yang Ni <yangni@google.com> |
Updated whitelist and a fix for target x86_64 Updated whitelist for new rsForEachInternal signature. Correctly handles RS object parameters of rsForEachInternal for the x86_64 target. Change-Id: I1b53861083b87c51c5bdaeaec2be469dc7af7a0a
SStubsWhiteList.cpp
SX86CallConvPass.cpp
|
49321872ca618ae314f7b6985b9d11368b408692 |
12-Oct-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Whitelist allocation-creation functions in libbcc Automatically generated from https://android-review.googlesource.com/#/c/175582/ Change-Id: Ic68c3c425e1c7b0d3d73a56c5de46f11ea7495b8
SStubsWhiteList.cpp
|
71335657996062f03dd754b2cdde461f9d167a4c |
29-Oct-2015 |
Yang Ni <yangni@google.com> |
Launch options & multi inputs for single-source RS Bug: 23535985 Updated bcc whitelist with the new rsForEach mangled function name. Change-Id: Ibc22bd5e9585a4471b15920ef60fe1fe2312de49
SStubsWhiteList.cpp
|
bb8b06af6d01c01958c35b0b1e9d8cc41c7f44be |
18-Sep-2015 |
Yang Ni <yangni@google.com> |
Whitelisting rsForEachInternal calls Bug: 23535985 Auto generated from frameworks/rs/api/rs_for_each.spec Change-Id: I6e2cf3db868f426aa8e0b9a77732b66c1e6b9f03
SStubsWhiteList.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
SCompilerDriver.cpp
|
6af50b75fc0132a9957f19a11357c446b4836b16 |
19-Aug-2015 |
Dan Willemsen <dwillemsen@google.com> |
Stop using HOST_OS, whitelist windows modules Bug: 23566667 Change-Id: I7ef9d73b897788ed4c8a8d8ca9a582cc08af15f9
ndroid.mk
|
9436c894e7d71d0665023f609fe0b823d1c604b7 |
22-Aug-2015 |
Stephen Hines <srhines@google.com> |
Merge "RSKernelExpand: Remove loads of instep and outstep values in new-style forEach kernel expansion."
|
3bc475b206c3fa249a212b90fe989fdcda4d75f9 |
13-Aug-2015 |
Matt Wala <wala@google.com> |
RSKernelExpand: Remove loads of instep and outstep values in new-style forEach kernel expansion. InStep and OutStep are not used by expanded new-style forEach kernels. Instead, the strides are inferred from the type information available to the kernel expansion pass. Change-Id: Ieb3dc46ac4fdcd19d7e26f6d84b7356479b9984e
SKernelExpand.cpp
|
005666078051a3f8e1e0ff59678635f3c501cde8 |
21-Aug-2015 |
Jean-Luc Brouillet <jeanluc@google.com> |
Restore missing min and max API. min(float2/3/4, float) and max(float2/3/4, float) were defined in our headers in K. In L, they were removed by mistake. This continued to work however because a float would be auto converted by the compiler to a float4. In M, we started validating for unexpected external references, which _Z3minDv4_ff is. This can prevent programs compiled with K from running on M. This CL fixes the whitelist. Bug:23389429 Change-Id: I21f59521b3744d0c5b6fd75dbf1810493e9c1d84
SStubsWhiteList.cpp
|
dfde70a8ae9b77bbf0e8d9d22a55e1d1fda7d64d |
19-Aug-2015 |
Stephen Hines <srhines@google.com> |
Remove ambiguous parse to fix mingw build breakage. Change-Id: I5f30aaa1669dc9a1dfb019e94df261c5eafa5a1f
SKernelExpand.cpp
|
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
ndroid.mk
SEmbedInfo.cpp
SForEachExpand.cpp
SKernelExpand.cpp
|
fe0de789385f766e2dacbcfdb05fa57509db874e |
13-Aug-2015 |
Elliott Hughes <enh@google.com> |
Lose HAVE_ANDROID_OS from frameworks/compile/libbcc. Change-Id: I445c64c3a3e571380d2efff39829a8d6cf48b329
SCompilerDriver.cpp
|
9296edce10caec9c901f24b65e7d54c8ffe9131c |
06-Aug-2015 |
Matt Wala <wala@google.com> |
Fix alias metadata issues. Bug: 22804168 (1) Remove the used of alias.scope metadata. This was not being used correctly and had no effect. (2) Fix the use of TBAA. Ensure that the temporary alloca used for passing pointers to the kernel (if the kernel takes a pointer parameter) does not get annotated with the RenderScript TBAA, because this can conflict with existing TBAA metadata in the kernel. Change-Id: I27018f809a33f213c6d4cc720b18b844f28b2d6f
SForEachExpand.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
SCompilerDriver.cpp
|
083ef3c3d1991e9fa443ff76065ec6528dd4730c |
23-Jul-2015 |
Matt Wala <wala@google.com> |
RSForEachExpand: Improve getelementptr instruction generation. (1) The old pattern, when accessing fields of the driver info structure, was: %base = gep %DriverInfo *%info, 0, <base array index> %addr = gep [N x i8*]* %base, 0, <index> This change folds the above into: %addr = gep %DriverInfo *%info, 0, <base array index>, <index> which simplifies both way that we generate the GEP instructions as well as the resulting bitcode. (2) In addition, GEPs of input pointers and instep sizes can be hoisted out of the loop body. (3) Finally, mark all GEPs into the DriverInfo structure as inbounds, because we know they are. Change-Id: Icfabbdb464af8865c2a4623d967bbb63ef711680
SForEachExpand.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>
SCompilerDriver.cpp
SScript.cpp
|
767dd80cb44a9e973405672d0beb54d741382592 |
15-Jul-2015 |
Stephen Hines <srhines@google.com> |
Merge "Fix a bug where kernels could modify the input allocation."
|
28c17995669687cecc96eaba232eecd3b65f5bbf |
08-Jul-2015 |
David Gross <dgross@google.com> |
Fix rs_kernel_context_t type mismatch in call to kernel. The kernel function context argument (if any) is a pointer to an opaque user-visible type (rs_kernel_context_t) that differs from the RsExpandKernelDriverInfoPfx type used in the wrapper function (although the two types represent the same thing). Therefore, we must introduce a pointer cast when generating a call to the kernel function. Bug: 21812992 Change-Id: I7680676a159cf052e2761b4f670f67891c3d6c1b
SForEachExpand.cpp
|
d96c9fae6bcbaa7d8bee0dab2d75beb8400248ff |
07-Jul-2015 |
Matt Wala <wala@google.com> |
Fix a bug where kernels could modify the input allocation. Bug: 22236496 A large struct in an input Allocation, passed by reference in AArch64, was not being properly copied into a temporary location as the calling convention requires. As a result, the kernel could have modified the input allocation if it made any modifications to the argument. Fix by copying the struct to a stack location before passing it to the kernel. Change-Id: I5089f9e5e27cd0d4ff249cbdc21f0c6ae186f189
SForEachExpand.cpp
|
e2423780bf482d2eeefa9a958b4793f865cba845 |
30-Jun-2015 |
Matt Wala <wala@google.com> |
Fix static object construction. allocPointersExposed() maintains a static vector to hold a table of function names. Unintentionally, the size of the table could grow with each function call because the entries were being added by appending to the existing object. This can be fixed by using an initialization list instead of a sequence of appends. Also, mark the table as const to ensure the code doesn't try to modify it. Change-Id: I0da0f99928e1614c945befff550b039d4f21e171
SForEachExpand.cpp
|
f1eeeb14d117a67c5f35b72e866890bd8d1d694f |
29-Jun-2015 |
Yang Ni <yangni@google.com> |
bcc kernel fusion: Fixed checks and added better error messages b/21949580 Need to increment the slot iterator only after checking if the slot is first in batch. Succeeding kernel input data type has to strictly match the return type of the preceding kernel. Give error messages on all error exits, with better messages. Change-Id: Icc50b85377e820333b13e57389e53363d4a7e89f (cherry picked from commit 531d08c85971e47f58aedc093fbe83f1b909703e)
SScriptGroupFusion.cpp
|
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.cpp
|
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
SInvariant.cpp
|
d7fc8037f075e1fa797bdf49aee4e096643981ed |
19-Jun-2015 |
Jean-Luc Brouillet <jeanluc@google.com> |
Merge "Update RSStubsWhiteList.cpp with a generated list"
|
bb066cb45575eabcdb5bad9d3f3bd48f3b9b6b94 |
19-Jun-2015 |
Jean-Luc Brouillet <jeanluc@google.com> |
Merge "Screen bitcode for non-RS functions before linking with runtime lib"
|
150eef4097c996e14b50b7f58184265385c44713 |
19-Jun-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Fix check for literal types In my previous commit on "Get struct names only for non-literal structs" I got the check for literal structs reversed. This commit fixes that. Change-Id: I7b1b35d4ad85bdfde65a2d68fa39cf2cb8bde9cb
SInvariant.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
SCompilerDriver.cpp
|
1997f70e65091cfe8695324c12d2cefbfb784fd6 |
15-Jun-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update RSStubsWhiteList.cpp with a generated list Bug: 19425238 Bug: 20894432 Use the automated mangled-name generation added in https://android-review.googlesource.com/#/c/154754 to update libbcc's whitelist. Change-Id: I06ad3e1a0e71497cbd4c097a2fabec81f94ab8e2
SStubsWhiteList.cpp
|
0ef3c2c1f34aa61541c0b67833821eb0adfdf198 |
12-Jun-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Merge "Get struct names only for non-literal structs"
|
e8b9f0607d59e991d984302d790b8b16e3623cc3 |
12-Jun-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Get struct names only for non-literal structs Bug 19545955 While marking loads as invariant, test that a struct parameter is not a literal struct before comparing/testing its name. Change-Id: I92fb234b42306859ecad87c83321f9a8fe1a210b
SInvariant.cpp
|
721414ca0d1f1d6a1f98b5f16c5766cfa001d784 |
10-Jun-2015 |
Matt Wala <wala@google.com> |
RSGlobalInfoPass: Fix types in global info tables Bug: 20306487 With LLVM asserts enabled, the code that builds .rs.global_names and .rs.global_addresses triggered an assertion because the table entries were not void pointers. Fix by casting the inputs appropriately. Change-Id: I21310d8da46150dcf7590faf398d11b3b72a692b
SGlobalInfoPass.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
SCompilerDriver.cpp
SForEachExpand.cpp
|
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
SX86CallConvPass.cpp
|
d6dba60912f3eb9b6257ebe97daf63d4600fbb51 |
23-May-2015 |
Stephen Hines <srhines@google.com> |
Merge "Provide additional information about global variables."
|
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
SEmbedInfo.cpp
SGlobalInfoPass.cpp
SInvokeHelperPass.cpp
|
9503a5a087fc6021813d6b3ae5f22acffdd3d6b1 |
21-May-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Add missing functions to RenderScript whitelist bug 20894432 Some functions can be present in our compiled module because they are absent from vendor-specific RS runtime libraries. These functions need to be added to our whitelist so bcc doesn't report them as errors. Change-Id: I98e8bbac9f111f81fcf5cf99a859feebc708e309
SStubsWhiteList.cpp
|
e57fde54a4145a85439545f79bd8747682f86ded |
15-May-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Merge "Update libbcc for rebase to LLVM r235153"
|
98137cca7eebca946b869b010fef2821c9bf4971 |
06-May-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update libbcc for rebase to LLVM r235153 Some changes related to GEP may impact us in the future: - GEP constructors take an additional argument - the pointee type of the resulting pointer. Update bitcode readers accordingly. They take nullptr for now. This behavior should be retained at least for 3.x. - Likewise, CreateStructGEP and CreateConstInBoundsGEP2_32 need the pointee type argument. Passing nullptr for the extra argument for now. According to commit message in r233938, passing nullptr may not work in the future. Unlike the BitcodeReaders, we can pass the right pointee type here. b/20886457 is created to track this issue. Change-Id: I2450da1c36470fb9defd387d74360480c3e4bd2f
SForEachExpand.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
ndroid.mk
SCompilerDriver.cpp
SGlobalInfoPass.cpp
SScript.cpp
|
e1c7d298e3e38ffff294ce57c37ab43827a67ee5 |
15-Apr-2015 |
Stephen Hines <srhines@google.com> |
Make better use of getStringOperand() for MetadataExtractor. This change also cleans up some of the code from a prior rebase. It also captures two additional broken metadata cases (from corrupt object slot and/or pragma metadata). Change-Id: I61e161d2b0e211349683e36160d564493d802a12
SEmbedInfo.cpp
SForEachExpand.cpp
SScriptGroupFusion.cpp
|
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
ndroid.mk
SX86CallConvPass.cpp
|
0a3df6528dfba4f417582d51b52f34946dee3f3f |
10-Apr-2015 |
Jean-Luc Brouillet <jeanluc@google.com> |
Merge "Remove obsolete entry points."
|
a8adba16f2d9c91568598b0244840a2a1056b10a |
09-Apr-2015 |
Jean-Luc Brouillet <jeanluc@google.com> |
Remove obsolete entry points. Change-Id: I79c9f94dc4d5e8f498222b3d5a490f0ba4b63ba3
SStubsWhiteList.cpp
|
186d2f34573eb20de197d8eb8e08bcadd031a9bd |
07-Apr-2015 |
Yang Ni <yangni@google.com> |
Embed a real chesksum in script group .so Change-Id: Icf2f37867692f94e344a292fa15f8b85e0fc30a5
SCompilerDriver.cpp
|
6a91ad088cd8499ef52eb12ef47cf968c8035e59 |
08-Apr-2015 |
Jean-Luc Brouillet <jeanluc@google.com> |
Remove the rs_path APIs from the white list. CL/141547 and CL/144668 removed rs_path but had not touched this file. Change-Id: Ic5d6324fa4d1377728bad7e1f89fde2eb7962847
SStubsWhiteList.cpp
|
354d1c132ad7e1ff6fdb0da95443245848a0601f |
04-Apr-2015 |
Stephen Hines <srhines@google.com> |
Fix TBAA by using an additional distinct node for swapping. Bug: 20069947 We now create a distinct TBAA root node, so that we can easily swap the rest of the RenderScript TBAA subtree into the simple C/C++ TBAA tree. This change also reenables TBAA for RenderScript, which was disabled during the most recent LLVM rebase. RAUW is only applicable to ReplaceableMetadata, which general MDNodes (like those constructed for TBAA) are not. Fortunately, replaceOperandWith() can be used for MDNodes with existing operands, which is why we need to add an additional layer to the hierarchy. Change-Id: I9f0def0eb109099f12e5292bc1f3a6deafd4aad9
SForEachExpand.cpp
|
1bd9f627fa0affb457507e86b0b6684c695fe726 |
18-Mar-2015 |
Stephen Hines <srhines@google.com> |
Update libbcc for LLVM rebase to r230699. Change-Id: If6717d2df5cc74e7daa493a4be7ac891f8e4928f
SForEachExpand.cpp
|
be42b8a2ef3e5bb7603b974f32dc25caba1bc716 |
30-Mar-2015 |
Tim Murray <timmurray@google.com> |
Merge "Add bitcast to invoke helper pass."
|
4100e8e25a51279b7586f5678a141fd85e33413f |
30-Mar-2015 |
Tim Murray <timmurray@google.com> |
Add bitcast to invoke helper pass. Change-Id: I53ddd68d62f09f83832d844d64e7d3da196863f5
SInvokeHelperPass.cpp
|
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
ndroid.mk
SForEachExpand.cpp
SInvariant.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
ndroid.mk
SCompilerDriver.cpp
SInfo.cpp
SInfoExtractor.cpp
SInfoReader.cpp
SInfoWriter.cpp
SScript.cpp
|
e44a3525b9703739534c3b62d7d1af4c95649a38 |
13-Mar-2015 |
David Gross <dgross@google.com> |
Expect RsExpandKernelDriverInfo not RsExpandKernelParams. Which is to say: Retire RsExpandKernelParams and expect RsExpandKernelDriverInfo to be passed to kernel wrapper functions instead. Requires related change in frameworks/rs. Also add kernel input count assertion. Change-Id: I0d47905cc07f5896b6dc0e7887dbe1114f26359f
SForEachExpand.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
SCompilerDriver.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
ndroid.mk
SCompilerDriver.cpp
SMetadata.cpp
SScriptGroupFusion.cpp
|
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
SForEachExpand.cpp
SScriptGroupFusion.cpp
|
b9cf06e4bc592ce8bffd1376f97e358e6a671f6a |
04-Mar-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Merge "Add a -build-checksum flag to bcc"
|
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.cpp
SEmbedInfo.cpp
|
f27f126fd25b9be38753f911e732e668384d969c |
23-Feb-2015 |
Narayan Kamath <narayan@google.com> |
Track removal of refcounts from FileMap. Use delete instead of release. Change-Id: Id8c514a6f0196fdb19fe2bcececcc26519a18c9d
SInfoReader.cpp
|
e7ba6d07e58252590a00ce929941a1699de59e59 |
18-Feb-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Add exp2f, sqrtf, fabsf to whitelist bug 19425238 LLVM constant folding introduces call to unmangled math functions. For example, pow(2, x) becomes exp2(x). These functions must be added to our whitelist. Change-Id: I5dcadafbc821faf3e98d4a7d2106c082c8c09f63
SStubsWhiteList.cpp
|
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
ndroid.mk
SEmbedInfo.cpp
SIsThreadablePass.cpp
|
0b104d630427c15f4001a4e6e1a333734c3c2126 |
26-Jan-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Merge "Embed pragmas into object files"
|
a99ef646b808e99cf870a8663170a1162851a42f |
23-Jan-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Embed pragmas into object files bug 18322681 RSEmbedInfo pass didn't embed pragmas since it was only used in the compatibility path where (most) pragmas don't apply. We need to embed pragmas into .rs.info for the shared library path. Change-Id: I834c5f492ac5cef13ecc016cf8e5a1c7e5bce753
SEmbedInfo.cpp
|
77c1d553e5799aef5add08667e71b62b6842ed2e |
23-Jan-2015 |
Tim Murray <timmurray@google.com> |
Fix -emit-llvm with shared object compilation. Change-Id: I696f3777a0981a875772d7340970a6cb49581cd7
SCompilerDriver.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
ndroid.mk
SCompilerDriver.cpp
SMetadata.cpp
SScriptGroupFusion.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
ndroid.mk
SCompilerDriver.cpp
SExecutable.cpp
|
c754d49ee856be620e041348a9f2b3d5610a5a26 |
09-Jan-2015 |
Stephen Hines <srhines@google.com> |
Add proper getAnalysisUsage() implementations to each Pass. Change-Id: I2db9201dbfe5e8d705a873212f1f69f1fb7b5c20
SEmbedInfo.cpp
SForEachExpand.cpp
SInvokeHelperPass.cpp
SScreenFunctionsPass.cpp
|
50f5eb4b27ce6dd2a02cf389ac2acfa95c6939f1 |
10-Dec-2014 |
Tim Murray <timmurray@google.com> |
Enable autovectorization. Change-Id: Ic35548c3875e5a078e46b594aae7accee79e47b6
SForEachExpand.cpp
|
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
SScreenFunctionsPass.cpp
SStubsWhiteList.cpp
|
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
ndroid.mk
SScreenFunctionsPass.cpp
SStubsWhiteList.cpp
SStubsWhiteList.h
enerate-whitelist.sh
|
579361346abc6696c805e3904a18178ebce4e4a3 |
26-Nov-2014 |
Stephen Hines <srhines@google.com> |
Update libbcc for LLVM rebase to r222494. Change-Id: Idebd60a98bbe62007086386e5497d1df7d901e3d
SInvokeHelperPass.cpp
SScript.cpp
|
bb73b74a9f6ad26c2ab30557bfe6916a44ed75f6 |
04-Nov-2014 |
Tim Murray <timmurray@google.com> |
Modify RSForEachExpand to move casting of pointer types outside the inner loop. This makes autovectorization work in some limited cases. bug 18071147 Change-Id: If9f08760310b90f62e88dfce257575205b3cb5b2
SForEachExpand.cpp
|
b7bce7436876884dfd78ec41d147ddbe47e37cbd |
04-Nov-2014 |
Tim Murray <timmurray@google.com> |
generate calls to rsSetObject inside .helper invoke functions bug 18071147 Change-Id: I0ff00b3a86cd799cdb1eebcd1000b74070ee0cdf
ndroid.mk
SInvokeHelperPass.cpp
|
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
ndroid.mk
SCompiler.cpp
|
429d94acbc64480d4f75233b66b4824cdc8b19c0 |
30-Oct-2014 |
Tim Murray <timmurray@google.com> |
Disable step opt for 12-byte structs on 64-bit. bug 17663411 Change-Id: I21c67f95704e8aeb63f72bd371b1b5a5cc6e569d (cherry picked from commit 4839c9acf4e935dab0b3de3fac0e315d00c3a369)
SForEachExpand.cpp
|
f1568f8f926cf8b194bf4c3197b28429b9905550 |
20-Jul-2014 |
Dan Albert <danalbert@google.com> |
Fix some broken debug statements and asserts. Change-Id: I1d88009cf8a3283f055bea93107ba84f1214d6d4
SInfo.cpp
SInfoExtractor.cpp
|
900c6c1f08f7c572125d7d39abe0f0f9eafbfa14 |
14-Aug-2014 |
Chris Wailes <chriswailes@google.com> |
Replace NULL macros with nullptr literals. Change-Id: Id2311cda59dd42c74b3ed54d3ff6cfd509012738
SCompiler.cpp
SCompilerDriver.cpp
SEmbedInfo.cpp
SExecutable.cpp
SForEachExpand.cpp
SInfo.cpp
SInfoExtractor.cpp
SInfoReader.cpp
SScript.cpp
|
35978e7a7e87b7147789ff3ca9c3a6bf7dd165b0 |
11-Aug-2014 |
Chris Wailes <chriswailes@google.com> |
Replace android::String8 with std::string in libbcc Change-Id: Ic384d60f3e2af0ba02990c904212f77cb1493e90
SCompilerDriver.cpp
SExecutable.cpp
SInfo.cpp
|
5e7d876f8bae477a97606afee93066849a798844 |
26-Jul-2014 |
Chris Wailes <chriswailes@google.com> |
Replaced android::Vector with std::vector. Change-Id: I9bcf36d088d423246312d97e2a87a05e90f6617d
SExecutable.cpp
SInfoExtractor.cpp
SInfoReader.cpp
|
5010f641d1df6bc3447646ca7ef837410fb9b3dc |
26-Jul-2014 |
Chris Wailes <chriswailes@google.com> |
Remove the instep parameter from expanded kernels. Change-Id: I059db548a57702c576963f6b17a002b2ee393cdb
SForEachExpand.cpp
|
e10b8641813c701159c6615faaa58dd1a9b31ce5 |
15-Jul-2014 |
Chris Wailes <chriswailes@google.com> |
Collapse the code paths for single- and multi-input kernels. This patch removes the distinction between single- and multi-input kernels in libbcc. The same code is now gerenated regardless of the number of inputs for both old- and new-style kernels. Change-Id: Id70a223ea5e3aa2b0b935b2b7f9af933339ae8a4
SForEachExpand.cpp
|
326d02a9f3cfe30caa21e5c2aecbd4c85112b363 |
01-Aug-2014 |
Chris Wailes <chriswailes@google.com> |
Fixes AArch64 struct calling convention issue. Cherry-pick of c43e1ba9cf40277dd496fe503e777906d2755251 Change-Id: I9a760c1238ff8b30e0a29a2cd11a030b17b283e2
SForEachExpand.cpp
|
efcede6546a85d4b93088c99f330c8871ddd39a3 |
13-Aug-2014 |
Stephen Hines <srhines@google.com> |
Revert "Collapse the code paths for single- and multi-input kernels." This reverts commit 4ca0fbf10c1b36f821dafd3dcf0c91d6329582dc. Change-Id: Ib21cc25657ee738dc39ddda52d5ead9524cb4da9
SForEachExpand.cpp
|
4ca0fbf10c1b36f821dafd3dcf0c91d6329582dc |
15-Jul-2014 |
Chris Wailes <chriswailes@google.com> |
Collapse the code paths for single- and multi-input kernels. This patch removes the distinction between single- and multi-input kernels in libbcc. The same code is now gerenated regardless of the number of inputs for both old- and new-style kernels. Change-Id: I77e4b155cc7ca1581b05bf901c70ae53a9ff0b12
SForEachExpand.cpp
|
3fc91521640692f844aece8b1743c4df702d1c66 |
25-Jul-2014 |
Stephen Hines <srhines@google.com> |
Merge "Re-do the layout of the RsForEachKernelStruct."
|
097ca14d8b6908d0e5b7f8f38011cad4fb94bc26 |
09-Jul-2014 |
Chris Wailes <chriswailes@google.com> |
Re-do the layout of the RsForEachKernelStruct. This patch changes libbcc to reflect the new layout of RsForEachKernelStruct as defined in frameworks/rs/cpu_ref/rsCpuCore.h. It also introduces some macros to eliminate the use of magic numbers. Change-Id: I7788ef754add44463b17a6b571c7cde6e73b9712
SForEachExpand.cpp
|
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.cpp
|
881cda4f5b793a1e7f7d33cf4a31efc3fdbba4fd |
23-Jun-2014 |
Chris Wailes <chriswailes@google.com> |
Adds support for multi-input kernels to libbcc. This patch modifies libbcc in the following ways: * Adjusted the data-layout of the LLVM version of RsForEachStubParamStruct to accommodate a pointer to an array of input allocations and a pointer to an array of stride sizes for each of these allocations. * Changed how some LLVM values are stored in ExpandKernel. * Causes expanded multi-input kernels to extract input allocation base pointers from a field in the param strcut and load values from these allocations appropriately. * Causes expanded multi-input kernels to use the provided dynamic input stride sizes if no appropriate static type information is present. * Modified bitinfo to support a new development API target which is used to version gate support for multi-input kernels. Change-Id: I46d2834c37075b2a2407fd8b010546818a4540d1
SForEachExpand.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
SCompilerDriver.cpp
SInfo.cpp
SInfoExtractor.cpp
SInfoReader.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
SCompilerDriver.cpp
SInfo.cpp
SInfoExtractor.cpp
SInfoReader.cpp
SInfoWriter.cpp
SScript.cpp
|
ca5135eb0f6aa12c28433f66249e218479e5d6dc |
19-Jun-2014 |
Tim Murray <timmurray@google.com> |
Merge "Fix build break caused by missing ifdefs."
|
37dc23b9917dcb997ee144936b2b27d3881942eb |
19-Jun-2014 |
Tim Murray <timmurray@google.com> |
Fix build break caused by missing ifdefs. Change-Id: I29e8e1c58b9702873a2a4b932794720ee279492e
SInfoExtractor.cpp
SScript.cpp
|
fd3f8c64f5ff70660f9760dbc61064849905f1de |
18-Jun-2014 |
Tim Murray <timmurray@google.com> |
Merge "Don't require libclcore_neon.bc on AArch64."
|
bdbff6e600b0d834e4770f65c7d2df93d7ef305c |
13-Jun-2014 |
Chris Wailes <chriswailes@google.com> |
Simple cleanups in RSForEachExpand.cpp Re-named single character variable names. Re-named some variables for clarity. Factored out type construction code to only occur once every time the pass is run on a module. Removed unnecessary temporary vectors. Removed a check for an invariant guaranteed by another function. Added some assertions. Change-Id: I0debcc301ed28f4ecaf7dadcaada604e3eff9830
SForEachExpand.cpp
|
a5b1343e0db3eaf41ced3d9978cd72b8cf4cda1f |
14-Jun-2014 |
Tim Murray <timmurray@google.com> |
Don't require libclcore_neon.bc on AArch64. Change-Id: Ieb4eea41f74917c201a07aa8b246816430fcac5c
SInfo.cpp
|
4f7fdd47da5135a508bdfca445347fae5e8898ba |
28-May-2014 |
Tim Murray <timmurray@google.com> |
Update libbcc for ARM64. Properly sets NEON/VFP on ARM64. Begins to remove cache from libbcc. Change-Id: I66f50fa20d606c38d5e7af0a6fa8c6e73b2aff32
SInfoReader.cpp
|
373f5e7baf1567fa32f6a3033788641ab445a28c |
28-May-2014 |
Tim Murray <timmurray@google.com> |
Fix foreach func vector resize issue. Change-Id: Ie446319900558bbf5ecb30ee1b874c260197080b
SCompiler.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
SCompilerDriver.cpp
|
bde1a2599780d6eaebbc284976ceb690492f6abd |
16-May-2014 |
Stephen Hines <srhines@google.com> |
Remove unnecessary inheritance for CompilerConfig, as we switch to offline bcc. Change-Id: Id4a5be7b2b4627bfa7ef6279eb3b5b8e75915a7d
SCompilerDriver.cpp
|
1ae3fd6e2290fe1635bafe91a65e0e88e641b6fc |
15-May-2014 |
Stephen Hines <srhines@google.com> |
Fix some minor issues picked up by valgrind. Standalone bcc was leaking memory due to misuse of OwningPtr. RSInfo was not clearing a buffer before using only part of it. The whole buffer was being written out in the resulting file, however. Change-Id: Icd455748f81a06d022f1e5ed83a2ab1cae3fef09
SInfo.cpp
|
25eb586bb055ae07c7e82a2b1bdbd6936641580c |
09-May-2014 |
Stephen Hines <srhines@google.com> |
Switch RSForEachExpandPass to use MetadataExtractor. Change-Id: I442054e7aa2329b369f578052bd41c7a973cc822
SCompiler.cpp
SForEachExpand.cpp
|
1253c195dd7911ad91bd66790f03e4c2f8888ad2 |
09-May-2014 |
Stephen Hines <srhines@google.com> |
Switch to MetadataExtractor path. Change-Id: Iabef9abb1c770ffe1e753cfd2fac808f60c19d8a
SCompiler.cpp
SEmbedInfo.cpp
|
2d201e547f1d32140ff8ead1818c169f441cf5fb |
09-May-2014 |
Stephen Hines <srhines@google.com> |
Refactor RSEmbedInfo pass. This change separates out the creation of the InfoString from the actual embedding within the object file. This is important because we want to reuse the InfoString for caching metadata. Change-Id: I2524d39dc25c48fc968108e82c6aa01c1920ff1d
SEmbedInfo.cpp
|
1c4d30c707afbc2068b966d2ae6caefbb101f8ff |
10-May-2014 |
Stephen Hines <srhines@google.com> |
ARCH_ARM_HAVE_NEON should be consistent for aarch64 targets. Change-Id: I54979e9215f2a2cbc98641a841a24e32beb417b4
SInfo.cpp
|
ce73d6f365394883dd23b1da97135e4002e784e0 |
06-May-2014 |
Stephen Hines <srhines@google.com> |
Remove Makefile->Header code generation from libbcc. These variables/defines are not often used and they complicate the use of target information in other Android libraries. Change-Id: I93dc71e17ae8ece1be46a3a609639ec8380cdaf9
ndroid.mk
|
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.cpp
|
c2074caf075818abb6d3689ad924ca09f4a5ba1f |
09-Apr-2014 |
Tim Murray <timmurray@google.com> |
Update libbcc for 64-bit support. Change-Id: I369a82eb6730a33c46b6700408952fe34020ca51
ndroid.mk
SInfo.cpp
|
70a7671e4e107ad52aba0629f9b29ff01941c496 |
17-Apr-2014 |
Tim Murray <timmurray@google.com> |
Merge "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.cpp
SScript.cpp
|
c6e6ee4392390c0888f808220adf33334e1f64a4 |
07-Apr-2014 |
Tim Murray <timmurray@google.com> |
Add DISABLE_LLVM_DEVICE_BUILDS to libbcc. Change-Id: Iaad7b2ea8eea6c89c1c1a3d0e145bbb7bf60c6b9
ndroid.mk
|
8f7345d68d2595ddf3d7c2aae01a29d0530afb92 |
22-Mar-2014 |
Colin Cross <ccross@android.com> |
libbcc: disable more modules for arm64 Disable building libbccSupport and libbccRenderscript for 64-bit Change-Id: Ied29b4eb129f42b1d3ad0a6d71a683d28b3e14be
ndroid.mk
|
3cd3ec8f9d30d219cecd30ce8b221241a79a74d9 |
18-Mar-2014 |
Jean-Luc Brouillet <jeanluc@google.com> |
Fix incorrect memcmp in RSInfoReader. modified: RSInfoReader.cpp Change-Id: I669cfaeb0eb5354402410b3742f590cfc593d0ba
SInfoReader.cpp
|
14588cf0babf4596f1bcf4ea05ddd2ceb458a916 |
19-Feb-2014 |
Logan Chien <logan.chien@mediatek.com> |
Fix TBAA: Set path tag metadata to instruction. This commit replace the old createTBAANode() with the struct-path TBAA introduced after LLVM 3.3. This should fix the possible regression after merging LLVM 3.4. Change-Id: Ie21fe4616784bad467b0f20226fce48da3afb2bd
SForEachExpand.cpp
|
9c5263e00d89dfdd25d3a1706eb319e8529ec604 |
12-Feb-2014 |
Stephen Hines <srhines@google.com> |
Provide a flag to disable TBAA for RS (and disable TBAA temporarily). Bug: 12977065 This is currently blocking the LLVM 3.4 rebase, since our TBAA pass is causing NULL pointers to be dereferenced. Change-Id: I51cd9d0efc331150970c3054a9cd26f55aa2eb0d
SForEachExpand.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
SCompilerDriver.cpp
|
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
|
77e2f0f3756897029811726095c0be16e2a4f397 |
15-Aug-2013 |
Jun Tian <jun.j.tian@intel.com> |
DO NOT MERGE: Refactor the libbcc runtime for x86 platform This patch refactors the libbcc runtime code to support x86 platform. It removed the redundant x86 code and added the missing functions in libclcore_x86.bc. It resolved the RenderScript failures on the x86 platform. Bug: 9961583 Change-Id: Ieed97e90c7c7691185a88dc425a2dd8c68aeb806 Signed-off-by: Yong Chen <yong.a.chen@intel.com>
untime/Android.mk
untime/arch/dot_length.c
untime/arch/generic.c
untime/arch/sqrt.c
untime/arch/x86_clamp.ll
untime/arch/x86_dot_length.ll
untime/arch/x86_generic.c
untime/arch/x86_math.ll
untime/arch/x86_sse2.ll
untime/arch/x86_sse3.ll
untime/build_bc_lib.mk
untime/rs_cl.c
untime/rs_sample.c
|
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.cpp
SScript.cpp
untime/Android.mk
untime/arch/generic.c
untime/arch/x86_sse2.ll
untime/arch/x86_sse3.ll
untime/build_bc_lib.mk
untime/rs_cl.c
|
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
SCompilerDriver.cpp
|
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.cpp
|
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.cpp
|
b441caf2915b86a93a0e195290980416da9e8307 |
15-Aug-2013 |
Jun Tian <jun.j.tian@intel.com> |
DO NOT MERGE: Refactor the libbcc runtime for x86 platform This patch refactors the libbcc runtime code to support x86 platform. It removed the redundant x86 code and added the missing functions in libclcore_x86.bc. It resolved the RenderScript failures on the x86 platform. Bug: 9961583 Change-Id: Ieed97e90c7c7691185a88dc425a2dd8c68aeb806 Signed-off-by: Yong Chen <yong.a.chen@intel.com>
untime/Android.mk
untime/arch/dot_length.c
untime/arch/generic.c
untime/arch/sqrt.c
untime/arch/x86_clamp.ll
untime/arch/x86_dot_length.ll
untime/arch/x86_generic.c
untime/arch/x86_math.ll
untime/arch/x86_sse2.ll
untime/arch/x86_sse3.ll
untime/build_bc_lib.mk
untime/rs_cl.c
untime/rs_sample.c
|
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
SCompilerDriver.cpp
|
d7a95265621a788a6de8c0c3a27a588d7c466f79 |
09-Aug-2013 |
Stephen Hines <srhines@google.com> |
Remove locking code on Windows builds. Change-Id: Ia5656cf4feec3206e73ecc3e3b504146b0c66707
SCompilerDriver.cpp
|
c1567c07c7ffd7371b295964177743488bde008a |
07-Aug-2013 |
Stephen Hines <srhines@google.com> |
Merge "Decode RenderScript kernel signatures using bcinfo::MetadataExtractor."
|
1a36fcaac9255684fec371868c80ecab0b68c8c2 |
07-Aug-2013 |
Stephen Hines <srhines@google.com> |
am a08768d4: am 48cd7454: Fix Windows build issues for libbcc. * commit 'a08768d46fa5e3087d0fbd288366c53495ee2773': Fix Windows build issues for libbcc.
|
d88177580db4ddedf680854c51db333c97eabc59 |
03-Aug-2013 |
Stephen Hines <srhines@google.com> |
Decode RenderScript kernel signatures using bcinfo::MetadataExtractor. Change-Id: I9472d0c36e23a1e0d583fc823c986ee7a1bb05ed
SForEachExpand.cpp
|
18a38a3fc6fad8355891b771dd3c6537fa8699ec |
27-Jul-2013 |
Tobias Grosser <grosser@google.com> |
Annotate allocations with Renderscript TBAA metadata We extend the RSForEachExpand pass to emit Renderscript TBAA metadata. This allows us to prove the absence of aliasing between accesses to to allocations and other data accesses. This is especially useful as it enables the compiler often to hoist loop invariant globals out of the compute loop. Change-Id: Ic993c85b56ecf79b9cd5241fe3d961ace2b23935
SForEachExpand.cpp
|
d06574b6d2114b0c00fdf9e3fd292211031571b1 |
01-Aug-2013 |
Stephen Hines <srhines@google.com> |
Use BUILD instead of HOST for bcc_strip_attr. Change-Id: Ifeea47994e36d29f690bd77af812500f7e023db1
untime/build_bc_lib.mk
|
48cd745480738c026312931877ecb8ebecb1c64e |
31-Jul-2013 |
Stephen Hines <srhines@google.com> |
Fix Windows build issues for libbcc. Add unimplemented versions of dlfcn.h functions. Remove OutputFile::CreateTemporary(), since it is unused. Remove unnecessary includes to prevent issues with missing libraries. Change-Id: I74bea72c8f174843e61faa8cac8bd6ae429a1bc0
SInfo.cpp
|
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.cpp
|
c06cd06078a8c866d5cecbf897326092b55a8955 |
12-Jul-2013 |
Stephen Hines <srhines@google.com> |
Only support EnableGlobalMerge on ARM architectures. Change-Id: I5c4c236c306e120c5aa24fbc91815cc27d7aab0f
SCompilerDriver.cpp
|
ad69476ec040ba9ee07176ccb758aabb5ff6d51c |
30-Apr-2013 |
Stephen Hines <srhines@google.com> |
Provide a way to disable LLVM's global merge optimization. Change-Id: I92dff2a208c821722f057dd8c26bd12a1cb5a794
SCompilerDriver.cpp
|
acde6013e9c448547e59eed04afd2adbd9681a3a |
02-Jul-2013 |
Tobias Grosser <grosser@google.com> |
ForEach: Not all kernels are expanded Bug: 9674197 There may be some graphics root functions that are not expanded and can consequently not be marked as internal linkage. Change-Id: I643a2c82b91ba94fbd30598402698173ca2307ab
SForEachExpand.cpp
|
cd5b657c39a348bd7652a19c5be5035e9df44a42 |
02-Jul-2013 |
Tobias Grosser <grosser@google.com> |
ForEach: Set internal linkage for kernel functions The expanded function is the external visible interface. Setting internal linkage will influence the cost function of the inliner. Specifically, the inliner knowns that no external users will use the unexpanded kernel function, which means it will inline it and remove the original function. This gives a 22% speedup on the colorcube 3D, 19% on convolve3x3 as well as minor speedups on fisheye. Change-Id: I9770c92d24dfc7978145e694d1a35829c5432264
SForEachExpand.cpp
|
4102bec56151fb5d9c962fb298412f34a6eacaa8 |
27-Jun-2013 |
Tobias Grosser <grosser@google.com> |
ForEach: No IntToPtr casts for ptr kernel inputs Instead we replace the calculation of the pointer offsets with an explicit getElementPointer instruction. Change-Id: I95bedfa1b17b839a122548f4d855d6ec40c7467b
SForEachExpand.cpp
|
ae937ec9658c219a38d9d631d2569f19e21b50c0 |
27-Jun-2013 |
Tobias Grosser <grosser@google.com> |
ForEach: No IntToPtr casts for byvalue kernel inputs Instead we replace the calculation of the pointer offsets with an explicit getElementPointer instruction. Change-Id: I4e31fe42382cd0f37ed582d62795555482186d96
SForEachExpand.cpp
|
02f3cd69a4103f91a51a2f988f2179c885d734b5 |
27-Jun-2013 |
Tobias Grosser <grosser@google.com> |
ForEach: No IntToPtr casts for ptr outputs Instead we replace the calculation of the pointer offsets with an explicit getElementPointer instruction. Change-Id: I350cacd132d97dc620fe3c1c3ca89d1028677965
SForEachExpand.cpp
|
7b6629024395bf085ca64fcd5c69d2ded95e8d18 |
22-Jun-2013 |
Tobias Grosser <grosser@google.com> |
ForEach: No IntToPtr casts for byvalue outputs Instead we replace the calculation of the pointer offsets with an explicit getElementPointer instruction. Change-Id: I814a18d4d48e3e0bd13ca93697ad049fa0ed8c4c
SForEachExpand.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
SCompilerDriver.cpp
|
e87a0518647d1f9c5249d6990c67737e0fb579e9 |
26-Jun-2013 |
Tobias Grosser <grosser@google.com> |
ForEachExpand: Use consistently unsigned integers in loop Previously we used an signed compare in the loop exit condition, but claimed the absence of unsigned integer wrapping. We now use an unsigned comparison reflecting that our integers are interpreted as unsigned values. Change-Id: I3d77402e93dac625b3688078d5a1a826a32a9dac
SForEachExpand.cpp
|
e4a73f68e1b338881adf682c458e0b4b92ecd91e |
22-Jun-2013 |
Tobias Grosser <grosser@google.com> |
ForEachExpand: Construct loop in a separate function When expanding the loading/unloading of parameter values as well as the creation of the implicit loop where mangled together. We now separate them. This reduces code duplication and makes the difference between the two ways of expanding a kernel more clear. We also add some documentation and a FIXME that highlights the surprising use of NUW during code generation. The only functional change included here is that we switch to using PHI-nodes instead of loading/storing the loop iterator to memory. Change-Id: I8c28f3054eb00a73b8b754057625e52140c04405
SForEachExpand.cpp
|
806075b3a54af826fea78490fb213d8a0784138e |
21-Jun-2013 |
Tobias Grosser <grosser@google.com> |
ForEachExpand: Create a complete function In createEmptyExpandedFunction() we now create a complete function containing a single basic block that directly returns. The advantage of creating a complete function is that it allows us to maintain valid LLVM-IR throughout the whole expansion process. This makes testing easier as commenting out later code does not yield invalid LLVM-IR. No functional change intended. Change-Id: I0af12ec491f879be127461ff2a5a2c38543c8532
SForEachExpand.cpp
|
802f65931852d925bbe2e478bafe422b4002e7c4 |
20-Jun-2013 |
Tobias Grosser <grosser@google.com> |
ForEachExpand: Name arguments at the time the ForEachStub is created This also removes code duplication. No functional change intended. Change-Id: Ie01d0578a70219909cac3c77e3b184589c371845
SForEachExpand.cpp
|
357b58691936bef425bd315c13a2d8019d7e9c7e |
20-Jun-2013 |
Tobias Grosser <grosser@google.com> |
ForEachExpand: Factor out creation of ForEachStub function This also removes code duplication. No functional change intended. Change-Id: I60f2d1d7017db33303ae1bffaa54f578a2276585
SForEachExpand.cpp
|
8ae4607d2dc5bc655d0c9225565d36ce2ebfc798 |
20-Jun-2013 |
Tobias Grosser <grosser@google.com> |
ForEachExpand: Create ForEachStub type in separate function This also removes code duplication. No functional change intended. Change-Id: If00fced7db10c37306879fa633aa4453e84d98f0
SForEachExpand.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
SCompilerDriver.cpp
|
5eea973c91f1d202c6ecc4f753aa65893a5773a6 |
20-Jun-2013 |
Stephen Hines <srhines@google.com> |
Switch to using full pathnames for cached information. Bug: 7342767 Change-Id: I8997f4d2834fd607bcfc3bb7db81d8e90b4e4f37
SCompilerDriver.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
SCompilerDriver.cpp
|
47f0d5a8d9ed629a6d58d3e69891f2c7fdee44d9 |
05-Jun-2013 |
Stephen Hines <srhines@google.com> |
Further separate build (compile) and load in libbcc. Bug: 7342767 Change-Id: Ia6000d6c3557280126c6bb7f945c922528adeedc
SCompilerDriver.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
SCompilerDriver.cpp
SExecutable.cpp
SInfo.cpp
|
bc7576df5896d4c97034ca1427c240af19d12481 |
30-May-2013 |
Stephen Hines <srhines@google.com> |
Move RS runtime to frameworks/rs. Bug: 7342767 Change-Id: I2c5e75a7324d9b7c1a89c81f377bf0718e96b463
ndroid.mk
untime/Android.mk
untime/arch/clamp.c
untime/arch/dot_length.c
untime/arch/generic.c
untime/arch/neon.ll
untime/arch/sqrt.c
untime/arch/x86_clamp.ll
untime/arch/x86_dot_length.ll
untime/arch/x86_generic.c
untime/arch/x86_math.ll
untime/build_bc_lib.mk
untime/build_clcore.sh
untime/convert.ll
untime/math.ll
untime/matrix.ll
untime/rsClamp.ll
untime/rs_allocation.c
untime/rs_cl.c
untime/rs_core.c
untime/rs_element.c
untime/rs_matrix.c
untime/rs_mesh.c
untime/rs_program.c
untime/rs_sample.c
untime/rs_sampler.c
untime/rs_structs.h
|
1435ae32704fd7e9cfbabca07c274e636e872210 |
29-May-2013 |
Jason Sams <jsams@google.com> |
Implement vector clamp for all types. Change-Id: I4a1612d691a3f393a3d0e171aec9d8efb8c5ab8e
untime/Android.mk
untime/arch/clamp.c
untime/arch/generic.c
untime/arch/neon.ll
untime/build_bc_lib.mk
|
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
SCompilerDriver.cpp
SInfo.cpp
|
1d96bc8f1612656f1abe9a48feba4a9f819de419 |
17-May-2013 |
Stephen Hines <srhines@google.com> |
Take absolute value of value for fast_length(). Bug: 9018865 Change-Id: I46b23e0df4ae0b1e5c238f353d0b6de539887e9b
untime/rs_cl.c
|
fb6e5cb2606552ace0da9f0a47c8bfbf2707d53a |
11-May-2013 |
Tim Murray <timmurray@google.com> |
am 3128f6cd: am c89f78b4: Remove extraneous logging. * commit '3128f6cdffb4205de7897aa8fb8b6a768aaac376': Remove extraneous logging.
|
c89f78b40e7823eb2d08e7129794c9f6f1992c08 |
09-May-2013 |
Tim Murray <timmurray@google.com> |
Remove extraneous logging. bug 8888887 Change-Id: Ief798e6e139fd4971ce53f090004478f4e036a03
SCompilerDriver.cpp
SExecutable.cpp
|
cba9daefa053c8231971613d250832c298fbaaed |
02-May-2013 |
Stephen Hines <srhines@google.com> |
am cb64b9aa: am b837262a: Disable NEON on cortex-a15 temporarily. * commit 'cb64b9aa5a72fe1041ec0da6fff2a7a15ca67331': Disable NEON on cortex-a15 temporarily.
|
b837262a9648128ed708d50c27b0d501baf90cfd |
02-May-2013 |
Stephen Hines <srhines@google.com> |
Disable NEON on cortex-a15 temporarily. Bug: 8530053 Change-Id: I4a13638fbdbefe5bb8063981a7bc3b08c972edbc
untime/Android.mk
|
39cbda33297e33ae172b3cad28596c2ee497412a |
30-Apr-2013 |
Jason Sams <jsams@google.com> |
cleanup rsSample Change-Id: I8147696b993dd90b6ab07c6c12dd421870092c51
untime/rs_sample.c
|
2a8abe7dc51c247f8abda8bd818c14d4d570d1ac |
23-Apr-2013 |
Stephen Hines <srhines@google.com> |
Fix issues with 3D rs(Set|Get)ElementAt function. Bug: 8680826 Change-Id: Ica91b4c9727f2424a29ea5b1f91dbc08d25f4873
untime/rs_allocation.c
|
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.cpp
|
8ee82d4c1dded958f27f0dc51ddeceda0c895d99 |
17-Apr-2013 |
Stephen Hines <srhines@google.com> |
Build debug version version of runtime (libclcore_debug.bc). Bug: 7343201 Change-Id: I9ca9acd7b0e23762d28de3af0aa60d4a6d75e5dd
SInfo.cpp
SInfoExtractor.cpp
untime/Android.mk
untime/build_bc_lib.mk
untime/rs_allocation.c
|
8be0c88be431c96fca1fa8488067fd7c458b124e |
06-Apr-2013 |
Jason Sams <jsams@google.com> |
Implement YUV functions Provide special functions for retrieving U and V components Change-Id: Ifa891f598079071c223d6ef54885721d931c5f46
untime/rs_allocation.c
|
bd447fb85869020951ee5724898be5c6b1c8cf54 |
03-Apr-2013 |
Jason Sams <jsams@google.com> |
Merge "Add support for debug get/set element" into jb-mr2-dev
|
43a5b59bc8b5bf677c4f2cbc174e48b8a33dc9af |
03-Apr-2013 |
Jason Sams <jsams@google.com> |
Add support for debug get/set element This fixes the per ABI issues of the previous debug work. Fix debug for vector types. Change-Id: I884bff978a1000f2e93dbfa8bc7d3d99afd24df4
untime/rs_allocation.c
untime/rs_core.c
|
1d48ddc4f61fc80da96582c6a259a3ee024fecf4 |
03-Apr-2013 |
Stephen Hines <srhines@google.com> |
Update field offsets due to DebugHelper. Change-Id: I90d804cc59b64cbb630011e012f42aa49cc4a2cd
untime/rs_structs.h
|
4b88f340840ad4e10f78ef51bef8ef69408ac73d |
02-Apr-2013 |
Jason Sams <jsams@google.com> |
Merge "overhaul rs_sampler" into jb-mr2-dev
|
61c5f57b97d7306e36ec9f580f8d72562a791763 |
28-Mar-2013 |
Jason Sams <jsams@google.com> |
overhaul rs_sampler Change-Id: I8c446e8266fb4200d6afe3f9765d58496bfa2162
untime/rs_sample.c
|
1531487e04ef5f61949bea7a3e2977279b38b0c2 |
27-Mar-2013 |
Tim Murray <timmurray@google.com> |
Revert "rsSampler work" This reverts commit ee883164d3fec165134b17e52c75cc90f3980269.
untime/rs_sample.c
untime/rs_structs.h
|
ee883164d3fec165134b17e52c75cc90f3980269 |
22-Mar-2013 |
Jason Sams <jsams@google.com> |
rsSampler work Change-Id: Idc16805320ea5af631cb5fa60e7ad9f10ef05e1a
untime/rs_sample.c
untime/rs_structs.h
|
826be465ebb0c786d83c61ddeec012fca88a49a7 |
20-Mar-2013 |
Jason Sams <jsams@google.com> |
Merge "Fix copy and paste error in matrix function names." into jb-mr2-dev
|
e47a15d07705d60ee14eb2cf116945c9b78dca3e |
20-Mar-2013 |
Jason Sams <jsams@google.com> |
Fix copy and paste error in matrix function names. bug 8426471 Change-Id: I20062263ae999fb660fa6e742d47d05724afb996
untime/rs_matrix.c
|
f424bce72e64899fe74cf73f10f0f4e105547549 |
19-Mar-2013 |
Stephen Hines <srhines@google.com> |
Move abs/clz into proper shared code space. Previously these were only available to our generic implementation. Machine-specific implementations would be missing these functions (which can result in missing link-time dependencies). Change-Id: I606848427d55a50d0ec6022007fa4ce2c88adc31
untime/arch/generic.c
untime/rs_cl.c
|
6231e390c0e174f7797b6bf09159e1a8d3cd864d |
18-Mar-2013 |
Stephen Hines <srhines@google.com> |
Fix missing BCC_STRIP_ATTR dependency. Change-Id: I602c2eb2df3d0b1013ae31c427ef35d0c6c25c6b
untime/build_bc_lib.mk
|
2187acafbd83fbf29f5b1d436a5a633dd35a628f |
18-Mar-2013 |
Stephen Hines <srhines@google.com> |
Simpler build rules for running bcc_strip_attr. Bug: 8383531 Change-Id: I0ae6415e9a2ba16155916df95a2bb07bf4067081
untime/build_bc_lib.mk
|
5c3e8c021224e5000c20988f668059dcb7539e74 |
18-Mar-2013 |
Stephen Hines <srhines@google.com> |
Merge "Revert "Build rules for running bcc_strip_attr."" into jb-mr2-dev
|
1a361253d8f2fa4cd271d8ccd5dfe5a11c7edbbe |
18-Mar-2013 |
Stephen Hines <srhines@google.com> |
Revert "Build rules for running bcc_strip_attr." This reverts commit 2c2a59e44baf98ba15ff7f85a67ab1747ae957f7 Change-Id: I4f9f96a58327c46d38bf6a956560555e9a38a5ce
untime/build_bc_lib.mk
|
2cb9d2c8f43c61ecfacc3f85a56cd558dde7514c |
18-Mar-2013 |
Stephen Hines <srhines@google.com> |
Merge "Build rules for running bcc_strip_attr." into jb-mr2-dev
|
6ac532e01b532653ee2c89142109406b08ca2b39 |
18-Mar-2013 |
Tim Murray <timmurray@google.com> |
Remove __attribute((overloadable)) from rsUnpackColor8888. Change-Id: I12e8af774a0a61bd8571c31406894779a443c300
untime/rs_core.c
|
2c2a59e44baf98ba15ff7f85a67ab1747ae957f7 |
15-Mar-2013 |
Stephen Hines <srhines@google.com> |
Build rules for running bcc_strip_attr. Bug: 8383531 Change-Id: I15ffbb17e800efeadaac2047c182632c48ca194a
untime/build_bc_lib.mk
|
4d93e8dec63500a62ea72ea1d1c47a7c7ea5f358 |
15-Mar-2013 |
Jason Sams <jsams@google.com> |
Migrate atomics to .bc Change-Id: I7792c2dad9d308b8fc5333d272a784277db8cb09
untime/rs_core.c
|
21f837b6d745abb375909b26020719bafd522c8c |
12-Mar-2013 |
Jason Sams <jsams@google.com> |
Math lib opts Change-Id: I77cfc17633a2a69a4445aa073d16dfd3b7c38876
untime/rs_cl.c
untime/rs_matrix.c
|
d9bf9445c59d57d6da66ef6f50bce667c10522d8 |
12-Mar-2013 |
Stephen Hines <srhines@google.com> |
Merge "Move generic function calls to rs_matrix.c." into jb-mr2-dev
|
450a8849b5675194b79719ef05cab92fb6ae38d2 |
12-Mar-2013 |
Stephen Hines <srhines@google.com> |
Move generic function calls to rs_matrix.c. Change-Id: I9aa7c347f9d2c59a22e575ce04e1ea9e59067f2b
untime/arch/generic.c
untime/arch/neon.ll
untime/rs_matrix.c
|
3469783d5fc3a5594da8d10c42540dd5f4455143 |
12-Mar-2013 |
Jason Sams <jsams@google.com> |
Clamp rsPackPixel Change-Id: Ideaf339c51677780e6267e4ac1b8de902fc1d353 Conflicts: lib/Renderscript/runtime/arch/neon.ll
untime/Android.mk
untime/arch/generic.c
untime/arch/neon.ll
untime/pixel_packing.ll
|
9112850375c24d3ffb8ced3835f878b08c1297ab |
12-Mar-2013 |
Jason Sams <jsams@google.com> |
Move simple matrix ops to the on device lib. Change-Id: I2cd23cc2dab32c54f341e8e0cfbfbcaf1585c401
untime/Android.mk
untime/arch/generic.c
untime/arch/neon.ll
untime/rs_core.c
untime/rs_matrix.c
|
56cfa8160b5c855bf908ecb92491f953c9816963 |
05-Mar-2013 |
Jason Sams <jsams@google.com> |
am 25b7205e: Merge "Add more X86/SSE2+ optimized functions" * commit '25b7205e16e422469da74f88e74ad79e7c284ac7': Add more X86/SSE2+ optimized functions
|
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
|
d805eacc8086e387ab25d3d502db8113281b3d9d |
26-Feb-2013 |
Jason Sams <jsams@google.com> |
Apply eSize optimization to getElementAt Implement 3D versions of the typed get/set functions Performance improves 2-4% in most benchmarks that use these. Change-Id: I6c752b3381d9b3c866b50039c33767fef46b2d20
untime/rs_allocation.c
|
bb05edd21dc3d886c154b0677b6bc87ae75019ee |
19-Feb-2013 |
Stephen Hines <srhines@google.com> |
Merge "Add LinkRuntimeCallback() and supporting functions to RS compiler."
|
fac184e6598ec9eca40c13aa546498db7137c857 |
15-Feb-2013 |
Tim Murray <timmurray@google.com> |
Add MIRRORED_REPEAT. Change-Id: I31c3f24728cf55b983377e20edc7022d104b6ddc
untime/rs_sample.c
|
06731a6150ae8014d37258d5f32ef8bc14a3db63 |
13-Feb-2013 |
Stephen Hines <srhines@google.com> |
Add LinkRuntimeCallback() and supporting functions to RS compiler. Change-Id: I7745406a94ba74896ee98752a3de106d2672159d
SCompilerDriver.cpp
SScript.cpp
untime/rs_structs.h
|
3ab9da1e1b3d7794994393af086d096397fb84db |
02-Feb-2013 |
Stephen Hines <srhines@google.com> |
Fix bcc_compat symbol resolution with libcompiler_rt.so. Change-Id: Id6177e53ec9647b560a73de566d2d8a95d860200
SCompilerDriver.cpp
|
09ca95426a7ec66def02e47048bb25289759c6fb |
26-Jan-2013 |
Shih-wei Liao <sliao@google.com> |
Switch to use libcompiler_rt for compiler runtimes. Change-Id: I64b3d4ba80343bc592fa0df72242b33b2d2ae0ed
SCompilerDriver.cpp
|
f7401ab4b42dcbd782f20ba5c279694edbd28516 |
26-Jan-2013 |
Shih-wei Liao <sliao@google.com> |
Add libcompiler_rt.so as built-in dependencies for RS. Change-Id: I376616ffbe26813a8341e87c965a27666d35b9a6
SInfo.cpp
SInfoExtractor.cpp
|
f0e8fdad566043d8ead4d2211c1060d2d5b4c355 |
25-Jan-2013 |
Jason Sams <jsams@google.com> |
Implement fast log and pow Change-Id: I5f8f697378c6b72d67eeabe0ebd098a2daf3771f
untime/rs_cl.c
|
b730e239619a546d93e5926ea92d698ab77ec7f6 |
10-Jan-2013 |
Stephen Hines <srhines@google.com> |
Updates for LLVM merge to r171906 on 20130108. Change-Id: I096cb90103b19e3110ea562d60e5eb8ad48d9b67
SCompiler.cpp
SEmbedInfo.cpp
SForEachExpand.cpp
SInfoExtractor.cpp
untime/build_bc_lib.mk
untime/build_clcore.sh
|
8c03b80ea520d971321100d4a5f7f301a7510fc9 |
19-Jan-2013 |
Tim Murray <timmurray@google.com> |
Merge "remove fabs LLVM intrinsic"
|
38fce22487e1a816a1e703f20e5400c634060f56 |
19-Jan-2013 |
Stephen Hines <srhines@google.com> |
Merge "Remove the fract(float) implementation."
|
54f9bf50c643a163d5dc48959e3cd64fe3532d21 |
18-Jan-2013 |
Jason Sams <jsams@google.com> |
Merge "Implement fast native_exp*"
|
28e2dd65d5781d5bbb98bde8a3dd54f85969158f |
18-Jan-2013 |
Jason Sams <jsams@google.com> |
Implement fast native_exp* Change-Id: I0989527a7993023131f991ba260c7bf9d9eae51c
untime/rs_cl.c
|
db64973c80058c0a6e685d1ca8e7a96cc48a405c |
17-Jan-2013 |
Stephen Hines <srhines@google.com> |
Remove the fract(float) implementation. Change-Id: I09df57618748eb33c7a233f6f6c59e21d0072107
untime/rs_cl.c
|
385a61565c8b30fea0bc0f8bccff1848aa94936e |
16-Jan-2013 |
Stephen Hines <srhines@google.com> |
Merge "rs_matrix types are not 16-byte aligned, so we have to load them as align 4."
|
65cd36f9052a317bab961fd86415e4faa55d00d0 |
16-Jan-2013 |
Stephen Hines <srhines@google.com> |
rs_matrix types are not 16-byte aligned, so we have to load them as align 4. Change-Id: I30742a23fe87db7cb68d2c97bc022f7ee418ef82
untime/matrix.ll
|
ee1571e8ad198c01af7817dd068f552ccf822093 |
15-Jan-2013 |
Tim Murray <timmurray@google.com> |
remove fabs LLVM intrinsic Change-Id: Ifc1dd2ac25ad0682cc5b1f682b0f524f74ebb26a
untime/math.ll
untime/rs_cl.c
|
fb32f0d150ae43e6c6c4c92fe13a92ead3f5e065 |
09-Jan-2013 |
Jason Sams <jsams@google.com> |
Update allocation headers for yuv. Change-Id: I341ce90c06cbd358d8da4b62d5947b07b3f7c6c2
untime/rs_allocation.c
untime/rs_structs.h
|
f887657c2f07b86fab4b190e599e7d004e204d13 |
20-Oct-2012 |
Michael Liao <michael.liao@intel.com> |
Add more X86/SSE2+ optimized functions - SSSE3 optimized length() is added by using HADDPS - SSSE3 optimized dot() is added by using HADDPS - scalar exp() and pow() is translated into LLVM intrinsics to allow backend to schedule insn around them to reduce register pressure or improve code scheduling. They eventually will be lowered into standard C math library call. Change-Id: Ife462352e15d1762ba46829165a3d02b3b1be858 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: 66242
untime/Android.mk
untime/arch/dot_length.c
untime/arch/x86_dot_length.ll
untime/arch/x86_math.ll
untime/rs_cl.c
|
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.cpp
SScript.cpp
untime/Android.mk
untime/arch/sqrt.c
untime/arch/x86_clamp.ll
untime/arch/x86_generic.c
untime/arch/x86_math.ll
untime/rs_cl.c
|
426db95e17cdbaa9b1ff26eb32d20374681a96c2 |
03-Jan-2013 |
Tim Murray <timmurray@google.com> |
Fix potential bad pointer dereference with fract(). Bug: 7938590 Change-Id: I11c5abc589fa188c0e6790b08c3a6629c4243199
untime/rs_cl.c
|
56c9751e346dbdf98be57f789e6d70203a465cbe |
17-Dec-2012 |
Tim Murray <timmurray@google.com> |
Merge "add rsSetElementAt_<type>."
|
0116d8b4247829adfb64b9cb7992eb783a54abd5 |
13-Dec-2012 |
Stephen Hines <srhines@google.com> |
Fix bug in object slot implementation. The implementation of object slots in RSInfo is different from that in bcinfo. In particular, this variant uses a bitmask where order does matter, rather than a list of slot id numbers that are actually objects. I have adjusted the walk pattern for RSEmbedInfo to take this into account. Change-Id: I0d587546452411a79e0f20f908b53aeca731ea7c
SEmbedInfo.cpp
|
688e4c0dd73c273551f517fa85a08b40dd63eacc |
13-Dec-2012 |
Stephen Hines <srhines@google.com> |
Fix long-standing bug with multiple pragmas. There is a subtle bug here in that the rs_fp_imprecise setting will always be clobbered with rs_fp_full due to the "fast return" path. This change also replaces ::strcmp() with the original implementation's std::string::compare(). Change-Id: I5b309583fed84d09ded091e25f1971fa9e1ec430
SInfo.cpp
|
d4d0bf5a4ae2aafd1646035fed8b57cdfb617817 |
12-Dec-2012 |
Tim Murray <timmurray@google.com> |
add rsSetElementAt_<type>. Change-Id: I14390d8186f4fe0d31bdbd9f653671f9eb2fc4f6
untime/rs_allocation.c
|
5543d490870e2b74c4d674d212ed974abe31d533 |
12-Dec-2012 |
Jason Sams <jsams@google.com> |
Use llvm fabs intrinsic. Change-Id: I7e593ec2306305bc510c0a18ebc697b18c5992dc
untime/math.ll
untime/rs_cl.c
|
2965f541bc4fe593b832b8949ccec7ab0d026de0 |
27-Nov-2012 |
Jason Sams <jsams@google.com> |
Merge "Update libbcc for cpu separation."
|
8b1532ef9c3b60565cadcf3a5fb3816d889bf616 |
17-Nov-2012 |
Jason Sams <jsams@google.com> |
Update libbcc for cpu separation. Change-Id: I14cdf14cc8a8df42efe960a4aafd9e2b282f509d
untime/rs_allocation.c
untime/rs_sample.c
untime/rs_structs.h
|
86a0b797c221d4c3373dc10c8229b75b6747f6e7 |
07-Nov-2012 |
Stephen Hines <srhines@google.com> |
Embed RS metadata info directly in emitted object code. Bug: 7419958 Change-Id: Ibd82e503c006532aa74013a46dd13ec3e9473daa
ndroid.mk
SCompiler.cpp
SCompilerDriver.cpp
SEmbedInfo.cpp
SExecutable.cpp
|
331310e1f3f86a795f78e42b3f03558a43829f09 |
27-Oct-2012 |
Stephen Hines <srhines@google.com> |
bcc_compat - convert bitcode to shared object files. BUG: 7419958 Change-Id: Ie81203b460d60425780657b51ba3aba2b2b77e05
SCompilerDriver.cpp
SInfo.cpp
SInfoExtractor.cpp
SScript.cpp
|
d82c527a2a3b8d5ee165dea3ffeaf643ef6c606e |
19-Oct-2012 |
Stephen Hines <srhines@google.com> |
am 6f3138bb: Fix missing data for mObjectSlots. * commit '6f3138bbc93b7105ddb49a803c15c3f98077f533': Fix missing data for mObjectSlots.
|
6f3138bbc93b7105ddb49a803c15c3f98077f533 |
19-Oct-2012 |
Stephen Hines <srhines@google.com> |
Fix missing data for mObjectSlots. The refactored version for metadata extraction skipped actually populating the mObjectSlots list. This can result in memory leaks in libRS, as well as having the potential for corruption (since we are now returning an empty list to a driver that expects legitimate boolean values). Bug: 7377851 Change-Id: Id67d46232eeb6b1f59904037b0504a5c590874ee
SInfoExtractor.cpp
|
af0d05f17010986121d6199f247b772a97250227 |
17-Oct-2012 |
Tim Murray <timmurray@google.com> |
Add 1D and 2D rsSetElementAt. Change-Id: Ied1ffbeaf311541990ecc935915c5c52a1a8b0e6
untime/rs_allocation.c
|
0d6d592c5c0d28331151e6c4b7fb7d0789b99974 |
01-Oct-2012 |
Stephen Hines <srhines@google.com> |
Fix improper cast for pown on CPU/GPU. Bug: 7256001 Change-Id: I5231c418e19dab6682a2afd806f5068a3eceb3f7
untime/rs_cl.c
|
ceb4c0f5fc5f63c6e494fc2fda25e4461d27abb5 |
25-Sep-2012 |
Stephen Hines <srhines@google.com> |
Switch to TargetData::getTypeAllocSize(). We were accidentally using 12 for float3 instead of 16, so our pointer updates would get out of sync. Bug: 7224526 Change-Id: I0e3f7f52ef3a862d7f60a46755bb22e533ff289d
SForEachExpand.cpp
|
74a4b08235990916911b8fe758d656c1171faf26 |
22-Sep-2012 |
Stephen Hines <srhines@google.com> |
Fix pass-by-value when the return type uses pass-by-reference. Since we are using a baseline ARM ABI for Renderscript's portable bitcode, we need to handle the case where a large return value gets passed as a pointer (it becomes the first argument). This also fixes a small issue where the first argument could be the return value (i.e. passed by reference). I also have verified that coerced struct pass-by-value is now working with this change. Bug: 7166741 Change-Id: I7c00ff437ad862f9b8b244d87ccbca19e46c5775
SForEachExpand.cpp
|
4fdec9b00e2643b764c4f9786def10d643818aba |
21-Sep-2012 |
Jason Sams <jsams@google.com> |
Cleanup naming of aprox & half functions. bug 7205089 Change-Id: I73261ae024507b21cfe85dcf2a7ba68de76f0bcf
untime/arch/generic.c
untime/arch/neon.ll
untime/rs_cl.c
|
7ae3a828fade4e30f7940415949f33ac1f15dc77 |
15-Sep-2012 |
Stephen Hines <srhines@google.com> |
Implement expandKernel() for pass-by-value. This change implements the libbcc portion of pass-by-value in RS kernels. The expandKernel() function creates the appropriate loop construct around the kernel call (thus foo() -> foo.expand()). Bug: 7166741 Change-Id: I2e4c85b8ac70372dc6d02671e8768381070e9721
SForEachExpand.cpp
|
1b84ea3be223d95e55965c0d5721d7c91a5a66b9 |
11-Sep-2012 |
Stephen Hines <srhines@google.com> |
am 2e00e3b8: am 89fb60df: Merge "Fix length(float v) issue" * commit '2e00e3b8648dbc2fc865f14545bff532b75250ee': Fix length(float v) issue
|
2ac4cb14fd34fff9ed1fede229aea9c84edb6556 |
29-Aug-2012 |
Jason Sams <jsams@google.com> |
Merge "Cache element type in allocation." into jb-mr1-dev
|
561df916775aa38f9b915889ded8824da02bc03f |
29-Aug-2012 |
Jason Sams <jsams@google.com> |
Cache element type in allocation. Change-Id: Ia99e56106fc9bd58282248e803cbf6610eb2cf0c
untime/rs_structs.h
|
de0d6bf95e1cd4c87bfbcaa122a99e038b773b8b |
16-Aug-2012 |
Rajeev Sharma <rdsharma@google.com> |
Add approx_atan function Change-Id: I3a4770ed1634dc5ec541d21acdd181be4d513deb
untime/rs_cl.c
|
f3a719289eba0d2b47830b9e40858ed4a413d25b |
03-Jul-2012 |
Rajeev Sharma <rdsharma@google.com> |
LL version of rsClamp. Fix non-vector clamp. Change-Id: I7107425fa0c535b47ca4233ced05845b872b199f
untime/Android.mk
untime/arch/neon.ll
untime/rsClamp.ll
untime/rs_core.c
|
539ea206fe36a54de0cb2763244d61c1a8e1ff84 |
04-Aug-2012 |
Rajeev Sharma <rdsharma@google.com> |
Initial version of approx recip, sqrt, and rsqrt Contains NEON implementations of approximate reciprocal, sqrt, and rsqrt, as well as generic C implementations of generic sqrt and rsqrt. Change-Id: I5a0a847c9b80e9aebee7f402ba1cb79b6663ad65
untime/arch/generic.c
untime/arch/neon.ll
untime/rs_cl.c
|
8b5be8604307d0dd342235803dd45775830b84c6 |
03-Aug-2012 |
Shih-wei Liao <sliao@google.com> |
Apply changes to migrate to LLVM-160668-20120724. Change-Id: I515f90ff6b7222f9e69481c21a10173e1b0b40d2
SForEachExpand.cpp
|
2b04086acbef6520ae2c54a868b1271abf053122 |
28-Jul-2012 |
Stephen Hines <srhines@google.com> |
Use known strides instead of input args when possible. BUG=6892059 Change-Id: I15b3726624ff0eeca5e30aaa6de928f1c9912471
SCompiler.cpp
SForEachExpand.cpp
|
6e9e89d1ed049ec931bb1000948c12698e6c5484 |
28-Jul-2012 |
Stephen Hines <srhines@google.com> |
Add back support for bccAssert. Change-Id: Ib8abe1c5c1bd8390fd3b9268f43f6de3c8803560
SForEachExpand.cpp
|
e198abec6c5e3eab380ccf6897b0a0b9c2dd92dd |
28-Jul-2012 |
Stephen Hines <srhines@google.com> |
Rename RenderScript -> Renderscript. Change-Id: I187928033b47f3e3f4cb811a0b3562f479cfe417
ndroid.mk
SCompiler.cpp
SCompilerDriver.cpp
SExecutable.cpp
SForEachExpand.cpp
SInfo.cpp
SInfoExtractor.cpp
SInfoReader.cpp
SInfoWriter.cpp
SScript.cpp
untime/Android.mk
untime/arch/generic.c
untime/arch/neon.ll
untime/build_bc_lib.mk
untime/build_clcore.sh
untime/convert.ll
untime/math.ll
untime/matrix.ll
untime/pixel_packing.ll
untime/rs_allocation.c
untime/rs_cl.c
untime/rs_core.c
untime/rs_element.c
untime/rs_mesh.c
untime/rs_program.c
untime/rs_sample.c
untime/rs_sampler.c
untime/rs_structs.h
|