2d7f3f95947889e1ea48b0e925c5929af4fbf6b4 |
|
10-Mar-2016 |
David Gross <dgross@google.com> |
Flesh out reduction support for half data types. Also extended test cases for more thorough data type coverage (including non-half data types). Details: - Bug fixes. - Result type can be vector of half or array of vector of half. - Full reflection support for [array of] [vector of] half input or result. Bug: 27299169 Change-Id: Id674ae2ea2cce6215f152fd62bb5b124c44cfcd3
/frameworks/compile/slang/slang_rs_export_type.cpp
|
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_export_type.cpp
|
2907b2a2768bc32f75867513528c8d7419e44780 |
|
22-Dec-2015 |
David Gross <dgross@google.com> |
Minor miscellaneous cleanup to type export facility. (This is needed by general reduction.) DETAILS: Make certain functions const-clean. TypeExportable() needs to recognize that it cannot export function types, rather than asserting if it sees them. Add comments to gReflectionTypes[] for readability. When attempting RSExportType::Create(), allow a variable "containing" the type (not "of" the type) to be specified. This is important because certain error message reporting absolutely requires the variable to be known -- such as when ConstantArrayTypeExportableHelper() wants to report something like "multidimensional arrays cannot be exported". Change-Id: Iff49effdf7cb71184af5846217fde5a493ce61e9
/frameworks/compile/slang/slang_rs_export_type.cpp
|
048eb8a363270f088ee8e6879bc6620cfe97392d |
|
17-Dec-2015 |
David Gross <dgross@google.com> |
Merge "Cleanup: RSExportType::getSize() has inconsistent semantics."
|
657d20afa621219c1eed72178d1325fd4409f458 |
|
17-Dec-2015 |
David Gross <dgross@google.com> |
Cleanup: RSExportType::getSize() has inconsistent semantics. This is a virtual method with different semantics for different classes in the type hierarchy: RSExportPrimitiveType: Returns number of bytes occupied by type RSExportPointerType: Returns 1 RSExportVectorType: Returns number of bytes occupied by one element (i.e., of the component type) RSExportMatrixType: Returns 1 RSExportConstantArrayType: Returns the number of array elements RSExportRecordType: Returns 1 The fix is to replace this method with methods whose names indicate their actual semantics. Bug: 26235282 Change-Id: Ic7c5cfd1b73a0b6e7e6fd4ed0495de3877adf0e8
/frameworks/compile/slang/slang_rs_export_type.cpp
|
13fad85b3c99a37c17d8acfec72f46b8ee64e912 |
|
24-Nov-2015 |
Stephen Hines <srhines@google.com> |
Void pointers can't be exported. Bug: http://b/25853842 Change-Id: I5b11fd14b6cd57a06522e921c62ed033488aa08e
/frameworks/compile/slang/slang_rs_export_type.cpp
|
5f3da4bf52b327dbf5b6a33f340196f43d542159 |
|
21-Oct-2015 |
Nicolas Collin <nicolas.collin@imgtec.com> |
Extend C++ reflection layer constant arrays and fix matrix types. Correct the naming of the matrix types to use the correct case and extend support for constant array types. Add two related tests P_array_cpp and P_matrix_cpp. Change-Id: Ibceca26b01201fd4d1c85a3921ed2918fc458d59
/frameworks/compile/slang/slang_rs_export_type.cpp
|
7682b663581dd8f67b422f6f2f31692ab2f870e3 |
|
31-Jul-2015 |
Matt Wala <wala@google.com> |
Add Java reflection for reduce-style kernels in slang. Bug: 22631253 Change-Id: I43de647a45c02d51cb256d206b64e159daf13864
/frameworks/compile/slang/slang_rs_export_type.cpp
|
33ea573b6df7b7fe48d2b68d4c479f33082e3c0d |
|
17-Jun-2015 |
Stephen Hines <srhines@google.com> |
Fix potential nullptr dereference. Bug: 21597073 We must use dyn_cast_or_null<> instead of dyn_cast<>, because we aren't guaranteed to always be passed a NamedDecl. Change-Id: I7b00eacc639a688f8e2fdbeea80b87a01372e232
/frameworks/compile/slang/slang_rs_export_type.cpp
|
ab94bccca64c9b126cbd1b732aa5e681d8639b99 |
|
12-Jun-2015 |
Stephen Hines <srhines@google.com> |
Move the error for pointers in structures earlier in the compile. Bug: 21597073 This fixes an issue where a function argument is not checked for compatibility until the reflected code generation (at which point the message is far more cryptic). We do this by checking parameters for externally-visible functions and externally-visible globals in our ValidateType() routine. Change-Id: I5ab9db1a11ed0e395c7623f1c9997632da057269
/frameworks/compile/slang/slang_rs_export_type.cpp
|
e4dd17d7b2a292a600756da7680beecd78f74033 |
|
07-Apr-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Add Half support in slang Bug: 7342860 - Enable NativeHalfType and HalfArgsAndReturns for Langopts for API >= 23 - Add half and its vector variants to the list of reflected types - Use addF16 as the FieldPacker method for setting Float16 values. - Add tests that HalfArgumentsAndReturns is not enabled on API < 23. This should serve as an indirect test that NativeHalfType is also disabled. Change-Id: I164ff6f8a3ed206326b904afa5430230b97d41c8
/frameworks/compile/slang/slang_rs_export_type.cpp
|
3eb819ad8beec566a73b288204f9b75c2bb1d4e6 |
|
25-Nov-2014 |
Stephen Hines <srhines@google.com> |
Update slang for LLVM rebase to r222494. Change-Id: I19e441e193637ddb39b3afb3bc95579755ac0a90
/frameworks/compile/slang/slang_rs_export_type.cpp
|
fe41c8da501e5a742f1aa6fade2592b4b80bca3b |
|
06-Sep-2014 |
Stephen Hines <srhines@google.com> |
am 340b5550: Fix dangling reference to a local std::string. * commit '340b5550cf63b6beae3b12c2e91377bce7704c34': Fix dangling reference to a local std::string.
|
340b5550cf63b6beae3b12c2e91377bce7704c34 |
|
05-Sep-2014 |
Stephen Hines <srhines@google.com> |
Fix dangling reference to a local std::string. Bug: 16031597 llvm::StringRefs are just lightweight wrappers around strings, and don't retain/own any of the storage for the actual underlying string. This causes lifetime issues if any local std::string objects that are then wrapped by llvm::StringRef ever escape. When the local object goes out of scope, we are left with a dangling reference. Valgrind helped us to catch this happening for constant array exports, which only ever use a statically named "<ConstantArray>" reference, so we can simply replace it with static C string (wrapped by llvm::StringRef). Change-Id: I0a9fae2687bc9f53d091d56cf15f99bb75ca46e4
/frameworks/compile/slang/slang_rs_export_type.cpp
|
a2324a90a6ea0522988f0753b6372249fa5f43db |
|
22-Aug-2014 |
Stephen Hines <srhines@google.com> |
am 03ec6ed2: am 10dc6f31: Merge "Replace the NULL macro with nullptr literal." * commit '03ec6ed2ecb9adf0cf125b0fa6c96844f093d4d0': Replace the NULL macro with nullptr literal.
|
5abbe0e9ca2508260b627ffef2bf01e2554e8357 |
|
13-Aug-2014 |
Chris Wailes <chriswailes@google.com> |
Replace the NULL macro with nullptr literal. Change-Id: I33609969cd0d7aa55eaa83fb2c65f5faa6d55fa0
/frameworks/compile/slang/slang_rs_export_type.cpp
|
e46265d27df092fbd911075403ec04d9c7ef8de1 |
|
18-Aug-2014 |
Tim Murray <timmurray@google.com> |
Fix unsigned long reflection with slang. bug 16846318 Change-Id: If6c207b757a716029aae58a6b12601e16c296438
/frameworks/compile/slang/slang_rs_export_type.cpp
|
a6bce2db689b1ad086860ed3f5845a00489e3a49 |
|
05-Aug-2014 |
Tim Murray <timmurray@google.com> |
Fix two bugs for 64-bit slang. The first is to handle structs in invoke parameter lists by assuming struct and not struct*. The second is to not cache LLVM types for RS object types because it breaks on 64-bit compilation. Cherry-pick of d56a92fc2b1d417ce53d9550548fe1661fa37d40 Change-Id: I26d7dd7395ef0146eb84d43cbec5cf8d49d09697
/frameworks/compile/slang/slang_rs_export_type.cpp
|
d56a92fc2b1d417ce53d9550548fe1661fa37d40 |
|
05-Aug-2014 |
Tim Murray <timmurray@google.com> |
Fix two bugs for 64-bit slang. The first is to handle structs in invoke parameter lists by assuming struct and not struct*. The second is to not cache LLVM types for RS object types because it breaks on 64-bit compilation. Change-Id: I26d7dd7395ef0146eb84d43cbec5cf8d49d09697
/frameworks/compile/slang/slang_rs_export_type.cpp
|
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_export_type.cpp
|
b095e05fef8f0230ab42eaed7a06c3b2d698189a |
|
17-May-2014 |
Jean-Luc Brouillet <jeanluc@google.com> |
Replace macros with equivalent inline functions. Change-Id: Ibb9db8ffe20513ca1ec56403c632e10e82a4fe86
/frameworks/compile/slang/slang_rs_export_type.cpp
|
01321838204e213b314f7d6fa5bfc1f94dbf347e |
|
23-May-2014 |
Jean-Luc Brouillet <jeanluc@google.com> |
Remove obsolete comments Change-Id: I30ca59ef860fbc976b8fe6bc21cbd50146b19a6a
/frameworks/compile/slang/slang_rs_export_type.cpp
|
eca0534a31b6185d6ab758f5e97acd7a4cb21e8e |
|
15-May-2014 |
Jean-Luc Brouillet <jeanluc@google.com> |
Add details to the TODO, simplify dummy names Change-Id: I37451d8217c3d61ea76db377785045edb2d5c4b0
/frameworks/compile/slang/slang_rs_export_type.cpp
|
c95381a2c3b6e9117901eef0687e861e4d533bfe |
|
15-May-2014 |
Jean-Luc Brouillet <jeanluc@google.com> |
Make virtual getTypeStoreSize and getTypeAllocSize Change-Id: I898d7b21d7856559e75d80c6147fc4b4229c75dd
/frameworks/compile/slang/slang_rs_export_type.cpp
|
cec9b65aa890dea58e39951900ae13efb8d11703 |
|
15-May-2014 |
Jean-Luc Brouillet <jeanluc@google.com> |
Move DataType enum out of RSExportPrimitiveDataType. It applies to more than just Primitives and should not have been in there. Change-Id: If2b6a9d2a87a05176a74bcf7212f65cf1cdf67fe
/frameworks/compile/slang/slang_rs_export_type.cpp
|
2354442e34a47e27dad019df96062c7f620e853a |
|
15-May-2014 |
Jean-Luc Brouillet <jeanluc@google.com> |
Remove obsolete unused code Change-Id: Iead651dc9e0321d36bb653bc178ac1a9af6d34f9
/frameworks/compile/slang/slang_rs_export_type.cpp
|
474655a402e70cb329e1bcd4ebbe00bdc5be4206 |
|
29-Apr-2014 |
Jean-Luc Brouillet <jeanluc@google.com> |
Remove rs_spec_gen and associated macros. Also, enable new data types to be defined, out of order. More CLs are coming to continue refactoring the code and removing duplication. modified: Android.mk deleted: RSSpec.mk modified: slang_rs_export_element.cpp modified: slang_rs_export_type.cpp modified: slang_rs_export_type.h modified: slang_rs_metadata_spec_encoder.cpp modified: slang_rs_object_ref_count.cpp modified: slang_rs_object_ref_count.h deleted: slang_rs_spec_table.cpp modified: slang_rs_type_spec.h Change-Id: I3eb3e4357bbe9af26011df714795de8e495fec68
/frameworks/compile/slang/slang_rs_export_type.cpp
|
ee4016d1247d3fbe50822de279d3da273d8aef4c |
|
11-Apr-2014 |
Tim Murray <timmurray@google.com> |
Update Slang for Clang/LLVM 3.5a. Change-Id: Icd59efa1197098076555c505c31939866e504a83
/frameworks/compile/slang/slang_rs_export_type.cpp
|
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_export_type.cpp
|
48d893dc7794b3cfb74f35955ca763ee4170f9ad |
|
07-Dec-2013 |
Stephen Hines <srhines@google.com> |
Support reflection of enums. Prior versions would just crash when attempting to reflect an enum type. This patch maps enums to integers for reflection in Java. Change-Id: I5b278d670564ceb606a6b96804f76a798bedc89c
/frameworks/compile/slang/slang_rs_export_type.cpp
|
8de1922e037612f2521acac2f4c4289a9f71450d |
|
24-Aug-2013 |
Stephen Hines <srhines@google.com> |
Handle implicit array dimensions properly. Bug: 10461673 Change-Id: I681f918d89983522dd162d7f4606ed5811ab2560
/frameworks/compile/slang/slang_rs_export_type.cpp
|
44f10063c2c08dab103a44cded0c3a288d65d43b |
|
13-Jun-2013 |
Stephen Hines <srhines@google.com> |
Update slang for LLVM merge to r183849. s/getLinkage/getFormalLinkage Path.h -> PathV1.h Fix test output diagnostics related to pragma location Change-Id: I7ab5372e848494ac40f1284eb6f9accc18092ad7
/frameworks/compile/slang/slang_rs_export_type.cpp
|
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_export_type.cpp
|
b0fabe574945bfa85e688e77e9dcb5341fe08840 |
|
08-Jan-2013 |
Stephen Hines <srhines@google.com> |
Fix rs_matrix destructor issue. Bug: 7949301 This change fixes the destructor issue for rs_matrix types. We need to skip creating a destructor if there are no reference-counted RS object types in the struct. We still need to zero-init all RS object types (ref-counted or not, as is the case for rs_matrix*). I also fix another issue where a missing struct definition could cause an early parser crash (i.e. before the standard clang errors kick in and notice that you are using an undefined struct). Change-Id: If2009d96f35a8cb693431aaeae3cb4b5642695fa
/frameworks/compile/slang/slang_rs_export_type.cpp
|
fdae63e8142f56521813f59e0c506ed3a1636021 |
|
28-Nov-2012 |
Stephen Hines <srhines@google.com> |
Fix overly strict check for float3 in structures. We were accidentally being too strict and generating an error for float3 in structures, even when they were not exported. This change restores the original functionality. Change-Id: I8f0b5881d670c37a23ca2efc575440a083befcbe
/frameworks/compile/slang/slang_rs_export_type.cpp
|
11274a7324b478ec13e1d10a1b81350b34a65ab1 |
|
27-Sep-2012 |
Stephen Hines <srhines@google.com> |
Validate FS (and RS) ASTs. This change adds a new RSCheckAST class that is used to handle validation of the final AST. The checks include existing RS checks (for accepted types) and new checks for Filterscript (like disallowing pointers, unions and > 32 bit types completely). The refactoring also fixes a subtle union bug that existed in prior versions of llvm-rs-cc. We also add an implicit pragma for "rs_fp_relaxed" by default on Filterscript. Bug: 7166741 Change-Id: Ia077783b4caba0bbd89df2ab3827e9f4d1009eea
/frameworks/compile/slang/slang_rs_export_type.cpp
|
b13b85e31ac978254cb1ed7653f149f8a3eef460 |
|
01-Sep-2012 |
Stephen Hines <srhines@google.com> |
Structs containing vectors of dimension 3 cannot be exported before ICS. BUG=5609007 BUG=34600 (http://code.google.com/p/android/issues/detail?id=34600) We forbid the use of things like float3 in exported structures for older target APIs, because it results in a runtime exception every time. This is due to not padding the elements appropriately on the driver-side, while the LLVM representation is padded. Change-Id: I297af3418e733f0ab3996999be4a8f746f24da40
/frameworks/compile/slang/slang_rs_export_type.cpp
|
43730fe3c839af391efe6bdf56b0479860121924 |
|
03-Aug-2012 |
Shih-wei Liao <sliao@google.com> |
Apply changes to migrate to CLANG-160673-20120724. Change-Id: I666df2ff91532318883dd48ea1249178b2ebda81
/frameworks/compile/slang/slang_rs_export_type.cpp
|
aa82e74b08fcdc2e4e6c1f6796699566b331b656 |
|
11-Apr-2012 |
Stephen Hines <srhines@google.com> |
Multiple levels of pointers cannot be exported. Change-Id: I533d26827fa650a481df65b2e20ac6dbc3559244
/frameworks/compile/slang/slang_rs_export_type.cpp
|
d5a84f6d49d64738e4bb7c9dea7242e48acad959 |
|
05-Apr-2012 |
Stephen Hines <srhines@google.com> |
Generate an error when exporting RS objects in structs/arrays. BUG=6009244 Note that this error triggers when the following conditions are met: 1) We are running with a pre-JB target API. 2) We detect an RS object type inside another composite (struct/array) type. 3) The variable is going to be exported (i.e. non-static). 4) The variable must also be of a non-pointer type, since pointers only reflect a bind() routine that does not use FieldPacker. Change-Id: Id7ca47a4affed2a8774d1c9644e11d4ab02ff27f
/frameworks/compile/slang/slang_rs_export_type.cpp
|
5bfec8dd08b3bde9ba3b331e2115210b0e910eae |
|
04-Apr-2012 |
Stephen Hines <srhines@google.com> |
Revert "Generate an error for exporting rs_objects in structs/arrays." This reverts commit f5abb503e67587ad89bcec99ed925d4a75448dcd
/frameworks/compile/slang/slang_rs_export_type.cpp
|
f5abb503e67587ad89bcec99ed925d4a75448dcd |
|
04-Apr-2012 |
Stephen Hines <srhines@google.com> |
Generate an error for exporting rs_objects in structs/arrays. BUG=6009244 This is only an error in pre-JB builds that can't support proper ref-counting within a FieldPacker. Change-Id: Ib96b5ec2befa48ec44890391e518ad557e9a9117
/frameworks/compile/slang/slang_rs_export_type.cpp
|
1b6a0883cd6984e11e59b0c847fb334df1f41afc |
|
12-Mar-2012 |
Jason Sams <jsams@google.com> |
start cpp reflection BUG=5972398 Change-Id: Iede58fde457d16293345e741f80109f89e653ad5
/frameworks/compile/slang/slang_rs_export_type.cpp
|
2b8fb64be3047df940a219872b331eb11de2758d |
|
09-Mar-2012 |
Stephen Hines <srhines@google.com> |
Removing DataKind completely from llvm-rs-cc. BUG=5972398 Change-Id: I76fdb98fa60bd70468d088f9034acf00e443d6c8
/frameworks/compile/slang/slang_rs_export_type.cpp
|
47aca4e016665d333fdcd01a9cef16c13d7836a8 |
|
09-Mar-2012 |
Stephen Hines <srhines@google.com> |
More cleanup for reflection code. BUG=5972398 1) Remove non-USER export kinds. 2) Removing some DataKind references. 3) More name refactoring to use getRSReflectionType(). Change-Id: I008aeb37820df37acea0db9300ff9594a40cb086
/frameworks/compile/slang/slang_rs_export_type.cpp
|
fdd1ba13a69501a1b91fdc9be31413215d467497 |
|
09-Mar-2012 |
Stephen Hines <srhines@google.com> |
Add getRSReflectionType to facilitate new C++ code. BUG=5972398 Change-Id: I5d1efdbde6eb0b7bb139bdf672a056a4aa5f26e1
/frameworks/compile/slang/slang_rs_export_type.cpp
|
e67239de8d94975e7e2216ee6860ae2e6cb8b15a |
|
25-Feb-2012 |
Stephen Hines <srhines@google.com> |
Style violation cleanup. Change-Id: Idb127f2fd6e637039454f47299360aec5a4edfe8
/frameworks/compile/slang/slang_rs_export_type.cpp
|
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_export_type.cpp
|
b69aa6557572c9ca91c46add3016962af0c993e7 |
|
22-Jul-2011 |
Stephen Hines <srhines@google.com> |
Fix double delete (from RSExportable during teardown). I should not have attempted to delete the storage in this case. At this point in compilation, we have already appended it to a list of objects to be cleaned up. This results in a mistaken double deletion of the same object, which in turn causes the compiler to seg fault (instead of terminating nicely). Change-Id: I479153e146ef3ed3a5c728494c35d7d2b75fc292
/frameworks/compile/slang/slang_rs_export_type.cpp
|
a67e4451d0d03b4ab7866b64807d95a8399c73a0 |
|
20-Jul-2011 |
Stephen Hines <srhines@google.com> |
Remove ArrayRefs! Change-Id: Ie49fde338437a600384f10c5c7a730691bd0b9a4
/frameworks/compile/slang/slang_rs_export_type.cpp
|
7c67e578c760408dba0c2f64da6e074dd8b56fd9 |
|
19-Jul-2011 |
Shih-wei Liao <sliao@google.com> |
Apply changes to migrate to upstream API. Change-Id: Ibe6060a0d1c42b9725524de7f4cb95551b711717
/frameworks/compile/slang/slang_rs_export_type.cpp
|
18c8829f2bd3cbe0d02471588c6643c0a8c6ca3c |
|
15-Jul-2011 |
Stephen Hines <srhines@google.com> |
Remove all explicit ArrayRef constructors. Related BUG=5028838 Change-Id: I5867f8e5d7097ef349a6d1eda1681b0014ac66c9
/frameworks/compile/slang/slang_rs_export_type.cpp
|
83f0c6261efc8f397fc2509e3862bc6d0eb1e1c4 |
|
21-Jun-2011 |
Shih-wei Liao <sliao@google.com> |
Apply API changes to migrate to CLANG upstream. Change-Id: I376a8a24c238c4e27d37c4f846b93e2f6e38d79c
/frameworks/compile/slang/slang_rs_export_type.cpp
|
5baf6324a97430016026419deaef246ad75430fc |
|
26-Apr-2011 |
Stephen Hines <srhines@google.com> |
Check RS functions (esp. init/root) for validity. Change-Id: Ice65c8b691550e2d11caf621e0f88c822316601b
/frameworks/compile/slang/slang_rs_export_type.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_export_type.cpp
|
7207645766b118ef18081363bb58e39d3e715c2f |
|
20-Apr-2011 |
Shih-wei Liao <sliao@google.com> |
Apply changes to migrate to upstream as of April 8th, 2011 from logan. - Use llvm::StructType::get(LLVMContext &, ArrayRef<const Type *>, bool) to create struct type instead of the ellipsis version. Otherwise, an error about ambigious overload function will occur. Change-Id: I8012d8d9fa10a89f28e858533d427807df7214d5
/frameworks/compile/slang/slang_rs_export_type.cpp
|
68318a14fe6d2debc1b9dce3fe71c42f5916eef5 |
|
11-Mar-2011 |
Shih-wei Liao <sliao@google.com> |
Fix struct size bug. clang/AST/RecordLayout.h now uses CharUnits, which will return the size of a struct using number of bytes as the unit. So we no longer need the division which converts number of bits to number of bytes. RL->getSize().getQuantity() is equivalent to something like sizeof operator. Change-Id: Ib3a4ec67349a275dfb8a73c4eac860395b101a05
/frameworks/compile/slang/slang_rs_export_type.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_export_type.cpp
|
f2174cfd6a556b51aadf2b8765e50df080e8f18e |
|
10-Feb-2011 |
Stephen Hines <srhines@google.com> |
Handle struct reference counting. Bug: 3092382 Change-Id: I215bd8245324ec2b7752a7c40817e3e5cd1c0e00
/frameworks/compile/slang/slang_rs_export_type.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_export_type.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_export_type.cpp
|
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_export_type.cpp
|
24e79f69125cf87fcaa78c04510a831037203eeb |
|
13-Dec-2010 |
Stephen Hines <srhines@google.com> |
Refactor diagnostics for constant array exports. Bug: 3171195 Change-Id: I9062b583b6d5fe7bf6590000b8c745de4e70e7a1
/frameworks/compile/slang/slang_rs_export_type.cpp
|
dd6206bb61bf8df2ed6b643abe8a29c48a315685 |
|
10-Dec-2010 |
Stephen Hines <srhines@google.com> |
Arrays of width 3 vector types cannot be exported. Bug: 3171195 Change-Id: I7deab4ab9c7f8650bce7c597fae2a0dc013f6f71
/frameworks/compile/slang/slang_rs_export_type.cpp
|
a7b7518aa3725d5cff1c1a6319ec7a6b8b244e0e |
|
08-Dec-2010 |
Stephen Hines <srhines@google.com> |
Check exported array elements for proper equality. Bug: 3263454 Change-Id: I84f070bb9bf75fe16aae7195c39c921589bd7350
/frameworks/compile/slang/slang_rs_export_type.cpp
|
cd440ee9b3bdb7985a20b2cd4b0f8229de34f0a9 |
|
06-Dec-2010 |
Stephen Hines <srhines@google.com> |
Forbid unions from being exported by llvm-rs-cc. This also adds a directed F_union test. Bug: 2954471 Change-Id: I094e2a64df1deabb014ce09a42e5f1ef91b563d0
/frameworks/compile/slang/slang_rs_export_type.cpp
|
e5e64432476a44b59c61ded233b1149109c7a7c3 |
|
03-Dec-2010 |
Stephen Hines <srhines@google.com> |
Improved error messages for structs. This change also adds two new tests for anonymous structures (both with and without an associated typedef). I have also updated test.py to support a more verbose output for dumping the actual test commands that are executed. Change-Id: Ic1edc8d4e98c2017611430eb581c335146ccc927
/frameworks/compile/slang/slang_rs_export_type.cpp
|
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_export_type.cpp
|
e639eb5caa2c386b4a60659a4929e8a6141a2cbe |
|
09-Nov-2010 |
Stephen Hines <srhines@google.com> |
Improve code style. Change-Id: I26e043849bce2a4b41ae132fbe0c882f4a6f112f
/frameworks/compile/slang/slang_rs_export_type.cpp
|
9e5b503349719144f63ccb7c62ee9c291a7d83b8 |
|
03-Nov-2010 |
Stephen Hines <srhines@google.com> |
Use Clang object references instead of pointers. Change-Id: Ief0e78859572761d880eaad9ae854f14e65da2c4
/frameworks/compile/slang/slang_rs_export_type.cpp
|
b1771ef128b10c4d4575634828006bfba20b1d9c |
|
22-Oct-2010 |
Zonr Chang <zonr@google.com> |
Exclude rs_matrixNxN from being RS object type. rs_matrix{2x2, 3x3, 4x4} (RS matrix type) is very different than RS object type like rs_allocation. This commit teaches llvm-rs-cc to learn it. NOTE: Currenrly RS matrix type + RS object type = RS specific type.
/frameworks/compile/slang/slang_rs_export_type.cpp
|
a7a828d1ff95c5a8f2327f56a137a2bcb3a9a8fa |
|
21-Oct-2010 |
Zonr Chang <zonr@google.com> |
Add convertToSpecType() for every RSExportType derivative. convertToSpecType() can convert a RSExportType (used by llvm-rs-cc internally for reflection engine) into union RSType (used by external source such as libbcc) defined in the slang_rs_type_spec.h.
/frameworks/compile/slang/slang_rs_export_type.cpp
|
3cd3dd327445fcfa49f0e96cb2de2055bce541e9 |
|
21-Oct-2010 |
Zonr Chang <zonr@google.com> |
Bug fix: support self-referential struct type.
/frameworks/compile/slang/slang_rs_export_type.cpp
|
7363d8430db732c42d392fcab47cf0e3f8eb4515 |
|
21-Oct-2010 |
Zonr Chang <zonr@google.com> |
Revert "Bug fix: support self-referential struct type." This reverts commit af5cef07b48a678a416d554b037e0d6dbe958eb4.
/frameworks/compile/slang/slang_rs_export_type.cpp
|
d6f9fedf1b32c27c0bcaddd13d7b741ab5ad74b8 |
|
21-Oct-2010 |
Zonr Chang <zonr@google.com> |
Bug fix: support self-referential struct type.
/frameworks/compile/slang/slang_rs_export_type.cpp
|
a65ec168e41e3ee9c6e8ac04cde694bbbfc2590a |
|
16-Oct-2010 |
Zonr Chang <zonr@google.com> |
Unify type spec by creating rs-spec-gen. rs-spec-gen (slang_rs_spec_table.cpp) will help llvm-rs-cc to share the RS spec it used across the other projects. This will makes code cleaner and therefore easier to add new spec/synchronize the spec between other project (e.g., libbcc and libRS). This CL is the first part. It eliminated the needs of slang_rs_export_element_support.inc and slang_rs_export_type_support.inc.
/frameworks/compile/slang/slang_rs_export_type.cpp
|
41ebf534161bb67f6207a070c1f6a895dc853408 |
|
13-Oct-2010 |
Zonr Chang <zonr@google.com> |
Remove Slang::TargetDescription. Clang and LLVM never read outside target description to configure the target-dependent information needed during compilation and codegen. They always use their own data layout string for specific, known target.
/frameworks/compile/slang/slang_rs_export_type.cpp
|
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_export_type.cpp
|
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_export_type.cpp
|
a5d2c232d56b04292cb51c8fb343aef990f7970f |
|
12-Oct-2010 |
Stephen Hines <srhines@google.com> |
Support for unsigned long and unsigned long long. Change-Id: I8e3b6a90fa9119f3d98c5f276df2590b7690d22b
/frameworks/compile/slang/slang_rs_export_type.cpp
|
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_export_type.cpp
|
6b6320ad5faee29e0f75fe937e40156746ef9e80 |
|
05-Oct-2010 |
Zonr Chang <zonr@google.com> |
De-virtualize the RSExportType::getClass().
/frameworks/compile/slang/slang_rs_export_type.cpp
|
2e1dba6c779a0ae55c76d36a3c03553e16725ab7 |
|
05-Oct-2010 |
Zonr Chang <zonr@google.com> |
Rewrite the RSExportConstantArrayType to better support reflecting constant-sized array variable.
/frameworks/compile/slang/slang_rs_export_type.cpp
|
0da0a7dc51c25943fe31d0bfccbdfee326a3199c |
|
05-Oct-2010 |
Zonr Chang <zonr@google.com> |
1. Rewrite reflection of parameter packet in RSExportFunc. In order to generate the correct call (i.e., all parameters in the call instruction must match the target function signature) regardless of ABI, we construct type of parameter packet directly from target function prototype (which may not be the same as the one declared in the source since Clang may modified it to the type which is better supported by the target ABI.) 2. Rewrite reflection of RSExportRecordType to use clang::ASTRecordLayout. This corrects the reflection of struct type when tail padding and field alignment involve. This improves stability of RSExportRecordType reflection.
/frameworks/compile/slang/slang_rs_export_type.cpp
|
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_export_type.cpp
|
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_export_type.cpp
|
91a3783ce1f4eb9ad6e9c1ecdbd27f3d6dc58634 |
|
04-Oct-2010 |
Shih-wei Liao <sliao@google.com> |
1. Reorder DataTypeBoolean, DataTypeRSMatrix2x2, DataTypeRSMatrix3x3, and DataTypeRSMatrix4x4 in RSExportPrimitiveType::DataType. 2. Refine the RSExportPrimitiveType::DataKind. Change-Id: Ida0849e68b00571e0f055089ccc5a46d26760390
/frameworks/compile/slang/slang_rs_export_type.cpp
|
9ef2f785e0cc490af678dfd685995dec787321ff |
|
01-Oct-2010 |
Shih-wei Liao <sliao@google.com> |
The Mother-of-All code review: 1. Fix AllowRSPrefix bug 2. Remove member mRS*Pragma in class RSContext 3. No longer only support 2x2, 3x3, 4x4 arrays 4. Fix Export All code for victorhsieh 5. Improve readability and maintainability 6. size_t -> int in calculating padding Change-Id: I772aebd1440af66a89e2d2e688b193e500f38d69
/frameworks/compile/slang/slang_rs_export_type.cpp
|
8d75dc46a30e8617bd29dfe00492c5aab02dacf5 |
|
02-Oct-2010 |
Stephen Hines <srhines@google.com> |
Support for signed 64-bit integer type. b/3050131 exported renderscript structures don't appear to support int64_t Change-Id: I834f11394fa8060a56201b9709fa058d5ccecb5b
/frameworks/compile/slang/slang_rs_export_type.cpp
|
70842c7439bd523611f3ed232ecc6de844932145 |
|
21-Sep-2010 |
Stephen Hines <srhines@google.com> |
Add support for Float64 (double) to slang. Change-Id: Ia1be4eda28f3bcf2bd75a556c4329324f7aa76a5
/frameworks/compile/slang/slang_rs_export_type.cpp
|
cecd11d2af5d45d8ba322bed61fb48a99c305528 |
|
21-Sep-2010 |
Shih-wei Liao <sliao@google.com> |
Fix warnings. Bug fix. Change-Id: I80934814ae64d11f0edebfa3b131164207f1aca0
/frameworks/compile/slang/slang_rs_export_type.cpp
|
1ebc0ca6ffa7effb875883d18205ed4943ab8fc2 |
|
14-Sep-2010 |
Shih-wei Liao <sliao@google.com> |
Implement the ARM-specific struct layout ABI in exportable functions parameters for rs. Add the ABI-compliant #args when needed. My old code inadvertently assumed x86 ABIs for structs, but ARM ABI/calling convention is tricky here, compared to x86's. Also, fixed the type promotion problem. Note that the most portable fix is to add a shim layer in Clang which is a BIG undertaking like PNaCl. Let's put in the potential fix for b/2988615 now. Change-Id: I1d9fe4d803485b55bb72112ea8e17c1f4a19dd32
/frameworks/compile/slang/slang_rs_export_type.cpp
|
f8149d9e5a3795e9952717ee6346789a134c55c7 |
|
22-Aug-2010 |
Shih-wei Liao <sliao@google.com> |
Handle ConstantArray Type. Change-Id: Id3677e818693d6f95445d67116db3d6766d1fbd6
/frameworks/compile/slang/slang_rs_export_type.cpp
|
4d7dc59dd4d82aeeb7d77d1cfc048944e6e2bdba |
|
20-Aug-2010 |
Shih-wei Liao <sliao@google.com> |
Memory error: Fix "Invalid read of size 1" and "Jump based on uninitialize values" errors. Change-Id: Ida47f791c6432c45786e20c525dad6dc4535142b
/frameworks/compile/slang/slang_rs_export_type.cpp
|
116d3d2fcbde4970b07263deeeabc341ff8d76e9 |
|
20-Aug-2010 |
Shih-wei Liao <sliao@google.com> |
Fix the size of Matrix Change-Id: Ie947a3242f18140f252e710360c0b7f1f7cb7d41
/frameworks/compile/slang/slang_rs_export_type.cpp
|
ca3be0350773a63b7792eedc216a7808e42e77ea |
|
18-Aug-2010 |
Shih-wei Liao <sliao@google.com> |
Implement rs_matrix2x2, rs_matrix3x3, rs_matrix4x4 Change-Id: I6a7e829eb41c84e13f91fd3fa7929d6929a8cff9
/frameworks/compile/slang/slang_rs_export_type.cpp
|
0a3f20ec28ed6f5ae1ed5d61f6b6e3e577f7f5d1 |
|
10-Aug-2010 |
Shih-wei Liao <sliao@google.com> |
Handle RecordLayout and get the Alloc size. Fix bug b/2901942 "hang in renderscript." Change-Id: Ia33c64f47656a93f6de1eb95e3e983266289c8ba
/frameworks/compile/slang/slang_rs_export_type.cpp
|
1f0d88fbff28e4e2dd563d93c8fe0047381c09cc |
|
25-Jun-2010 |
Shih-wei Liao <sliao@google.com> |
Use addBoolean successfully and bool->boolean reflection. Change-Id: I2c31ef41766f8ace472ed289012de336e43e9aa9
/frameworks/compile/slang/slang_rs_export_type.cpp
|
cbbdd92b981296f347b02c0fa45621912ea8195c |
|
24-Jun-2010 |
Shih-wei Liao <sliao@google.com> |
Add rs_font. Change-Id: I726ed6951b3f34484b1d25719807cd8d3bff9337
/frameworks/compile/slang/slang_rs_export_type.cpp
|
462aefd62cc646d2ff753c1d003ef3cd7bbea262 |
|
05-Jun-2010 |
Shih-wei Liao <sliao@google.com> |
Initialize slang and Android.mk. Change-Id: If74da8e54d45511c8c9bb236bcfeec508f4f2439
/frameworks/compile/slang/slang_rs_export_type.cpp
|