History log of /frameworks/compile/slang/slang_rs_context.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
b6a143562bda2117824a0515c208504e9a2830f1 26-Jul-2016 Pirama Arumuga Nainar <pirama@google.com> Fix slang to compile with LLVM r275480

Bug: http://b/31320715

In addition to fixing compilation with the new LLVM sources, this change
also switches to using LLVM's RenderScript triples. Clang also uses
this triple to set the size and alignment of 'long' data type to
64-bits. We no longer need/have the '+long64' CPU feature.

Test: Run RenderScript tests (host tests for slang and libbcc, RsTest, CTS)

Change-Id: I3d2795bc0253a10d6fb36bfb0c28eb0c2e9a2922
/frameworks/compile/slang/slang_rs_context.h
8ee018bdb53fc5abdc430878e2bec0c0c0aa560f 02-Jun-2016 David Gross <dgross@google.com> Delete simple reduction implementation.

Bug: 27298560
Change-Id: I775dd782d658c7c720f57aa31a584deee98cdd17
/frameworks/compile/slang/slang_rs_context.h
40bac5d72af8fe32ab3d0bb38aafb5c65d8d9dfa 09-May-2016 Yang Ni <yangni@google.com> Disallow launching old-style kernels via rsForEach

Bug: 28666819

The "kernel" attribute should be the sole criterion for a kernel
function launchable via rsForEach() in single-source RS.
(The utility function isRSForEachFunc() considers a super set of such
functions as kernels, including old-style kernels or any function
that returns void and has a pointer type first parameter, which
don't have the "kernel" attribute.)

Launching an old-style kernel is forbidden via an rsForEach() or
rsForEachWithOptions() call. Old-style kernels can still co-exist in
the same script with such a call, and can be launched via Java or C++
reflected code.

To make this coexisting possible, old-style kernels are moved to
the end of the list for exported kernels in the metadata. This way,
the single-source RS frontend pass can agree with the metadata
on the slot assignment for "new-style" kernels.

Change-Id: I3d61c1c91b29043f3597ae622ef7c2ef972eb789
/frameworks/compile/slang/slang_rs_context.h
812dcd0b28c68363bba2f132ff2bdff6577ba9b7 11-Apr-2016 David Gross <dgross@google.com> Fix Java reflection for anonymous result types.

If two kernels have anonymous result types that are equivalent (e.g.,
array of N elements of type T), slang doesn't common them (i.e., each
gets its own RSExportType); so Java reflection must guard against this
to avoid creating two copies of the text that defines the reflected
result* class, which would result in an error when compiling the
reflected code.

Bug: 28118344
Change-Id: I8fde28aa01bcbf04638c45f7c62a08b9e0cfd880
/frameworks/compile/slang/slang_rs_context.h
5e306b944425a952fe744f59d828538137a59375 09-Feb-2016 David Gross <dgross@google.com> Change mechanism used to ensure #pragma rs reduce functions are not deleted.

Requires corresponding change in frameworks/compile/libbcc.

The functions referenced by "#pragma rs reduce" are static functions.
If the only references to such a function are from these pragmas, then
the function looks unreferenced, and hence without additional work
will be deleted by clang.

The old solution to this problem is to add all such functions to
the LLVM intrinsic variable @llvm.used. Unfortunately, this
doesn't just prevent clang from deleting these functions -- it
also prevents llvm from deleting these functions. This is
undesirable in the case of the combiner function (which is not
currently needed by the CPU reference driver) or the accumulator
function (because the CPU reference driver needs an "expanded"
form of the accumulator function, not the original accumulator
function).

The new solution is that for each such function "f" we generate a
dummy variable initialized with a pointer to that function:

void *.rs.reduce_fn.f = (void*)&f;

This prevents clang from deleting "f", but does not automatically
prevent llvm from deleting "f" (e.g., the backend could use some
other mechanism to retain "f" if necessary, while
deleting ".rs.reduce_fn.f").

Bug: 23535724
(cherry picked from commit 633f2980e148775887f0d416f8dd663a6d3b48df)

