• Home
  • History
  • Annotate
  • only in /frameworks/compile/libbcc/include/bcc/Renderscript/
History log of /frameworks/compile/libbcc/include/bcc/Renderscript/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a48ea364652efcf947dd33c8a6ba893e9c00dd6a 02-Jun-2016 David Gross <dgross@google.com> Delete simple reduction implementation.

Bug: 27298560
Change-Id: Id826426fc81458ad66118bf7b2059a7a6f02a047
SUtils.h
c6c9c1f04b480a395daa1bdd5d634060e505bd80 15-Apr-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge changes from topic 'struct-fix' into nyc-dev

* changes:
Translate GEP instructions on structs to GEP on int8*
X86: Fix kernel Input/Output GetElementPtr offset issue
9e0f8f0c8965834de02d007bb30e1dc950cf9762 12-Apr-2016 Pirama Arumuga Nainar <pirama@google.com> Translate GEP instructions on structs to GEP on int8*

http://b/24142721

X86 data layout has 64-bit scalars aligned at 4-byte boundaries, while
ARM aligns these data at 8-byte boundaries. To bring frontend- and
backend-generated code into agreement, this patch adds a pass to
translate GEPs on structs to GEPs with int8* operands and byte offsets.
This pass runs only on X86 targets.

Change-Id: I961b2bc7db9f57f15126f27396db42c9deedfd43
(cherry picked from commit d2d5ee3893220cec256c829a4740a718232f84ac)
STransforms.h
57fd9f882f3359be4201c42b02aebf785d311df2 08-Apr-2016 David Gross <dgross@google.com> If a general reduction kernel lacks a combiner function, synthesize one.

The CPU reference driver can only go multithreaded for a reduction kernel
if that kernel has a combiner function.

Bug: 27299475

Change-Id: If7f3a9ba8ec5e15ed5f3ef96968d28d650b01c20
SUtils.h
ba1a8f1e6f3eb5b7069e9ba1575f16e393c84c23 25-Nov-2015 Dean De Leo <dean@codeplay.com> Make RSKernelExpand use memory rather than registers.

The RSKernelExpand pass generates a loop around the main kernel body.
This patch changes it to use LLVM memory with loads and stores rather
than generating the SSA directly. This is required in order to be able
to attach debugging information to the memory location associated with
the loop iteration index variable, enabling the debugger to inspect
current thread coordinate. The regular SSA form of LLVM IR doesn't allow
this to be done efficiently.

If optimizations are enabled, the subsequent passes promote memory back
to registers, avoiding potential performance regressions.

(cherry picked from commit 4165d29822fc7caf81e435995ff6189608fc0323)

Change-Id: Ic394c2876e72a4b3c7e1fe888f2369510fdd3d33
STransforms.h
09c7a41f73602bec33e9d392cc959d78931f73c4 25-Nov-2015 Dean De Leo <dean@codeplay.com> Initial version of debug info pass for RS.

This introduces a new LLVM pass into libbcc called
RSAddDebugInfoPass. Its purpose is to add debug information metadata
to LLVM constructs generated by the other parts of libbcc. The
generated code generally lacks sufficient debugging information as it
has not been processed by the clang-based front-end.

The initial version of RSAddDebugInfoPass provides the following:
1. It annotates the expanded function generated by RSExpandKernel pass
with debug information, stating the name of the function and
source file indicating that the function has been generated.
2. It annotates the instructions of the *.expand function with
filename/line indicating that the function code has been generated.

The source file of both the generated function definition and
the instructions that make up the function is mapped to the source
location of /opt/renderscriptdebugger/1/generated.rs:1. That might be
source-mapped by the debugger to an appropriate file in the SDK, the
contents of which clearly indicate that the user is dealing with
generated code (i.e. one without a "physical" source file).

Change-Id: I2e566160a448d7bfbb3f8d16680e09e43c845693
STransforms.h
c31e101bed9d58be0388fead9c7344624978f580 26-Aug-2015 Stephen Hines <srhines@google.com> Fix invalid read of literal (anonymous) structure names on assertion builds.

Bug: 22926131

This change adds support for using libbcc with an assertion-enabled
build of LLVM via the FORCE_BUILD_LLVM_DISABLE_NDEBUG define. It also
restricts the use of getName() on literal structures. Although a
separate patch to frameworks/rs that makes our RS object types not just
typedefs of anonymous structs can fix this safely going forward, our
release builds will need to be able to read legacy bitcode that uses
anonymous literal structure types. Thus, we need the ability to call
getName() on all structures for release builds. In the case of assertion
builds, we will enforce that we are using the updated compiler + headers
so that the structures are not anonymous. If an older compiler + headers
are used in the host compile, the bcc compilation will fail with an
appropriate error message.

