History log of /frameworks/compile/slang/slang_rs_object_ref_count.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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_object_ref_count.cpp
3f175af8a0644fb5fc53aa90e01c24f75855c5f7 17-Sep-2011 Stephen Hines <srhines@google.com> Fix .rs.dtor scoping bug.

BUG=5267595

This change makes sure to scope any helper variables (like rsIntIter) to the
enclosing function (and not make them global). Prior to this change, if an
array iterator was created, it would be marked as a global symbol. The
libbcc library then sometimes removed this global as it was not able to
determine that it was actually used (.rs.dtor is not guaranteed to be called).
A fix should be made to libbcc as well, but the proper fix for llvm-rs-cc is
to scope any helper variable declarations to the calling function.

Change-Id: Ia46654cb0a114f6f5495e32ad1508d7d01e2084b
/frameworks/compile/slang/slang_rs_object_ref_count.cpp
688e64b2d56e4218c680b9d6523c5de672f55757 24-Aug-2011 Stephen Hines <srhines@google.com> Generate .rs.dtor() to clean up globals.

BUG=5186750

Change-Id: I9d1996153fe774a5ce95646a8a2e07aa6e7fa85f
/frameworks/compile/slang/slang_rs_object_ref_count.cpp
a883ce325281796dc7cc8fcf973a7ccd47a9a17e 12-Aug-2011 Stephen Hines <srhines@google.com> Fix refcount issue with locals declared in middle of compound statements.

Declaring a local variable in the middle of a compound statement is perfectly
legal in Renderscript (C99). Unfortunately, the refcount implementation was
mistakenly inserting destructors prior to the declaration, which is incorrect.
This change only allows destructors to be placed lexically after the local
variable has been declared.

Change-Id: Ieb8d5e2eac448719aa9266f7ba94437dad73ec0b
/frameworks/compile/slang/slang_rs_object_ref_count.cpp
ab992e59a36a18df49bf4878968ef0598299afd3 20-Jul-2011 Logan Chien <loganchien@google.com> Apply changes to migrate to llvm upstream r135568.

- Remove the const qualifier of llvm::Type and
llvm::PointerType due to the API change.

- Update the relocation model setup code, since
llvm::TargetMachine changes the API.

- Qualify dyn_cast with llvm namespace.

Change-Id: I4820fb86effc3a62569e19a6a8753ba9e960f6b2
/frameworks/compile/slang/slang_rs_object_ref_count.cpp
78e69cb06b9b0683b2ac9dcafde87b867690ef2f 23-Apr-2011 Stephen Hines <srhines@google.com> Forbid RS objects from being contained in unions.

This change also refactors variable validation in general for RS.
BUG=4283858

Change-Id: I4527986a07c9cf2babdc5b855cdb1f00e3535d5b
/frameworks/compile/slang/slang_rs_object_ref_count.cpp
d0b5edd02be5f09c1d8d211f4a06b031a7b66510 19-Apr-2011 Stephen Hines <srhines@google.com> Disallow union copies that contain RS object types

This also cleans up RSObjectRefCount's usage of ASTContext a bit.

BUG=4283858

Change-Id: I9ca61e27fc5d6eb1befc2da4fe2d157f5936a56f
/frameworks/compile/slang/slang_rs_object_ref_count.cpp
cc887ba8fe42cca706caae636932ae6a61a30ed2 20-Apr-2011 Shih-wei Liao <sliao@google.com> Apply changes to migrate to upstream as of March 18th, 2011 from logn.

- VarDecl requires StartLoc. We can get StartLoc by using
DeclaratorDecl::getInnerLocStart().

- FieldDecl and RecordDecl require StartLoc for Create function.
We can use clang::SourceLocation() in this case.

Change-Id: Ifc82678d10ad948484df1022df2bfc3e94e360cd
/frameworks/compile/slang/slang_rs_object_ref_count.cpp
292e00a0259ac28cac1055cb6077cf6fc7c6743c 19-Mar-2011 Stephen Hines <srhines@google.com> Add support for RSASTReplace for ref-counting.

BUG=3092382

Change-Id: Ia17d40753952e4a021b39549a082cc4b3f20916c
/frameworks/compile/slang/slang_rs_object_ref_count.cpp
9be9360d8e02b52ed669afbd69f9becb575c3f0d 18-Mar-2011 Alex Sakhartchouk <alexst@google.com> Re-enable warnings as errors in Slang.

Change-Id: Id926a089c6e8c4ae5d11ce692105bc6d383636a9
/frameworks/compile/slang/slang_rs_object_ref_count.cpp
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_object_ref_count.cpp
832429f6bf4592cfc2ce58f2462f1e8ecdbaaf52 26-Feb-2011 Stephen Hines <srhines@google.com> Add proper line info to rsSetObject diagnostic.

Change-Id: Ib0281b66541f4c4fe3cd7d6e9a2490471481df1c
/frameworks/compile/slang/slang_rs_object_ref_count.cpp
a0611e66bec148b176404cf6afe4c9ec9b960414 12-Feb-2011 Stephen Hines <srhines@google.com> Initialize structs.