Change-Id: I272445d2bf706cde8d81ed65aa32df59c3ba0e47
/frameworks/compile/slang/slang_rs_context.h
277fd5e6545c8ba1272027ee6e6bc55a96316dc0 14-Jan-2016 David Gross <dgross@google.com> Add Java reflection for "#pragma rs reduce".

Also:
- test.py now recognizes "Script*.java.expect" files as masters for comparing
reflected code the same way "stderr.txt.expect" and "stdout.txt.expect" are
masters for comparing compiler stderr and stdout.
- gReflectionTypes[] now has a '"common name" in script (C99)' column (e.g., "short" is
the common name by which a type appears in script code, in contrast with "int16_t"
which is the name by which a type is reflected in NDK code).

Bug: 23535724
Change-Id: I7960968bb98a17e33fe23415f7927cac537b72a3
/frameworks/compile/slang/slang_rs_context.h
65f23ed862e1a1e16477ba740f295ff4a83ac822 08-Jan-2016 David Gross <dgross@google.com> Add semantic analysis of "#pragma rs reduce" script functions.

Also:
- Make initializer() optional.
- Swap initializer and accumulator in metadata.
- Expose new slang::HasRSObjectType() interface from reference counting engine.

Bug: 23535724
Change-Id: If042e227a1af87c231c867ef20ed4c2082bb1871
/frameworks/compile/slang/slang_rs_context.h
2615f383dfc1542a05f19aee23b03a09bd018f4e 03-Dec-2015 Yang Ni <yangni@google.com> Tidy up AST nodes for rsForEach

Bug: 23535985

Slang asserts in debug build, for the following reasons:
1) A mistake using void type instead of the function type for
rsForEachInternal();
2) rsForEachInternal() was declared with the second parameter being
void*, but should be rs_script_call_t*; and
3) Integer 0 for launch option is used for rsForEach without an
launch option, where a rs_script_call_t* is expected.

This CL fixes those.

Change-Id: If6245ceca774ee38830aeddda156be55cde9a137
/frameworks/compile/slang/slang_rs_context.h
9ab3abd01219b458eb8be20dad6dcffd8dfc0f27 20-Nov-2015 Yang Ni <yangni@google.com> Merge "Changed generated calls to rsForEachInternal"
88f21e16250d2e52a75607b7f0c396e1c2a34201 19-Nov-2015 Yang Ni <yangni@google.com> Changed generated calls to rsForEachInternal

Bug: 23535985

Avoided using varargs in rsForEachInternal, since LLVM handles varargs
differently on x86 than on ARM.

Changed generated calls to rsForEachInternal to match the new
signature, in which the last argument is an allocation array.

Change-Id: I1b53861083b87c51c5bdaeaec2be469dc7af7a0a
/frameworks/compile/slang/slang_rs_context.h
7b31d72ffd0a25eee83a20a9668e7c9fe9dbf551 19-Nov-2015 David Gross <dgross@google.com> Merge "Remove PragmaRecorder."
15e44e66adc350adb4fe0533a442092c64333ab5 10-Nov-2015 David Gross <dgross@google.com> Parse "#pragma rs reduce" and generate metadata.

Does no analysis of the reduction's constituent functions and does no reflection.

For now this coexists with __attribute__((kernel("reduce"))) reduction kernels.

Bug: 23535724
Change-Id: Ib4112a166bf07b2cd70960180e3581dd0b93a8c7
/frameworks/compile/slang/slang_rs_context.h
34e6205f1d5ceb90a73192cee8b215fa0b7ab306 05-Nov-2015 David Gross <dgross@google.com> Remove PragmaRecorder.

The PragmaRecorder class was acting as a catch-all for pragmas not
recognized by our collection of RS*PragmaHandler classes. It was
doing nothing other than rudimentary syntax checking and permitting
all pragmas to flow through the compilation process without clang
flagging them as unrecognized under -Wall.

Change-Id: I4a4c84c6e1114ac1e5454b3a06cf96e05c34a783
/frameworks/compile/slang/slang_rs_context.h
1946749cebf4a64341d8210890688fef7d958c22 27-Oct-2015 Yang Ni <yangni@google.com> Launch options & multi inputs for single-source RS

Bug: 23535985