Change-Id: Ic2910aed069235b40a31c22b006a4db5c1b9e06c
SUtils.h
4e7a50685ae18a24087f6f2a51c604e71fab69e2 31-Jul-2015 Matt Wala <wala@google.com> Expand reduce-style kernels.

Bug: 22631253

Rename the RSForEachExpand pass / source file to RSKernelExpand. In
addition to already being responsible for expanding foreach-style
kernels, RSKernelExpand now expands reduce-style kernels from

define foo @func(foo %a, foo %b)

into

define void @func.expand(i8* %inBuf, i8* %outBuf, i32 len)

The expanded function reduces a sub-range of its input.

Change-Id: I518fa9367b57111a2f2a1b23903ff870c421beeb
STransforms.h
656325bdb4751d5606f9e53d8f417bd727032c31 17-Jul-2015 Stephen McGroarty <stephen@codeplay.com> Stopped bcc from ignoring optimization level

Added in a constructor for RSScript which takes in the compiler
config and derives the optimization level from that rather than
defaulting it to opt level 3. Also added in a statement to catch
a null pointer for the case where the llvm-rs-cc produced bitcode
fails verification.

Change-Id: I6efdab6280a9c389268b5a40dc4a50eb9bc24370
Signed-off-by: Stephen McGroarty <stephen@codeplay.com>
SCompilerDriver.h
SScript.h
0768d387bf665e6430d0ffa05f7f1228050047ad 20-Jun-2015 Yang Ni <yangni@google.com> Check kernels before fusing

b/21958851

Kernel fusion for a Script Group expects kernels to be chained up
via outputs (return values) and first arguments.
Check this condition during fusion. Otherwise, BCC may crash on
broken invariants.

Change-Id: I013558c77dc3f79d6e42986121927dd6c695f27e
(cherry picked from commit 8c12d615b4ed4b1d782722a125dd1d43bc44a71b)
SScriptGroupFusion.h
23c2bfe96698091f2886d1959435d8949f76c46b 22-Jun-2015 David Gross <dgross@google.com> Fix cases where RSInvariant pass might miss marking some loads as invariant.

llvm-rs-cc and bcc can add numeric suffixes to structure type names; we need
to tolerate this when looking for the context structure by name.

Bug: 21815112
Change-Id: If5ef169245f8d43affdc43abb2298c7015568dd0
SUtils.h
abfa7852d33391671d972614bb21990c5f32ee2b 23-May-2015 Stephen Hines <srhines@google.com> Fix x86_64 issue with a missing "." in structure names.

Bug: 21375248

This patch refactors RSX86CallConvPass.cpp a little bit so that it uses
our latest utility functions for determining the Type of a given Value.
The prior implementation could miss structures that didn't have a
suffixed dot + number appended to them (i.e. struct.rs_allocation.17
worked fine, but struct.rs_allocation would go undetected). This
resulted in missing conversions for the parameter types on x86_64
compiles (and thus crashes in CTS for reference counting, etc.).

Change-Id: Ic437754399514d201d2fb69f6efb03badc5f535d
SUtils.h
fb81ec1a875d13d9750006313b9123903336101d 19-May-2015 Stephen Hines <srhines@google.com> Provide additional information about global variables.

Bug: 20306487

This patch extends our global information pass to include details about the
type of a global variable, whether or not it is static, constant, or a
pointer. It also refactors code that deals with conversion between
RenderScript's internal data types and LLVM's type system. A subtle bug
has also been fixed with respect to the RSInvokeHelperPass. The previous
version could ignore an rs_* object that did not have a numeric suffix.
The new helper function properly addresses cases like this.

Change-Id: If9c933a885bf6a9063b7edec3f0873e1b144188d
SUtils.h
750ee65e129a2baef2dc5bb9ad210b45c9184926 17-Apr-2015 Stephen Hines <srhines@google.com> Provide a pass that creates information about global variables in RS.

Bug: 20306487

This change implements RSGlobalInfoPass, which is an optional LLVM pass that
adds several new global variables to a given Module. These variables contain
information about the other RenderScript global variables that are present.

