History log of /frameworks/compile/libbcc/lib/Renderscript/RSEmbedInfo.cpp
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
/frameworks/compile/libbcc/lib/Renderscript/RSEmbedInfo.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
/frameworks/compile/libbcc/lib/Renderscript/RSEmbedInfo.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
/frameworks/compile/libbcc/lib/Renderscript/RSEmbedInfo.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
/frameworks/compile/libbcc/lib/Renderscript/RSEmbedInfo.cpp
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
/frameworks/compile/libbcc/lib/Renderscript/RSEmbedInfo.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
/frameworks/compile/libbcc/lib/Renderscript/RSEmbedInfo.cpp
51ee77bd31e7d8ca6c89e37b5806c8fc2afcf0dc 20-Feb-2015 Pirama Arumuga Nainar <pirama@google.com> Add a -build-checksum flag to bcc

bug 19216507

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

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

Change-Id: I3f21c96ddcfe42c16754fbb7749a72595f90964d
/frameworks/compile/libbcc/lib/Renderscript/RSEmbedInfo.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
/frameworks/compile/libbcc/lib/Renderscript/RSEmbedInfo.cpp
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
/frameworks/compile/libbcc/lib/Renderscript/RSEmbedInfo.cpp
c754d49ee856be620e041348a9f2b3d5610a5a26 09-Jan-2015 Stephen Hines <srhines@google.com> Add proper getAnalysisUsage() implementations to each Pass.

Change-Id: I2db9201dbfe5e8d705a873212f1f69f1fb7b5c20
/frameworks/compile/libbcc/lib/Renderscript/RSEmbedInfo.cpp
900c6c1f08f7c572125d7d39abe0f0f9eafbfa14 14-Aug-2014 Chris Wailes <chriswailes@google.com> Replace NULL macros with nullptr literals.

Change-Id: Id2311cda59dd42c74b3ed54d3ff6cfd509012738
/frameworks/compile/libbcc/lib/Renderscript/RSEmbedInfo.cpp
1253c195dd7911ad91bd66790f03e4c2f8888ad2 09-May-2014 Stephen Hines <srhines@google.com> Switch to MetadataExtractor path.

Change-Id: Iabef9abb1c770ffe1e753cfd2fac808f60c19d8a
/frameworks/compile/libbcc/lib/Renderscript/RSEmbedInfo.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
/frameworks/compile/libbcc/lib/Renderscript/RSEmbedInfo.cpp
b730e239619a546d93e5926ea92d698ab77ec7f6 10-Jan-2013 Stephen Hines <srhines@google.com> Updates for LLVM merge to r171906 on 20130108.

Change-Id: I096cb90103b19e3110ea562d60e5eb8ad48d9b67
/frameworks/compile/libbcc/lib/Renderscript/RSEmbedInfo.cpp
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
/frameworks/compile/libbcc/lib/Renderscript/RSEmbedInfo.cpp
86a0b797c221d4c3373dc10c8229b75b6747f6e7 07-Nov-2012 Stephen Hines <srhines@google.com> Embed RS metadata info directly in emitted object code.

Bug: 7419958
Change-Id: Ibd82e503c006532aa74013a46dd13ec3e9473daa
/frameworks/compile/libbcc/lib/Renderscript/RSEmbedInfo.cpp