Also renamed rsParallelFor to rsForEach.
Added checks for number of allocations to rsForEach matching kernel function
expectation.

Added slang tests.

Removed code from RSContext for remembering the rs_allocation AST subtree.

Change-Id: Ibc22bd5e9585a4471b15920ef60fe1fe2312de49
/frameworks/compile/slang/slang_rs_context.h
fb40ee2a90f37967bf4a40a18dec7f60e5c580d8 13-Oct-2015 Yang Ni <yangni@google.com> Revert "Revert "Handle kernel launch calls""

Bug: 23535985

This reverts commit 5d9263d3a3a7457b9e5fe6e518c0d822dcdfcda6.

This also fixes issues in change list 172074, which caused some
slang tests to fail due to changed hehavior in error handling.

The fix was based on changes originally posted by srhines@.

To keep single-source functionality working, I separated kernel
name logging from the final export processing code. We would
build a map from kernel funciton names to slot numbers as we parse
the script. The map is used when translating a rsParallelFor call
to a call to the internal rsForEachInternal API, so that we can find
the proper slot numbers.

Here is Steve's original commit message.

Only call processExports() after a successful C99 compilation.

This refactoring fixes a bug in the previous single-source patch, where
exported functions/variables/kernels were being processed during the
regular compilation steps. This wastes compile time, since we don't need
to actually prepare for outputting reflected Java/C++ code if the
compile is going to fail for regular C99 reasons.

Change-Id: I81d88731188f4258f12f4c90ae8dd8abc8c2d641
/frameworks/compile/slang/slang_rs_context.h
5d9263d3a3a7457b9e5fe6e518c0d822dcdfcda6 13-Oct-2015 Stephen Hines <srhines@google.com> Revert "Handle kernel launch calls"

This reverts commit 45aa8c52c9400cef86efe4343f04e605a66f42af.

Change-Id: If33ad432e4381d1dc64ef884b51eb50f707807ff
/frameworks/compile/slang/slang_rs_context.h
45aa8c52c9400cef86efe4343f04e605a66f42af 14-Sep-2015 Yang Ni <yangni@google.com> Handle kernel launch calls

Bug: 23535985

Find rsParallelFor(void*, ...) calls in the .rs source code and
translate them into rsForEachInternal(int, rs_allocation, rs_allocation)
calls.

Semantic checks are pretty limited at this point. Will enhance them in followup CLs.

Change-Id: I6e2cf3db868f426aa8e0b9a77732b66c1e6b9f03
/frameworks/compile/slang/slang_rs_context.h
c0c5dd85f2d2df2bcf0cb284001f544d6c42eff9 24-Jul-2015 Matt Wala <wala@google.com> Add initial support for validating and exporting reduce kernels.

Bug: 22631253

This change adds support to slang to validate the reduce-style
kernels for errors, and also to create reduce metadata.

Change-Id: Ic9144402dff93a2a28687864637e67fca6808e2e
/frameworks/compile/slang/slang_rs_context.h
5abbe0e9ca2508260b627ffef2bf01e2554e8357 13-Aug-2014 Chris Wailes <chriswailes@google.com> Replace the NULL macro with nullptr literal.

Change-Id: I33609969cd0d7aa55eaa83fb2c65f5faa6d55fa0
/frameworks/compile/slang/slang_rs_context.h
a9186d31532c779257ae3a495034417dfa037e83 24-Jul-2014 Stephen Hines <srhines@google.com> Merge "Update slang for LLVM rebase to r212749."
2eb9a3f7c48fe54eb4e813d80e3363bc79553a1e 16-Jul-2014 Stephen Hines <srhines@google.com> Update slang for LLVM rebase to r212749.

Change-Id: I5819f9df3212ffcfa8f34c11d3cea29f1fd04878
/frameworks/compile/slang/slang_rs_context.h
109e90a854ac8d8f4df24ef27db636a641ba9913 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.

Also add a validation that two incompatible precision
pragmas have been specified.

Change-Id: Ib70430872b4a3058b36f8196cbcffba2e4beb322
/frameworks/compile/slang/slang_rs_context.h
9ae18b2bbee0b08afd400542e863dd665ff76059 11-Jun-2014 Stephen Hines <srhines@google.com> Add an option to emit 32-bit and 64-bit bitcode.