Change-Id: I671013c11c7a528254edad5c66f2858953c0f5c4
SCompilerDriver.h
SScript.h
STransforms.h
65fb05fec8ddb25b4e32dbb2e1fabda771749fb7 15-Apr-2015 Yang Ni <yangni@google.com> Merge "Embed a real chesksum in script group .so"
8c24f8d1d75b619130e8bfce204ed9695362d4a1 17-Mar-2015 Pirama Arumuga Nainar <pirama@google.com> Undo AArch64 pass-by-pointer for X86-64

bug 19779488

AArch64's calling convention passes large objects by pointer/reference.
Consequently, RS functions exported in the driver need special handling
for x86-64. This patch creates a new pass to libbcc that identifies
pointer arguments created due to the AArch64 convention and marks them
as pass-by-value.

Change-Id: I2e24edd9704e843b118f4c445cfd92f61f9de909
STransforms.h
186d2f34573eb20de197d8eb8e08bcadd031a9bd 07-Apr-2015 Yang Ni <yangni@google.com> Embed a real chesksum in script group .so

Change-Id: Icf2f37867692f94e344a292fa15f8b85e0fc30a5
SCompilerDriver.h
1d93a190e62ec1588b4724ca8759216b2d0b76d7 25-Mar-2015 David Gross <dgross@google.com> Add RSInvariant pass to recognize Load from RsExpandKernelDriverInfo as invariant.

This allows more-aggressive optimization of foreachexp-generated code and of the
rsGet*(rs_kernel_context) API functions. In particular, it facilitates LICM of
Loads out of the wrapper loop in a .expand function.

Bug: 18964628
Change-Id: I77a87b325724ca08c4a04f5a46f316be78a5e0fd
STransforms.h
552537979f312f62488eee9e45b2f78678eafbea 25-Mar-2015 Pirama Arumuga Nainar <pirama@google.com> Include missing header

Fix build breakage in win_sdk.

Change-Id: I21b80b6354e337ba933ef76e8a238c4edeae2123
SCompilerDriver.h
a65fba6fd15b14d930809e64c84fb976a893d038 19-Feb-2015 Pirama Arumuga Nainar <pirama@google.com> Remove RSInfo

bug 19602994

RSInfo is no longer used. Script-specific information is now passed via
.rs.info variable in the object file. This patch removes RSInfo and the
old caching path which was closely tied to RSInfo.

Change-Id: Icb62ed848d1a262dd13d5c49652d034fcd0bb943
SCompilerDriver.h
SInfo.h
SScript.h
6da4e253a513feef3405759fef6d0760828808ca 11-Mar-2015 Yang Ni <yangni@google.com> Handle FP precision in kernel fusion

b/19098612

Added a bcc command-line option for the relaxed core lib path.
If the relaxed lib path is provided, it will be used if the merged
module has relaxed FP precision.

Change-Id: I2a641387f0990463887594729a935a5c3f0f856f
SCompilerDriver.h
0ab50b835805c75ad164466767c2c212f48954cc 16-Feb-2015 Yang Ni <yangni@google.com> Create one single module for a script group

This changed the way we compile a script group. Instead of compiling
each batch into a seperate module, we now compile the whole script
group into one single module, with each batch as a function (of fused
kernels) in that module. This allows invoke to (fused) kernel
communication via globals variables.

Added commoand line options "-merge" and "-invoke". The former
accepts fused kernel names, input kernels, while the latter accepts
new invoke name, and the original invoke function.

Additional changes:

- Bail out on encountering any unexpected bits in the foreach
signature of any kernel to fuse
- Made kernel fusion handle kernels without inputs.
If a kernel only takes global allocations but no inputs, bcc
needs to use a different signature for the fused kernel.
- Included in rs info the exported variables for the fused kernel.
- Keep all metadata in merged module from the input modules. This
would help correctly handling FP precision. (b/19098612)
- Handles Z (b/19610223)

Change-Id: I5553f86b2e58325f85649078d48685a38f12d62f
SCompilerDriver.h
SMetadata.h
SScriptGroupFusion.h
3b43c366c17620e35c6a4395a13b41ca3e977596 10-Mar-2015 David Gross <dgross@google.com> Merge "Backend support for new special kernel params ctxt and z."
33cda5cf335afc6aa2dbe02062bc9e6649e1f87c 30-Jan-2015 David Gross <dgross@google.com> Backend support for new special kernel params ctxt and z.

Also:
- Modify bcinfo dump to show signature metadata in hex instead of dec.
- Teach LLVM pass manager about (existing) "foreachexp" pass.
- Create MetadataSignatureBitval symbolic names for use by libbcc and slang.

Bug: 18964628

