5984fc03b6189f19f3721423b92469e4908a49ef |
|
10-Sep-2014 |
Stephen Hines <srhines@google.com> |
Emit 32/64-bit bitcode appropriately for C++ reflection. Bug: 17417839 This change adds proper handling of C++ reflection for the -m32/-m64 command line arguments. Only one type of bitcode will be emitted. Change-Id: Ic52812b0fc7836eefbe8b6837272124d69b50182
/frameworks/compile/slang/slang_rs.cpp
|
2d504fd03c66be56ac3b4bb62c78cc72c75dd8b6 |
|
15-Aug-2014 |
Stephen Hines <srhines@google.com> |
Suppress warnings on our second compilation (for 64-bit). Bug: 16031597 Bug: 17052573 Without this patch the 64-bit compilation path will print duplicate warning diagnostics, since we call the frontend twice (for 32-bit, and then 64-bit). The simplest fix is to not print warnings for the second compilation. A bug (17052573) has been filed to track fixing this a better way (actually printing out all warning diagnostics, but removing duplicates explicitly). Change-Id: I78ac0ebd2b132713ec0c86c2cf234da2b620eecf
/frameworks/compile/slang/slang_rs.cpp
|
7ac9d0de26d325071ad3f26f8d34514efca2d3d6 |
|
16-Jul-2014 |
Stephen Hines <srhines@google.com> |
Update slang for LLVM rebase to r212749. Change-Id: I5819f9df3212ffcfa8f34c11d3cea29f1fd04878
/frameworks/compile/slang/slang_rs.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.cpp
|
9e3aa07a4456aad52920e0a7464954fe67cdbe01 |
|
17-Jun-2014 |
Chris Wailes <chriswailes@google.com> |
Added a new development target api. Change-Id: I71a16597f2605b9323424f8d493f103519d10178
/frameworks/compile/slang/slang_rs.cpp
|
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.cpp
|
7f5704efe0c59d5599f1ac7056976225dbfab946 |
|
11-Jun-2014 |
Stephen Hines <srhines@google.com> |
Clean up more of the RSCCOptions class. Pass a bunch of arguments using the class directly. Move the documentation next to the actual option declarations, rather than as part of a huge call to "compile()". Convert from bitfields to bool. Change-Id: I666dea469717f1f0ae59e0220a6146c96fc0fb7c
/frameworks/compile/slang/slang_rs.cpp
|
0e4ee65a2ba6b32fcd16c5d4a57fc7542d4032b4 |
|
10-Jun-2014 |
Stephen Hines <srhines@google.com> |
Run InitializePreprocessor() to ensure that all macros are set up properly. Without this, we don't end up defining things like __LP64__ for 64-bit compilation targets. Change-Id: I11e11bde3498089056e7a70903c8d47d1030e01a
/frameworks/compile/slang/slang_rs.cpp
|
59f22c376b2c1cd109735280689224fadfe40b42 |
|
04-Jun-2014 |
Jean-Luc Brouillet <jeanluc@google.com> |
Set the reflection parameters in the constructors. Change-Id: I3c74ab5a10d7aa3adaf460c56d2ab295a766fcfb
/frameworks/compile/slang/slang_rs.cpp
|
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.cpp
|
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.cpp
|
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.cpp
|
129fd8228cd04592a20c3d5009805a23585f2479 |
|
29-May-2014 |
Jean-Luc Brouillet <jeanluc@google.com> |
Add a GeneratedFile class for Java and C++ file generation. This CL changes the generation of the BitCode file. Next CLs will change the generation of the Java and C++ files. Change-Id: I59f9f4f46ecd35022ecf3293c1ad76a02e8db574
/frameworks/compile/slang/slang_rs.cpp
|
2968921e1cedf85360964c5a39e1ce36c66ecd09 |
|
27-May-2014 |
Jean-Luc Brouillet <jeanluc@google.com> |
Replace std::endl by \n. \n is more readable AND endl causes a buffer flush. Change-Id: I3f7472a16e3bebc06476d8e37129e4088546b4aa
/frameworks/compile/slang/slang_rs.cpp
|
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.cpp
|
44d495d2ad8c350a8f586502c9ee8e97a513646a |
|
23-May-2014 |
Stephen Hines <srhines@google.com> |
Clean up embedded bitcode path for Java. Change-Id: I79cc65778173c7eeab028dedfc4adcb59bef44c2
/frameworks/compile/slang/slang_rs.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.cpp
|
a7ab54d590b5a959354a654cccacf4337e7fd5b0 |
|
08-Jan-2014 |
Stephen Hines <srhines@google.com> |
Add rs_core_math.rsh to the list of allowed RS headers. BUG: 5653293 Change-Id: I79935782da3436b0d794fea6a06c36aa85004756
/frameworks/compile/slang/slang_rs.cpp
|
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.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.cpp
|
cf9a73a4140402c0e9e4fbab27477f22cc7d8e3c |
|
20-Sep-2012 |
Stephen Hines <srhines@google.com> |
Fix teardown bug for multiple files without pragma. This previously caused a segmentation fault in llvm-rs-cc. We were improperly using the DiagnosticsEngine after we had reset() everything. Bug: 7202787 Change-Id: Ic8522566ef257e70f16caf34b89f6a8e012908c5
/frameworks/compile/slang/slang_rs.cpp
|
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.cpp
|
4eb4b38b35855436543d229bc3c83b60d47dbbce |
|
21-Mar-2012 |
Alex Sakhartchouk <alexst@google.com> |
Organizing rs headers by their logical components. Change-Id: I092ca29892da5a9271429cf3518b99254d39ab9d
/frameworks/compile/slang/slang_rs.cpp
|
1b6a0883cd6984e11e59b0c847fb334df1f41afc |
|
12-Mar-2012 |
Jason Sams <jsams@google.com> |
start cpp reflection BUG=5972398 Change-Id: Iede58fde457d16293345e741f80109f89e653ad5
/frameworks/compile/slang/slang_rs.cpp
|
3c9c8645f52ea95e94f88715f9594750567a4e33 |
|
02-Mar-2012 |
Stephen Hines <srhines@google.com> |
Merge "Add option to generate reflected C++ code."
|
5c25c5159c0a5be9af992679067790716626da7b |
|
27-Feb-2012 |
Stephen Hines <srhines@google.com> |
Add option to generate reflected C++ code. BUG=5972398 Change-Id: Ib31ca4bd48a0aa15ebb27092a1ba502e7520d0cf
/frameworks/compile/slang/slang_rs.cpp
|
c460b37ffb50819a32c2a8967754b6f784b28263 |
|
09-Jan-2012 |
mkopec1 <mkopec1@intel.com> |
Enable emission of debugger-friendly bitcode - Add "-g" flag to llvm-rs-cc in order to emit debug metadata - Add optimization level parameter -O and tests - Add lit based tests (use llvm-lit from libbcc/tests/debuginfo) -- Add README file for lit-tests directory Change-Id: I5e2f6f9b6f536fa7a10de008b54ac0878cf352a9
/frameworks/compile/slang/slang_rs.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.cpp
|
c632be206ac4fe49a5db05cfa54942d774329dbe |
|
24-Sep-2011 |
Stephen Hines <srhines@google.com> |
Generate warnings properly for multi-file compiles. BUG=5367019 Slang (llvm-rs-cc) was clobbering warnings during multi-file compilation because they are not part of the error count. When the diagnostics get reset, we should be dumping whichever non-error (i.e. warning) diagnostics we have accumulated. During investigation, I also found then that our dependency generation path can cause duplicate warnings to be added to the diagnostic client. Thus, to fix this bug, the change need dumps relevant diagnostics, but then suppresses warnings if we are compiling the same file multiple times (once for code generation and once for dependencies). Change-Id: I4b94e962f93b96f31ff7e7d6cce45418fe39e1d1
/frameworks/compile/slang/slang_rs.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.cpp
|
4cc499d6e5ec602309501873449c938af61170b2 |
|
25-Aug-2011 |
Stephen Hines <srhines@google.com> |
Start basic support for LLVM 2.9 bitcode writer. Change-Id: I6a54158a32e485f506f0b991f89125b8a0e60267
/frameworks/compile/slang/slang_rs.cpp
|
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.cpp
|
2d35eddd17eaa8bf5a0202dc60ead14dd16eb2d6 |
|
09-Aug-2011 |
Stephen Hines <srhines@google.com> |
Update header file includes for llvm-rs-cc. Change-Id: I69e58c59b0b03371d72c0d8974f1ed371d0b33dd
/frameworks/compile/slang/slang_rs.cpp
|
2e35b136cc2434080fcd682d2f95e53a87675dd4 |
|
22-Jul-2011 |
Stephen Hines <srhines@google.com> |
Add support for -target-api <n> to llvm-rs-cc. Change-Id: Ieaef83fae55f84e87a9301b377633ac658a724b6
/frameworks/compile/slang/slang_rs.cpp
|
6b201eb3306b9609a991728a52ce948974bd4aed |
|
21-Jul-2011 |
Stephen Hines <srhines@google.com> |
Define RS_VERSION as the SDK version. Change-Id: Iaee48b397923e7f6af33b6dfd4a03f52bdd34f93
/frameworks/compile/slang/slang_rs.cpp
|
6f4e0a9955a53a6f715af7e674e68ed15270a47c |
|
09-Mar-2011 |
Logan Chien <tzuhsiang.chien@gmail.com> |
Migrate to newer API. Following function (left) is deprecated, use the right version instead: llvm::sys::Path::getLast -> llvm::sys::path::filename llvm::sys::Path::getBasename -> llvm::sys::path::stem llvm::sys::Path::getDirname -> llvm::sys::path::parent_path
/frameworks/compile/slang/slang_rs.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.cpp
|
8d5a2f6ab321615bfb3a46f68aff0b643a71caa0 |
|
08-Feb-2011 |
Raphael <raphael@google.com> |
Support Windows paths in slang. Change-Id: I5240164d1d83f7816973a0e6ee9c26e337e605b1
/frameworks/compile/slang/slang_rs.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.cpp
|
3fd0a94a5cf1656569b1aea07043cc63939dcb46 |
|
18-Jan-2011 |
Stephen Hines <srhines@google.com> |
Refactor pragma handling (pass everything to LLVM) Change-Id: Id09d4934af06f0880cd867456218602ce9a9e2de
/frameworks/compile/slang/slang_rs.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.cpp
|
125052390460773d0a4531d5bd26cdb704d08c93 |
|
07-Jan-2011 |
Stephen Hines <srhines@google.com> |
Add rs_time.h as a valid default RS header. Change-Id: I85d4415b7d76db1cd4114a1078892c1016936e67
/frameworks/compile/slang/slang_rs.cpp
|
e639eb5caa2c386b4a60659a4929e8a6141a2cbe |
|
09-Nov-2010 |
Stephen Hines <srhines@google.com> |
Improve code style. Change-Id: I26e043849bce2a4b41ae132fbe0c882f4a6f112f
/frameworks/compile/slang/slang_rs.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.cpp
|
fcda2352b9e140529f8f3c89f05b10a70c0048b2 |
|
20-Oct-2010 |
Stephen Hines <srhines@google.com> |
Support for local RS zero initialization. Change-Id: I785cfc6ee53abb6c88ab5bdba5e7c8c16b8409de
/frameworks/compile/slang/slang_rs.cpp
|
3ab021f5913736512343730d91e771037954061b |
|
18-Oct-2010 |
Zonr Chang <zonr@google.com> |
Again, don't include rs_graphics.rsh by default.
/frameworks/compile/slang/slang_rs.cpp
|
8785d056b8912325b7e2c9c6c7adbd13b90964c4 |
|
13-Oct-2010 |
Zonr Chang <zonr@google.com> |
Revert "embed .rsh in llvm-rs-cc".
/frameworks/compile/slang/slang_rs.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.cpp
|
e86245a09bb8b9e72f5dc68083444ec938865798 |
|
12-Oct-2010 |
Zonr Chang <zonr@google.com> |
Fix potential memory corruption in checkODR().
/frameworks/compile/slang/slang_rs.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.cpp
|
cf6af6abc1de499920571308b14a27e19cf57097 |
|
11-Oct-2010 |
Zonr Chang <zonr@google.com> |
Refine the SlangRS::compile() API. This makes compile() methods in SlangRS more reasonable. And this is part of commits for ODR. The SlangRS::compile() now compiles "a group of RS files" instead of one by one individually.
/frameworks/compile/slang/slang_rs.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.cpp
|
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.cpp
|
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.cpp
|
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.cpp
|
592a954aae4cb946970b557e94afd5ee453fd57e |
|
07-Oct-2010 |
Zonr Chang <zonr@google.com> |
Make --allow-rs-prefix more reasonable. Now slang only alarms when a function prefixed with 'rs' and was not declared in one of the RS default headers (including rs_graphics.rsh). Therefore, you don't need to (and shouldn't) pass this option to slang in general.
/frameworks/compile/slang/slang_rs.cpp
|
b257301a1c711ba81458a4f8bf3c99c91c91a047 |
|
07-Oct-2010 |
Zonr Chang <zonr@google.com> |
Don't include rs_graphics.rsh by default. Fix the Externalize in slang_driver.cpp. Change-Id: Idce037b0150af3ea9968e39b7bce63a0e1b6d9a5
/frameworks/compile/slang/slang_rs.cpp
|
3c250c5d6cbf4123e959a3466990fda9fa50987a |
|
06-Oct-2010 |
Zonr Chang <zonr@google.com> |
Better way to include default RS headers (*.rsh). Change-Id: If1435ff983fc4f9b36dc4c3d70348e033957db49
/frameworks/compile/slang/slang_rs.cpp
|
3a9ca1f0d6bd8f12c2bb2adea51f95c255996180 |
|
06-Oct-2010 |
Zonr Chang <zonr@google.com> |
Provide better abstraction of class Slang. 1. Remove the Slang C APIs support (not used by any other programs.) 2. All RS relatives are now in slang_rs_*.cpp.
/frameworks/compile/slang/slang_rs.cpp
|