Bug: 16031597

Change-Id: Ifb3c4eca5e7ae16106260c2b5f5da6854c021a3a
/frameworks/compile/slang/slang_rs_context.h
c9454afec1649846512993d0ef65a9f868976bb4 14-Jun-2014 Chris Wailes <chriswailes@google.com> Adds support for multi-input kernels to Slang.

This patch modifies slang in the folowing ways:
* Updates some of the development target API logic.
* Adds logic for validating kernels with multiple inputs.
* Added support for multi-input kernels to the Java reflection code.
* Adds tests for these new features.
* Updated existing tests with the new error messages.

Change-Id: I46d2834c37075b2a2407fd8b010546818a4540d1
/frameworks/compile/slang/slang_rs_context.h
9e3aa07a4456aad52920e0a7464954fe67cdbe01 17-Jun-2014 Chris Wailes <chriswailes@google.com> Added a new development target api.

Change-Id: I71a16597f2605b9323424f8d493f103519d10178
/frameworks/compile/slang/slang_rs_context.h
fc4f78b9c7941132fb048a83f0e4ba528c3b4fd0 11-Jun-2014 Stephen Hines <srhines@google.com> Add -v (-verbose/--verbose) option to llvm-rs-cc.

This change also suppresses the display of "Generating Script*." output by
default.

Change-Id: I034a3ba20acf64e1eb9ecc02133edb03b643d559
/frameworks/compile/slang/slang_rs_context.h
12fc283f4108fd6f7f0164c121ff2f6fb5044225 04-Jun-2014 Jean-Luc Brouillet <jeanluc@google.com> Don't go through RSContext for the Java reflection (take 2)

Change-Id: I08e5be9c4e39501238a9f9c382f0c66b2caf5a8d
/frameworks/compile/slang/slang_rs_context.h
7fda9848f91fc5cca55f63423b35672128b6daab 04-Jun-2014 Jean-Luc Brouillet <jeanluc@google.com> Revert "Don't go through RSContext for the Java reflection."

This reverts commit cc1b9699446aea20773e4c3c6ff5759fedd8ab51.

Change-Id: I330f8beb02ba4868ce115848543c506d5dea46bf
/frameworks/compile/slang/slang_rs_context.h
cc1b9699446aea20773e4c3c6ff5759fedd8ab51 04-Jun-2014 Jean-Luc Brouillet <jeanluc@google.com> Don't go through RSContext for the Java reflection.

The C++ code does not do that. RSContext should just contain the
context.

Change-Id: Idd9d4c00bdd27b51ba7fc0aee8c5e7cfdab6d0a0
/frameworks/compile/slang/slang_rs_context.h
796e7b1400d3f3f7c07496d88bb48129ea925bb9 27-May-2014 Jean-Luc Brouillet <jeanluc@google.com> Remove useless "return;" statements.

More cleanups to follow...

Change-Id: Ib8348255273771c1e9ff07e79bd7fbc8f2795a5b
/frameworks/compile/slang/slang_rs_context.h
44d495d2ad8c350a8f586502c9ee8e97a513646a 23-May-2014 Stephen Hines <srhines@google.com> Clean up embedded bitcode path for Java.

Change-Id: I79cc65778173c7eeab028dedfc4adcb59bef44c2
/frameworks/compile/slang/slang_rs_context.h
ee4016d1247d3fbe50822de279d3da273d8aef4c 11-Apr-2014 Tim Murray <timmurray@google.com> Update Slang for Clang/LLVM 3.5a.

Change-Id: Icd59efa1197098076555c505c31939866e504a83
/frameworks/compile/slang/slang_rs_context.h
50cab07b24f9d85899e697cac88a05cb8347fe74 25-Mar-2014 Narayan Kamath <narayan@google.com> Fix clang compile errors.

Clean up several unnecessary forward declarations
and private member variables.

Change-Id: I5cd27a82ae222b8ee589cd279d8778ef7061a531
/frameworks/compile/slang/slang_rs_context.h
d3f7527b105d21f1c69d3473eb88a762f2c3ab5a 17-Jan-2014 Jean-Luc Brouillet <jeanluc@google.com> Add ReportErrror/Warning to RSContext.