Change-Id: I1737ee0476b2005ec87f30473bbfa35aed5ded38
SMetadata.h
51ee77bd31e7d8ca6c89e37b5806c8fc2afcf0dc 20-Feb-2015 Pirama Arumuga Nainar <pirama@google.com> Add a -build-checksum flag to bcc

bug 19216507

Add a flag to bcc to pass a build checksum. The checksum is passed to
RSEmbedInfo pass via LLVM metadata.

The old checksum path is tied to RSInfo. Removing this path can be done
along with RSInfo removal.

Change-Id: I3f21c96ddcfe42c16754fbb7749a72595f90964d
SCompilerDriver.h
9fe081b8bae8a95d903f8fa8dc0a7590ae706606 27-Jan-2015 Pirama Arumuga Nainar <pirama@google.com> Mark whether a script is threadable

bug 19095896

Add a pass to check for calls to non-threadable functions. We add a
metadata flag to store the result. RSEmbedInfo also adds this
information to .rs.info.

Change-Id: Iba9a41b338d21a3529a1092656a51be985910fca
STransforms.h
77c1d553e5799aef5add08667e71b62b6842ed2e 23-Jan-2015 Tim Murray <timmurray@google.com> Fix -emit-llvm with shared object compilation.

Change-Id: I696f3777a0981a875772d7340970a6cb49581cd7
SCompilerDriver.h
a4ded1373d7ad3e503f186e65bccf94126a0f020 18-Nov-2014 Yang Ni <yangni@google.com> Compiler kernel fusion for RenderScript.

This was started by Tobias Grosser during his internship at Google in 2013.
This CL includes his original changes and generalization to make it work with
the new proposed ScriptGroup API and made the ImageProcessing processing work
with this.
An enabling CL is needed in the RenderScript runtime, which I will post
seperately.

Change-Id: Ia73ea917a126a5055ec97f13d90a5feaafd6a2f5
SCompilerDriver.h
SMetadata.h
SScriptGroupFusion.h
107f50d54d9606e495187d0e89225d3d9fdc1fa9 20-Jan-2015 Stephen Hines <srhines@google.com> Remove linkloader from frameworks/compile/libbcc.

Bug: 18322681

Now that we have switched completely to the new shared library object
loading path, we can safely remove the legacy linkloader path.

In frameworks/compile/libbcc, this removes all of libbccExecutionEngine,
since the loader is now self-contained in libRScpu_ref (similar to the
support library's shared object loader). We also remove support for
all symbol resolvers and the gdb JIT interface (which was already
unmaintained).

Change-Id: Ie5cc152d93f5e75383f7c21a4523579cfae8823f
SCompilerDriver.h
SExecutable.h
5db508c73e6177eb306bac4725616b7c001587c4 06-Jan-2015 Stephen Hines <srhines@google.com> Fix a few bugs in RSScreenFunctionsPass.

Bug: 18322681

This patch fixes a few small issues:
1) The debug context runtime stubs had a few minor name mangling errors.
2) The verification of functions needs to be done after we have stripped
away any unused code. Without this, there are issues with debug contexts,
because they have unused references to rsOffset()/rsOffsetNs().
3) We don't actually need to maintain a separate status return for the pass,
since llvm::report_fatal_error() will do the right thing in the case of
an illegal function being called.

Change-Id: I0afe7cf58148cd132f9356268d5ad8acdce1a02d
STransforms.h
1e0557ae75ae780352845bd2ba0f4babdc5ae4e6 03-Dec-2014 Pirama Arumuga Nainar <pirama@google.com> BCC updates to handle linkloader removal

Bug: 18322681

- Add -fPIC and -embedRSInfo flags to bcc. fPIC generates relocatable
object code and -embedRSInfo embeds RS symbol information into the
.rs.info variable in the object file.

- PIC_ relocation in x86_64 also entails that the CodeModel must be
small. Otherwise, we end up with TEXTRELs in the shared library.

- Add an LLVM pass to screen functions visibile in RS.
lib/RenderScript/generate-whitelist.sh is used to automatically
generate the stubbed functions to the whitelist.

Change-Id: Ib0a16b7e7aff89490ac631885ffa97dd31c184ce
STransforms.h
b7bce7436876884dfd78ec41d147ddbe47e37cbd 04-Nov-2014 Tim Murray <timmurray@google.com> generate calls to rsSetObject inside .helper invoke functions

bug 18071147

Change-Id: I0ff00b3a86cd799cdb1eebcd1000b74070ee0cdf
STransforms.h
b4447cd2b14f53efd9102d28da48000be7b2d4fd 20-Aug-2014 Chris Wailes <chriswailes@google.com> De-cruft the libbcc compiler infrastructure.