Bug: 3092382
Change-Id: I4b9596c686205bbbc38505ed5dd33d1b968d2fd6
/frameworks/compile/slang/slang_rs_object_ref_count.cpp
2bb67db8364162b30e6920baddf6c2e890b3ce79 11-Feb-2011 Stephen Hines <srhines@google.com> Replace struct assignments with rsSetObject calls.

Bug: 3092382
Change-Id: I63f16a7dac02eb348b87a6225944d48faa615899
/frameworks/compile/slang/slang_rs_object_ref_count.cpp
f2174cfd6a556b51aadf2b8765e50df080e8f18e 10-Feb-2011 Stephen Hines <srhines@google.com> Handle struct reference counting.

Bug: 3092382

Change-Id: I215bd8245324ec2b7752a7c40817e3e5cd1c0e00
/frameworks/compile/slang/slang_rs_object_ref_count.cpp
6e6578a360497f78a181e63d7783422a9c9bfb15 08-Feb-2011 Stephen Hines <srhines@google.com> Add support for assertions in llvm-rs-cc.

Bug: 3430674
Change-Id: I3400238652449cde84275cc2a770f405332d9544
/frameworks/compile/slang/slang_rs_object_ref_count.cpp
feaca06fcb0772e9e972a0d61b17259fc5124d50 04-Feb-2011 Stephen Hines <srhines@google.com> Zero-initialize structs containing RS objects.

Bug: 3092382
Change-Id: I2fd80777db7ed52d8c0a1a598567399e08ce06a2
/frameworks/compile/slang/slang_rs_object_ref_count.cpp
e79fb5ec220e20bd04cd6f6059cbc9748181ce21 02-Feb-2011 Stephen Hines <srhines@google.com> Handle local RS object initialization properly.

This change properly reference counts local RS object types when they are
statically initialized.

Change-Id: Ib21e8715cf63d2bcba01d332b592516262efb41e
Bug: 3092382
/frameworks/compile/slang/slang_rs_object_ref_count.cpp
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_object_ref_count.cpp
c202d2d64fe0172bcc3999b515a14d3d88532420 26-Jan-2011 Stephen Hines <srhines@google.com> Replace RS object assignments with rsSetObject().

Reference counting works now for all scalar/array types. It still needs to be
modified slightly to support structs, initializers and break/continue.

Change-Id: I6e531df86508f261b784932fca930bc666cb0084
b: 3092382
/frameworks/compile/slang/slang_rs_object_ref_count.cpp
a858cb6f3d9223d65bf73e1230c6324ded4095f6 17-Jan-2011 Stephen Hines <srhines@google.com> Fix variable names for Clang-based compilation.

Change-Id: I69b28110e9fda63abb3770da7a1127af4e1f2963
/frameworks/compile/slang/slang_rs_object_ref_count.cpp
9d2c0fa6490e09b3ff5603796bce42d97788e5c8 05-Jan-2011 Stephen Hines <srhines@google.com> Fix style and a small typo.

Change-Id: I3525f400feecd11be9cd90a142434f6eb89d965a
/frameworks/compile/slang/slang_rs_object_ref_count.cpp
03981a308201b9123512297c8b9562a0f29bdf31 15-Dec-2010 Stephen Hines <srhines@google.com> Support basic array destructors for RS types.

Bug: 3092382
Change-Id: I8f39672eb9ce4bae6aeb91f186f72def083aa6c1
/frameworks/compile/slang/slang_rs_object_ref_count.cpp
d5f9d6c8b6944dfc30d4fea68479c2fcc250a62c 16-Dec-2010 Stephen Hines <srhines@google.com> Convert from use of Expr -> Stmt.

This will facilitate rs* array destructors (which use CompoundStmt).

Bug: 3092382
Change-Id: I17d86ccedfb6f40c49a491a80dbced55ed917c8f
/frameworks/compile/slang/slang_rs_object_ref_count.cpp
2d095046682d9c372e8c4f102cd1b340ec14beba 13-Nov-2010 Stephen Hines <srhines@google.com> Properly zero-initialize local arrays of RS types.

Change-Id: I55b02f5d4e26a8b82dc96bcc2a524bb1380e0313
/frameworks/compile/slang/slang_rs_object_ref_count.cpp
4464d825c11349068f2917f9ebee86b721423f3c 12-Nov-2010 Stephen Hines <srhines@google.com> Support local destructor for many return stmts.

This allows us to insert destructor calls to rsClearObject() for all local
variables at the end of their scope (closing curly brace), as well as before
any enclosed return statement. Note that proper support for a local destructor
with break/continue is still unimplemented.

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

Change-Id: I26e043849bce2a4b41ae132fbe0c882f4a6f112f
/frameworks/compile/slang/slang_rs_object_ref_count.cpp
1bdd4978caabcdc9489bdcb7f1cd6087340699e8 09-Nov-2010 Stephen Hines <srhines@google.com> Add simple destructors to local RS objects.

Change-Id: Ie4aa964840b25c3aa8eed257d4ff0a1e4f6ef22a
/frameworks/compile/slang/slang_rs_object_ref_count.cpp
4b32ffdfc1ac766f8932e7effbcdf7484e804a8e 06-Nov-2010 Stephen Hines <srhines@google.com> Factor out RSObjectRefCount for destructor work.

Change-Id: Ibdacc9e9f15401680bc54747664e187a05f62e25
/frameworks/compile/slang/slang_rs_object_ref_count.cpp