Remove a lot of boilerplate code by adding error reporting methods to RSContext. There are still a few additional files that could be cleaned. That will be for another CL someday.

Change-Id: I6a261735720227ac87d94dbdea5ce4a7b8ef6cca
/frameworks/compile/slang/slang_rs_context.h
dde98533fad4c6534af537ae583aa4db35a1c699 24-Jul-2013 Tim Murray <timmurray@google.com> Update C++ bindings and add const qualifiers to get methods.

Change-Id: I58affdfcc560ed269cd0fda0c5e74651bcfd4e4a
/frameworks/compile/slang/slang_rs_context.h
925879fa622dda293806ed25b1ee63d2f4a8d65a 20-Jul-2013 Stephen Hines <srhines@google.com> Clean up handling of Java package name for llvm-rs-cc.

Adds support for C++ code generator to use this package name as well.

This change also resolves a small issue with an uninitialized mVerbose flag.

Change-Id: Ia3037a3f4dbe172ddc51af3064ac1708526a6df6
/frameworks/compile/slang/slang_rs_context.h
4c7c95cab6a7baf46bbedaf6c2a67d93eafc3e66 22-Jan-2013 Stephen Hines <srhines@google.com> Merge "Skip reflection of resize() when building for the compatibility library."
23c4358f12bd9d0ba7166eceebd683db95a41b3f 10-Jan-2013 Stephen Hines <srhines@google.com> Updates for LLVM merge to r171906 on 20130108.

Change-Id: I4cf3718041d8876d4a23a412b6b4fa4226ec3b50
/frameworks/compile/slang/slang_rs_context.h
82754d87921c94e70562aa977cc92e28fc38b1d0 19-Jan-2013 Stephen Hines <srhines@google.com> Skip reflection of resize() when building for the compatibility library.

Change-Id: I2669914b3139756a8cf559ed99b845e77df87df0
/frameworks/compile/slang/slang_rs_context.h
0a813a3ef2a82f19d7eab9e23ae8493197143803 04-Aug-2012 Stephen Hines <srhines@google.com> Add RS package name option + support.

Usage:
llvm-rs-cc -rs-package-name=android.renderscript ...
or
llvm-rs-cc -rs-package-name android.renderscript ...

This allows us to reflect a different import path for our base RS classes.
The default value is "android.renderscript", resulting in a reflection that
produces "import android.renderscript.*;".

Change-Id: Icf7e83b963ba70c803899697f49b41fdfb9586e7
/frameworks/compile/slang/slang_rs_context.h
c17e198ffcd37bfc57e3add1f6eee952ae2a2eab 22-Feb-2012 Stephen Hines <srhines@google.com> Support dummy root() and re-ordering in presence of non-root kernels.

BUG=6000538

Change-Id: Ib3ed249916d36acf68ab32e9216804ae1da5e991
/frameworks/compile/slang/slang_rs_context.h
9207a2e495c8363606861e4f034504ec5c153dab 21-Oct-2011 Logan Chien <loganchien@google.com> Apply changes to migrate to LLVM upstream Oct 20th 2011.

- StructType::isAnonymous is renamed to StructType::isLiteral.

- PassManagerBuilder has been moved from
llvm/Support/PassManagerBuilder.h to
llvm/Transforms/IPO/PassManagerBuilder.h

- Include llvm/Transforms/IPO.h for llvm::createInternalizePass.

- clang::DiagClient has be renamed to clang::DiagnosticConsumer.
Besides, we have to implement one additional pure virtual method
'clone' for create a clone of slang::DiagnosticBuffer.

- llvm::Linker::LinkModules comes with one additional parameter.
Passing llvm::Linker::DestroySource should be equivalent to
the old code we were using.

- slang::Slang is now derived from clang::ModuleLoader and implemented
loadModule pure virtual method (though we will always return NULL.)

- clang::Preprocessor is taking one additional parameter for
clang::ModuleLoader.