This patch removes the RSCompiler subclass of Compiler and moves most of its
functionality over to the original Compiler class. Methods and variables are
re-named to make the code clearer. In addition, unused functions have been
removed.

Change-Id: I121463df6309c377496cebea8cbb82bb49624ed1
SCompiler.h
SCompilerDriver.h
8cb6cc6baed0e2739b1dc23a62626484594b3069 22-Aug-2014 Stephen Hines <srhines@google.com> am ea6b1c5a: Merge "Replace NULL macros with nullptr literals."

* commit 'ea6b1c5af978698f266f352c8a6f00ec3677e7e5':
Replace NULL macros with nullptr literals.
ffb7afb76188e0ef366a9712aa95c7c9823e5391 21-Aug-2014 Stephen Hines <srhines@google.com> am def585e3: Merge "Replace android::String8 with std::string in libbcc"

* commit 'def585e3621d073fe2f2b747cd1f0556d62c6656':
Replace android::String8 with std::string in libbcc
900c6c1f08f7c572125d7d39abe0f0f9eafbfa14 14-Aug-2014 Chris Wailes <chriswailes@google.com> Replace NULL macros with nullptr literals.

Change-Id: Id2311cda59dd42c74b3ed54d3ff6cfd509012738
SCompilerDriver.h
SExecutable.h
SScript.h
23431e84c891fb87b64100b0f1587c7fca313e53 21-Aug-2014 Stephen Hines <srhines@google.com> am 963a73ca: Merge "Replaced android::Vector with std::vector."

* commit '963a73ca7b5df2cb67bf025274ea0fb972f0446a':
Replaced android::Vector with std::vector.
35978e7a7e87b7147789ff3ca9c3a6bf7dd165b0 11-Aug-2014 Chris Wailes <chriswailes@google.com> Replace android::String8 with std::string in libbcc

Change-Id: Ic384d60f3e2af0ba02990c904212f77cb1493e90
SInfo.h
5e7d876f8bae477a97606afee93066849a798844 26-Jul-2014 Chris Wailes <chriswailes@google.com> Replaced android::Vector with std::vector.

Change-Id: I9bcf36d088d423246312d97e2a87a05e90f6617d
SExecutable.h
SInfo.h
539e29852f2c47f037cf2702e6aab913c8fc51d3 17-Jul-2014 Jean-Luc Brouillet <jeanluc@google.com> am 0dd6efbc: Merge "Deprecate rs_fp_imprecise."

* commit '0dd6efbce461336f96ccec7ac0e5040199709a44':
Deprecate rs_fp_imprecise.
5f2e6b9bc70956fc30a9a6d1679f587e4a729884 08-Jul-2014 Jean-Luc Brouillet <jeanluc@google.com> Deprecate rs_fp_imprecise.

If rs_fp_imprecise is specified, issue a warning and
use rs_fp_relaxed instead.

Change-Id: I054fa32128bda60a6d22a0a6a590cd9f3575a2ca
SInfo.h
00a68f0a68dbd3b71b9426d911b7334d5d3a5143 27-Jun-2014 Jean-Luc Brouillet <jeanluc@google.com> am e17454cf: am 17d3aed6: Merge "Use build fingerprint and compile command for caching."

* commit 'e17454cf6ecdf4c14e9118712b63488e106b580f':
Use build fingerprint and compile command for caching.
f2ac3176c351cd80bce77fe1488f3de2d0789c1b 26-Jun-2014 Jean-Luc Brouillet <jeanluc@google.com> Use build fingerprint and compile command for caching.

If either of those have changed, we need to invalidate the
compiled bit code.

Change-Id: I9b5cdc19e29237dc7fb2ec1627a167f3f8987702
SCompilerDriver.h
SInfo.h
a4cd44654e04b2dcd8e811b76617892c04efd39f 20-Jun-2014 Jean-Luc Brouillet <jeanluc@google.com> am 3108f9c6: am cd399bad: Merge "Change cache dependency tracking."

* commit '3108f9c6773c764396a644dc78eeb090c901cc5e':
Change cache dependency tracking.
c5e607adff80a66bc5420baffd299862abdf368d 19-Jun-2014 Jean-Luc Brouillet <jeanluc@google.com> Change cache dependency tracking.

Remove the fix dependencies and make it depend only on the source
hash. More changes coming soon to add dependencies on the Android
build fingerprint and the command line used to compile.

Change-Id: I8964044affccf52326ce286f879307eca79d0b24
SCompilerDriver.h
SInfo.h
9ac48f29648c6074cd3c2a2636ccc4269e40adda 23-May-2014 Stephen Hines <srhines@google.com> am 79e8a844: am b579d30a: am da0c1ea4: Merge "Separate out the symbol resolver from RSCompilerDriver."

* commit '79e8a844e119e595d3aeed024f959c97a2310e37':
Separate out the symbol resolver from RSCompilerDriver.
b39557ea3f72e1854581aa1f859b2323499389b1 22-May-2014 Stephen Hines <srhines@google.com> Separate out the symbol resolver from RSCompilerDriver.

This change makes compilation distinct from loading. The symbol resolvers
now need to be instantiated directly by the RS driver.

Change-Id: I37ce409f1b2e538d9091c025895e639a250d6466
SCompilerDriver.h
bc362b623e3fc91c5c796d9bd1c00ac0e617c95d 15-May-2014 Stephen Hines <srhines@google.com> am e995ae93: am 1a9b5b61: am d3493fab: Merge "Switch RSForEachExpandPass to use MetadataExtractor."

* commit 'e995ae93aa5ed062aede5df96f809cca7de3037c':
Switch RSForEachExpandPass to use MetadataExtractor.
0e6aad13387bb983b09cb9ca36519ec7b4c0b5f0 15-May-2014 Stephen Hines <srhines@google.com> am f141a77c: am 16601acb: am 30bfe8cc: Merge "Switch to MetadataExtractor path."

* commit 'f141a77cdfdda8b1e2c5ae08bfd7e795df7ffd77':
Switch to MetadataExtractor path.
25eb586bb055ae07c7e82a2b1bdbd6936641580c 09-May-2014 Stephen Hines <srhines@google.com> Switch RSForEachExpandPass to use MetadataExtractor.

Change-Id: I442054e7aa2329b369f578052bd41c7a973cc822
STransforms.h
1253c195dd7911ad91bd66790f03e4c2f8888ad2 09-May-2014 Stephen Hines <srhines@google.com> Switch to MetadataExtractor path.

Change-Id: Iabef9abb1c770ffe1e753cfd2fac808f60c19d8a
STransforms.h
4215c36c1ce6725bf094219f18caa4ef3a3dac0e 01-May-2014 Stephen Hines <srhines@google.com> am ccb44c38: am 4c694e07: am ca48f581: Merge "Improve standalone bcc for on-device compilation."

* commit 'ccb44c3834b760b8f4a8c849cdcfe3944dd7a6f7':
Improve standalone bcc for on-device compilation.
c3437f05c638f8befda59170ae788873db24dc1c 31-Jan-2014 Stephen Hines <srhines@google.com> Improve standalone bcc for on-device compilation.

Bug: 7342767

This adds functionality for driver-writers to dynamically load plugins.
If such a plugin is loaded, we then execute any function called
rsCompilerDriverInit() from it. This function can initialize any other
state the driver-writer wants.

Change-Id: I733a6a3fc59c429a542cfcaf59a57ad231a19d01
SCompilerDriver.h
c68092e9071aa92388836dc3d157ffb19097d658 17-Apr-2014 Tim Murray <timmurray@google.com> am 773dab58: am 70a7671e: Merge "Change 64bit library path from /system/lib/ to /system/lib64"

* commit '773dab582991cba84fb90c0e11c2c04f2104d1b8':
Change 64bit library path from /system/lib/ to /system/lib64
36e642c0a89cc6f3a95dadfe1fc2b890c0758b15 04-Apr-2014 WeiTang <wei.a.tang@intel.com> Change 64bit library path from /system/lib/ to /system/lib64

Change-Id: Ie2ec537bb71ca6573588bcaf893d871ba9b5c051
SInfo.h
17a397aa110c6601280b20146c199a56da3d9386 03-Oct-2013 Stephen Hines <srhines@google.com> am 4face7bf: resolved conflicts for merge of 8d972a6f to klp-dev-plus-aosp

* commit '4face7bf943d93ee91ca94f05df2034550f318fd':
Remove references/use of ARCH_X86_HAVE_*.
4face7bf943d93ee91ca94f05df2034550f318fd 03-Oct-2013 Stephen Hines <srhines@google.com> resolved conflicts for merge of 8d972a6f to klp-dev-plus-aosp

Change-Id: I7d1f460a1b6de08b11b430f90c7bf2534e5cca31
8d972a6f7975f3b43a1551eb5619f008561a5029 03-Oct-2013 Stephen Hines <srhines@google.com> resolved conflicts for merge of 4293770c to stage-aosp-master
5aa70e1912813e173171b7d8540eb4a896f86b42 03-Oct-2013 Stephen Hines <srhines@google.com> Remove references/use of ARCH_X86_HAVE_*.