- clang::Diagnostic has been changed. A lot of the method has been
moved to clang::DiagnosticsEngine, and we can no longer 'Report' a
diagnostic from clang::Diagnostic. We have to use
clang::DiagnosticEngine instead.

- llvm::setCodeModel has been removed.

Change-Id: I1f2a4cbeaf61a8ed1d0d635a5a0e1baa90d99d07
/frameworks/compile/slang/slang_rs_context.h
4a4bf92a8add68629a7e6e59ef81c3c3fe603a75 19-Aug-2011 Stephen Hines <srhines@google.com> Don't generate forEach() on pre-ICS target SDK.

Change-Id: I794587d1f79a08aca8cc4f7f20f4012050ab0501
/frameworks/compile/slang/slang_rs_context.h
593a894650e81be54173106ec266f0311cebebd3 11-May-2011 Stephen Hines <srhines@google.com> Simple support for reflecting rsForEach().

BUG=4203264

Change-Id: Idf722ee3fb07c8e46ac0c4628e753ff2fa6840cf
/frameworks/compile/slang/slang_rs_context.h
be27482cdeaf08576bc39b72a15d35d13014a636 16-Feb-2011 Logan <tzuhsiang.chien@gmail.com> Apply changes to migrate to LLVM Mar 6th 2011.

- API for name mangling. (Changing from non-public APIs to the
public one)

- API changes for clang::Diagnostic::getNumErrors ->
clang::Diagnostic::hasErrorOccurred

- API changes for clang::CharUnits and Quantity type.

- API changes libLLVMSystem -> libLLVMSupport.

- Change clang::Token::eom -> clang::Token::eod.

- Remove SourceRange parameter for DeclRefExpr::Create and
MemberExpr::Create.

- Add const qualifier for several unsafe type cast.
/frameworks/compile/slang/slang_rs_context.h
f2174cfd6a556b51aadf2b8765e50df080e8f18e 10-Feb-2011 Stephen Hines <srhines@google.com> Handle struct reference counting.

Bug: 3092382

Change-Id: I215bd8245324ec2b7752a7c40817e3e5cd1c0e00
/frameworks/compile/slang/slang_rs_context.h
3fa286b4c2f110c6be2bbfac9c715bb1ec880338 10-Feb-2011 Shih-wei Liao <sliao@google.com> Fix b/3427124. Adding the overloadable invokable feature. Reflect that type of invokables to Java.

1. Add __attribute__((overloadable)) support on the rs side for invokables. Requested by the Books team.
2. Add name mangling support and MangleContext.
3. Add the test P_overload.
4. This CL only affects Honeycomb SDK. It doesn't affect Final ROM.
5. This CL should go in at the same time with another CL on external/clang.git (to be done now.)

Change-Id: I9e743894a97626d8c27b0dd9c0a51cef1175d2ab
/frameworks/compile/slang/slang_rs_context.h
4cc67fce91f43215d61b2695746eab102a3db516 01-Feb-2011 Stephen Hines <srhines@google.com> Support for generating .java dependencies for RS.

This updates the -MD option to also emit .java targets to the dependency
information placed in our foo.d file.

Change-Id: I189cf6302bc1cbd6201487743a37dced87b5c5eb
/frameworks/compile/slang/slang_rs_context.h
3fd0a94a5cf1656569b1aea07043cc63939dcb46 18-Jan-2011 Stephen Hines <srhines@google.com> Refactor pragma handling (pass everything to LLVM)

Change-Id: Id09d4934af06f0880cd867456218602ce9a9e2de
/frameworks/compile/slang/slang_rs_context.h
96ab06cbe40b2d73c0eb614f814cd761d8962b6b 06-Jan-2011 Stephen Hines <srhines@google.com> Add support for the version pragma.

Change-Id: I62707dcb432093ba50db95e527d55ff781be22a9
/frameworks/compile/slang/slang_rs_context.h
2ef9bc0cfbca2152d972c0975005f8c897c2a42c 14-Dec-2010 Stephen Hines <srhines@google.com> Convert fprintf -> diagnostic messages.

Proper support/test for multi-level pointer types.
Proper diagnostics for bit fields, which are currently
not supported.