Bug: 11048298

These SSE-related defines are unnecessary because all x86 Android devices
have these features. We switch all the checks to __i386__ instead.

This also fixes an issue where non-ARM bitcode files were being created with
the ARM defines present. This is problematic when we then try to do things
that would be arch-specific (i.e. the presence of SSE-enabled functions for
clamp(), ...).

This also cleans up the different target architecture specified in the x86
bitcode files so that they match the platform target (i686-unknown-linux).

Change-Id: Ibbead4aecba2c90bdbe6ff362960079cb7a9e4dc
SInfo.h
3d740780dfc4c446d89b9d130d739b4aa90c8298 12-Jul-2013 Stephen Hines <srhines@google.com> DO NOT MERGE - Only support EnableGlobalMerge on ARM architectures.

Change-Id: I5c4c236c306e120c5aa24fbc91815cc27d7aab0f

Conflicts:
include/bcc/Renderscript/RSCompilerDriver.h
SCompilerDriver.h
957c9bcff7f9811cd9cb62211c888338228f8a15 30-Apr-2013 Stephen Hines <srhines@google.com> DO NOT MERGE - Provide a way to disable LLVM's global merge optimization.

Change-Id: I92dff2a208c821722f057dd8c26bd12a1cb5a794

Conflicts:
include/bcc/Renderscript/RSCompilerDriver.h
lib/Renderscript/RSCompilerDriver.cpp
SCompilerDriver.h
efde1ffb2f6fae8bfa724560432a1434fb0ef71b 20-Aug-2013 Tobias Grosser <grosser@google.com> Remove unused code

Change-Id: Iea9198c5ce78db933883ac4adab1332f4d2fc430
SScript.h
6a5fa14074200a18824defa0bffc64e5f2487152 24-Jul-2013 Tobias Grosser <grosser@google.com> Remove beforeExecuteLTOPasses callback

This callback had very unclear semantics and the current use was suprising.
Specifically, it took a PassManager parameter, but adding anything to this pass
manager would cause the passes to be executed after the other LTO passes The
only way to execute passes before the LTO passes, was to create a new pass
manager that executes a pass right before all LTO passes (that have already
being queued in the pass manager passed in as a parameter) will be executed.
The very same behavior can be achieved by just adding our passes to the
normal pass manager using the "BeforeAddLTOPasses" callback.

We used this callback to schedule the ForEachExpand pass. This pass is now
moved to the beforeAddLTOPasses callback.

Change-Id: I3916543a4ee282e403174b90dc7b7588baab9ea3
SCompiler.h
c06cd06078a8c866d5cecbf897326092b55a8955 12-Jul-2013 Stephen Hines <srhines@google.com> Only support EnableGlobalMerge on ARM architectures.

Change-Id: I5c4c236c306e120c5aa24fbc91815cc27d7aab0f
SCompilerDriver.h
ad69476ec040ba9ee07176ccb758aabb5ff6d51c 30-Apr-2013 Stephen Hines <srhines@google.com> Provide a way to disable LLVM's global merge optimization.

Change-Id: I92dff2a208c821722f057dd8c26bd12a1cb5a794
SCompilerDriver.h
7b980e1717f3cf418f7bc4e40597004bc1139b8b 20-Jun-2013 Tobias Grosser <grosser@google.com> bcc: Add option -emit-llvm

Change-Id: I98470c6573b216518f77d338f4659d5b9fbcc3d3
SCompilerDriver.h
47f0d5a8d9ed629a6d58d3e69891f2c7fdee44d9 05-Jun-2013 Stephen Hines <srhines@google.com> Further separate build (compile) and load in libbcc.

Bug: 7342767

Change-Id: Ia6000d6c3557280126c6bb7f945c922528adeedc
SCompilerDriver.h
01f05d4b45cbde1e07d4707152908c1d843f1328 01-Jun-2013 Stephen Hines <srhines@google.com> Load scripts from cached files every time.

Bug: 7342767

Having an separate in-memory (vs. file-based) loader makes little sense as
we refactor libbcc (to separate it into its own process space). This change
is a first step in cleanly separating the compile and link steps.

Change-Id: Iad67527329171f18475ced0f0b2652a0aa060259
SCompilerDriver.h
SInfo.h
SScript.h
1d4a9e4646e8786623daa6ac3917782be56a8fb2 18-Apr-2013 Stephen Hines <srhines@google.com> Improve caching for debug contexts.