Bug: 2954471
Change-Id: I347f14f02fcf7fbef9f6e5dde5b4e948391a0691
/frameworks/compile/slang/slang_rs_context.h
c808a99831115928b4648f4c8b86dc682594217a 30-Nov-2010 Stephen Hines <srhines@google.com> Add prelim error check for pointers in structs.

Bug: 2954471
Change-Id: Icacf67dd3eeb3dda67e1eae3d54e11f7efa6c680
/frameworks/compile/slang/slang_rs_context.h
2d2512c5703bb238b7935ab5228beff6563f2f94 19-Nov-2010 Stephen Hines <srhines@google.com> Remove legacy code for export func/var pragmas.

Change-Id: I62e0768b11e4192ffde8ed26c0160d62e8f09714
/frameworks/compile/slang/slang_rs_context.h
e639eb5caa2c386b4a60659a4929e8a6141a2cbe 09-Nov-2010 Stephen Hines <srhines@google.com> Improve code style.

Change-Id: I26e043849bce2a4b41ae132fbe0c882f4a6f112f
/frameworks/compile/slang/slang_rs_context.h
9e5b503349719144f63ccb7c62ee9c291a7d83b8 03-Nov-2010 Stephen Hines <srhines@google.com> Use Clang object references instead of pointers.

Change-Id: Ief0e78859572761d880eaad9ae854f14e65da2c4
/frameworks/compile/slang/slang_rs_context.h
641558f02fe6ce0ee3ae5076eb366c25e2ad5903 12-Oct-2010 Zonr Chang <zonr@google.com> Implement one-definition-rule (ODR) feature.

When compiling multiple RS files, we say two RS files A and B break ODR
iff:

1. They have at least one common struct named [S] and [S] will be reflected
to ScriptField_[S].java, and
2. [S] defined in A is not *exactly the same* (number of fields, field
type and field name) as the one defined in B.

This CL detects such error.
/frameworks/compile/slang/slang_rs_context.h
c383a500aa59423264811be3874461bf8adbfea0 11-Oct-2010 Zonr Chang <zonr@google.com> Prepend legal announcement in all files.

Release libslang/llvm-rs-cc/llvm-rs-link under Apache 2.0 license.
/frameworks/compile/slang/slang_rs_context.h
b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ec 10-Oct-2010 Shih-wei Liao <sliao@google.com> Revert "Revert "New implementation of llvm-rs-cc (replacement of slang_driver).""

This reverts commit a6d60672695f1438a63acdbf85eae7f97ce2b50d.
/frameworks/compile/slang/slang_rs_context.h
a6d60672695f1438a63acdbf85eae7f97ce2b50d 10-Oct-2010 Shih-wei Liao <sliao@google.com> Revert "New implementation of llvm-rs-cc (replacement of slang_driver)."

This reverts commit 6791df284557f4173a9715b3634f4f4901a6bb8a.
/frameworks/compile/slang/slang_rs_context.h
6791df284557f4173a9715b3634f4f4901a6bb8a 09-Oct-2010 Shih-wei Liao <sliao@google.com> New implementation of llvm-rs-cc (replacement of slang_driver).

Change-Id: I1b8b6cf3dad8ef8fe2f4d24d4df604099f45ff37
/frameworks/compile/slang/slang_rs_context.h
a41ce1d98094da84643995d40d71c529905123fc 05-Oct-2010 Zonr Chang <zonr@google.com> Fix memory leak of RSExport* object create in processExport(). Now, they will
properly be freed after their associated RSContext was destroyed.
/frameworks/compile/slang/slang_rs_context.h
92b344a51c6c4934e96882bd401e4b13d6d03db8 05-Oct-2010 Zonr Chang <zonr@google.com> Create RSExportMatrixType which is a subclass of RSExportType
to support rs_matrix{2x2,3x3,4x4} explicitly.
/frameworks/compile/slang/slang_rs_context.h
6315f76e3cc6ff2d012d1183a0b030d4ff0dc808 05-Oct-2010 zonr <zonr@google.com> More coding style fixing to improve the readability. No actual semantics
changed. This also makes cpplint happy.
/frameworks/compile/slang/slang_rs_context.h