Bug: 7343201

We now skip caching on debug contexts and destroy the cached script copy
when we are finished with it. This is a temporary fix until we can refactor
libbcc caching.

Change-Id: I356b67419dc246209c7b5e077264b0cf2e42578c
SCompilerDriver.h
8ee82d4c1dded958f27f0dc51ddeceda0c895d99 17-Apr-2013 Stephen Hines <srhines@google.com> Build debug version version of runtime (libclcore_debug.bc).

Bug: 7343201
Change-Id: I9ca9acd7b0e23762d28de3af0aa60d4a6d75e5dd
SInfo.h
3d0be775a298c8345a038e4f1e060176659ec9db 05-Mar-2013 Jason Sams <jsams@google.com> am e323991d: Merge "Start to add X86/SSE2+ optimized clcore library"

* commit 'e323991d04284925ff7aea8387bc55c1ed57a061':
Start to add X86/SSE2+ optimized clcore library
06731a6150ae8014d37258d5f32ef8bc14a3db63 13-Feb-2013 Stephen Hines <srhines@google.com> Add LinkRuntimeCallback() and supporting functions to RS compiler.

Change-Id: I7745406a94ba74896ee98752a3de106d2672159d
SCompilerDriver.h
SScript.h
7233dcad720ea7e4f6b40b0448244bd4f0c5307e 08-Feb-2013 Shih-wei Liao <sliao@google.com> Increase RSInfo version number.

The recent change on adding libcompiler_rt.so to library dependencies
changes the format of RSInfo (one entry is added.)

Change-Id: I690010f4b8ff2ff6f636583faba52eec327f0acd
SInfo.h
3ab9da1e1b3d7794994393af086d096397fb84db 02-Feb-2013 Stephen Hines <srhines@google.com> Fix bcc_compat symbol resolution with libcompiler_rt.so.

Change-Id: Id6177e53ec9647b560a73de566d2d8a95d860200
SCompilerDriver.h
09ca95426a7ec66def02e47048bb25289759c6fb 26-Jan-2013 Shih-wei Liao <sliao@google.com> Switch to use libcompiler_rt for compiler runtimes.

Change-Id: I64b3d4ba80343bc592fa0df72242b33b2d2ae0ed
SCompilerDriver.h
f7401ab4b42dcbd782f20ba5c279694edbd28516 26-Jan-2013 Shih-wei Liao <sliao@google.com> Add libcompiler_rt.so as built-in dependencies for RS.

Change-Id: I376616ffbe26813a8341e87c965a27666d35b9a6
SInfo.h
cdcce323a2acddb4234e6906c691e20bb3d714f9 26-Sep-2012 Michael Liao <michael.liao@intel.com> Start to add X86/SSE2+ optimized clcore library

'sqrt' and 'clamp' are optimized on x86/sse2 target.

Change-Id: Ia8f1b12c666828de88c49699006e44b17431a9ac
Author: Michael Liao <michael.liao@intel.com>
Signed-off-by: Yong Chen <yong.a.chen@intel.com>
Signed-off-by: Xiaokang Qin <xiaokang.qin@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 61893
SInfo.h
86a0b797c221d4c3373dc10c8229b75b6747f6e7 07-Nov-2012 Stephen Hines <srhines@google.com> Embed RS metadata info directly in emitted object code.

Bug: 7419958
Change-Id: Ibd82e503c006532aa74013a46dd13ec3e9473daa
SScript.h
STransforms.h
331310e1f3f86a795f78e42b3f03558a43829f09 27-Oct-2012 Stephen Hines <srhines@google.com> bcc_compat - convert bitcode to shared object files.

BUG: 7419958

Change-Id: Ie81203b460d60425780657b51ba3aba2b2b77e05
SCompilerDriver.h
SInfo.h
SScript.h
2b04086acbef6520ae2c54a868b1271abf053122 28-Jul-2012 Stephen Hines <srhines@google.com> Use known strides instead of input args when possible.

BUG=6892059

Change-Id: I15b3726624ff0eeca5e30aaa6de928f1c9912471
STransforms.h
e198abec6c5e3eab380ccf6897b0a0b9c2dd92dd 28-Jul-2012 Stephen Hines <srhines@google.com> Rename RenderScript -> Renderscript.

Change-Id: I187928033b47f3e3f4cb811a0b3562f479cfe417
SCompiler.h
SCompilerDriver.h
SExecutable.h
SInfo.h
SScript.h
STransforms.h