8ee018bdb53fc5abdc430878e2bec0c0c0aa560f |
|
02-Jun-2016 |
David Gross <dgross@google.com> |
Delete simple reduction implementation. Bug: 27298560 Change-Id: I775dd782d658c7c720f57aa31a584deee98cdd17
/frameworks/compile/slang/slang_backend.cpp
|
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_backend.cpp
|
8f093e05e28046b6fc74175b66a06152f72e0c66 |
|
04-Mar-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update slang for LLVM rebase to r256229 Bug: http://b/26987366 (cherry picked from commit 98cfae456bb1831336bce2b21979a04e2e31fed4) Change-Id: Ic7f67da3fee0da075f11e3125132af7ea9c96457
/frameworks/compile/slang/slang_backend.cpp
|
9319dfc974a82794d46e9f474f316590f480b976 |
|
26-Feb-2016 |
Yang Ni <yangni@google.com> |
slang error on kernel launch from another kernel Bug: 27459075 Extended the AST visitor that lowers rsForEach() and rsForEachWithOptions() calls to be aware if the function being walked is a kernel itself. If so, on seeing a call to one of the two kernel launch functions, reports a compiler error. Note that such checking is oblivious to the control flow. Also removed all checks inside the LowerRSForEachCall() function, since we do all the same checks before entering that function. Change-Id: Ib7f276e8e8d707f39b310548c084ed550a7a3480 (cherry picked from commit edfcc6949e2ae5374ba548d7543d6f815cf27b65)
/frameworks/compile/slang/slang_backend.cpp
|
283a6cf32b808c703b219862ac491df3c9fc8b4b |
|
16-Jan-2016 |
Yang Ni <yangni@google.com> |
Handle return values of rsObject type Bug: 25570907 Bug: 25777125 This made further improvements over a previous fix on return values of rsObject type. 1) The temp variable created for a return expression is now set using rsSetObject() rather than directly put in the initializer of the temp. This way, the returned rsObject would have a sys ref count of at least 1 and won't become invalid on the return for the caller. 2) On the caller side, introduced another temp variable .rs.tmpXXX for the result of any function call that returns an rsObject. This temp is set in the initializer upon declaration, without using rsSetObject(). A destructor is inserted at the end of the enclosing scope for the temp. 3) Both temp variables above are now named with a unique suffix (that is a unique integer, which starts from 0 and increases monotonically within the function currently being analyzed and transformed.) 4) Fixed an issue in the previous fix, when there are multiple rsObjects defined in a block, we will only introduce one temp variable for a return statement. The previous CL would introduce one temp for each rsObject, mistakenly. Change-Id: Id3604f93b166089e3aca896d1c6c509b3ea19bcf (cherry picked from commit b478c3dd0a47dc4c0c884d911819c9cf53c46649)
/frameworks/compile/slang/slang_backend.cpp
|
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_backend.cpp
|
da48d8e5321e960a2e7c9d63714557e8b40491d8 |
|
04-Feb-2016 |
David Gross <dgross@google.com> |
Merge "Rename #rs_export_reduce_new to #rs_export_reduce." am: c8629c47f8 am: a7099455f8 * commit 'a7099455f810d79c33728eff7270cdf446c7522a': Rename #rs_export_reduce_new to #rs_export_reduce.
|
dbf5b61ea24012f883e238fd17bdca0758f181d6 |
|
03-Feb-2016 |
David Gross <dgross@google.com> |
Rename #rs_export_reduce_new to #rs_export_reduce. This brings general reduction metadata into conformance with the specification and removes simple reduction metadata, thereby disabling simple reduction. More work will be done later to fully remove the simple reduction implementation. Requires a corresponding change in frameworks/compile/libbcc. Bug: 23535724 Change-Id: I98dc885f9a977c54db88b0c7058b71f14f724724
/frameworks/compile/slang/slang_backend.cpp
|
13dba25ad988da71201c1331b34f56e2d01bcf96 |
|
22-Jan-2016 |
Yang Ni <yangni@google.com> |
Bump up API level in Slang to 24 This is in preparation of releasing new Slang changes for NYC, assuming NYC will have API level 24. It also updated guards for single-source RS features from checking against SLANG_DEVELOPMENT_TARGET_API to SLANG_N_TARGET_API. Change-Id: I8e21c25d93d1228d899ab7efc7d78bf2e5c6a27d
/frameworks/compile/slang/slang_backend.cpp
|
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_backend.cpp
|
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_backend.cpp
|
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_backend.cpp
|
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_backend.cpp
|
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_backend.cpp
|
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_backend.cpp
|
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_backend.cpp
|
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_backend.cpp
|
24d69e521538d70863dc0a3745733b8c27fcccd7 |
|
11-Sep-2015 |
Stephen Hines <srhines@google.com> |
Merge "Added in fix to allow generation of valid debug info"
|
b130e157d3a5c2256e7aa0005d7134f3ac060c56 |
|
23-Jul-2015 |
Stephen McGroarty <stephen@codeplay.com> |
Added in fix to allow generation of valid debug info Changed the bitcode writer of the llvm-rs-cc compiler to use the current version of llvm when generating debug metadata. If the debug info is generated with the current fixed version writers the resulting bitcode is invalid and will fail verification in the bcc compiler. However, this means that, currently, only revisions which have compatible versions of llvm will work. The incompatibility is in the debug info generation in slang and the verification/backend in bcc. If bcc is expecting the debug info to be in a different format that slang outputs the verification stage will fail. As things stand only the newest revision will work, as the debug info in AOSP LLVM was updated a few weeks ago. If the debug bitcode is ahead of the reader on the device it will fail the bitcode verification stage in bcc. Change-Id: Iddb7adfe6639900f9917cb05941378019ecc37ba Signed-off-by: Stephen McGroarty <stephen@codeplay.com>
/frameworks/compile/slang/slang_backend.cpp
|
3fe4027f9acbc5047f8e7ca8f1575e3a6af76cf8 |
|
06-Aug-2015 |
David Gross <dgross@google.com> |
Merge "Enhance diagnostic options."
|
2770d0e31ef3b14cd51ca07273240ad0995dc5cd |
|
03-Aug-2015 |
David Gross <dgross@google.com> |
Enhance diagnostic options. - Support -m32/-m64 for non-cpp, if eng build. - Add -ast-print option. - Add options -debug, -print-before-all, -print-after-all (passthrough to LLVM). Change-Id: I609750bd49a624d74f91666ef3f8c77ef711ff32
/frameworks/compile/slang/slang_backend.cpp
|
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_backend.cpp
|
dabd246c169fe8bc7d80a31779311bfc583b2ea0 |
|
16-Jul-2015 |
Matt Wala <wala@google.com> |
llvm-rs-as: Wrap bitcode with the RS bitcode wrapper. Change llvm-rs-as and llvm-rs-cc to use the same code path when it comes to writing bitcode. As a result llvm-rs-as can take a *.ll file and output a *.bc file containing the RenderScript bitcode wrapper, so that code produced by llvm-rs-as can be read by bcinfo. Change-Id: I3f9aed3764cbafddb219a21abd89490ca8019bc1
/frameworks/compile/slang/slang_backend.cpp
|
167bd79e95d496474346fcb9b2905d42ab55d750 |
|
01-Jul-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Soft-float cleanup - UseSoftFloat target option is removed from upstream. Remove its use and update the comment on how to skip FPU and use software floating-point. - Remove a stale FIXME about auto-detecting the presence of hardware FPU. It is unlikely that any processor doesn't have an FPU these days. - When generating code use soft-float ABI. This matches what is done for ARM in the rest of Android. Change-Id: I1255ca9d30dd0e08d4de0a01cdc8bd9317a16332
/frameworks/compile/slang/slang_backend.cpp
|
4ce8705e2bd1e48c1772fea166499e315a2f096e |
|
01-Jul-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Remove use of llvm::TargetOptions::NoFramePointerElim Bug: 22210139 This flag is removed from upstream. Removing its use will enable frame pointer elimination by default. After the rebase, we need to add back the ability to disable frame pointer elimination (b/22210139). Change-Id: I594b3e6964c3069ddbb77748d22fe879289725d0
/frameworks/compile/slang/slang_backend.cpp
|
21cc01860b95cad7ae60c686e511e8f4ae034e39 |
|
06-May-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update slang for rebase to LLVM r235153 - Include a tiny fix to an upstream bug (https://llvm.org/bugs/show_bug.cgi?id=23436) - Use BufferOutputStream instead of FormattedOutputStream in slang_backend Change-Id: I9c53b6bbbcccc95513b45d8f0374ced35f7baccd
/frameworks/compile/slang/slang_backend.cpp
|
8024ed54c23c08534434da14d3be99c3efcc5754 |
|
05-May-2015 |
Jean-Luc Brouillet <jeanluc@google.com> |
Merge Slang with SlangRS, Backend with RSBackend. Change-Id: I4721f92c10ec14a886923778595289f96d3a8de5
/frameworks/compile/slang/slang_backend.cpp
|
0b7545898dcfe2979f2c13afd12d276fc736412d |
|
07-Apr-2015 |
Stephen Hines <srhines@google.com> |
Update slang for LLVM rebase to r233350. Change-Id: I1883757eb9987e45892ae6efde80f825fc9b5367
/frameworks/compile/slang/slang_backend.cpp
|
c706907a8041faaa882f9bd87f1d1c1669023a62 |
|
18-Mar-2015 |
Stephen Hines <srhines@google.com> |
Update slang for LLVM rebase to r230699. Change-Id: I6fa2c59b1445735e2eb95deb4ac503cb9ed369ee
/frameworks/compile/slang/slang_backend.cpp
|
3eb819ad8beec566a73b288204f9b75c2bb1d4e6 |
|
25-Nov-2014 |
Stephen Hines <srhines@google.com> |
Update slang for LLVM rebase to r222494. Change-Id: I19e441e193637ddb39b3afb3bc95579755ac0a90
/frameworks/compile/slang/slang_backend.cpp
|
5abbe0e9ca2508260b627ffef2bf01e2554e8357 |
|
13-Aug-2014 |
Chris Wailes <chriswailes@google.com> |
Replace the NULL macro with nullptr literal. Change-Id: I33609969cd0d7aa55eaa83fb2c65f5faa6d55fa0
/frameworks/compile/slang/slang_backend.cpp
|
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_backend.cpp
|
9e3aa07a4456aad52920e0a7464954fe67cdbe01 |
|
17-Jun-2014 |
Chris Wailes <chriswailes@google.com> |
Added a new development target api. Change-Id: I71a16597f2605b9323424f8d493f103519d10178
/frameworks/compile/slang/slang_backend.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_backend.cpp
|
ee4016d1247d3fbe50822de279d3da273d8aef4c |
|
11-Apr-2014 |
Tim Murray <timmurray@google.com> |
Update Slang for Clang/LLVM 3.5a. Change-Id: Icd59efa1197098076555c505c31939866e504a83
/frameworks/compile/slang/slang_backend.cpp
|
552d872e5cdc883d9f8e76d8c67d3a82e3ece488 |
|
18-Dec-2013 |
Stephen Hines <srhines@google.com> |
Strip unknown/unsupported attributes (like readnone/readonly for parameters). Bug: 12135682 Jellybean's LLVM version didn't support readnone/readonly as anything other than function attributes, so it will fail verification otherwise. Since we never ran the verifier in Jellybean, it ends up with potential crashes deeper in CodeGen. Change-Id: I0a93a548b427f610fa9ca0a1ae0b432e6fa39e11
/frameworks/compile/slang/slang_backend.cpp
|
a1f95ee8df425089100148a42954cf61dc285015 |
|
09-Aug-2013 |
Stephen Hines <srhines@google.com> |
Update slang for LLVM merge up to r187914. Move OptParser.td dependency to use LLVM's version. Switch to llvm::sys::fs::F_* enums. Switch to LLVM Option handling library (not in Clang any more). Add new ALIASARGS field to OPTION macro. Switch to clang::getLastArgIntValue() helper function. Use llvm::sys::fs::OpenFlags as enum and not unsigned int. Remove unused DisableSimplifyLibCalls(). Switch to llvm::sys::fs::create_directories(). Change-Id: I9b12e18b759536c762ea0dd43356907ee53dbddb
/frameworks/compile/slang/slang_backend.cpp
|
0da7f6c8201b27938d3b9f048d71fd784cd1df9a |
|
06-Mar-2013 |
Stephen Hines <srhines@google.com> |
Updates for LLVM merge to r176139. Change-Id: I0d0d32893b4638eef298c99ac8c862c9a9bca1a6
/frameworks/compile/slang/slang_backend.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_backend.cpp
|
d711dec946b6408791ca59eb98e363ef04bbd4aa |
|
09-Jan-2013 |
Stephen Hines <srhines@google.com> |
Add BitWriter_3_2 for JB+ target API. This change switches llvm-rs-cc to use a single format for JB+ target API LLVM bitcode. This simplifies upstream rebases, considering the divergent compressed bitcode format that will be present in LLVM 3.3. We may move back to using the upstream BitWriter again at some point in the future, but for now, it seems like the best choice is to stick with the 3.2 format. Change-Id: I8cfc54d7da7c7168f8f0d5f8fc24c2598b81aff8
/frameworks/compile/slang/slang_backend.cpp
|
8ccbddda3ac7408ba0ae1edab1d066f0d8ad97bc |
|
21-Mar-2012 |
Stephen Hines <srhines@google.com> |
resolved conflicts for merge of 9e7e17b0 to master Change-Id: I7d910038eaf3e7b43330253a7275a8496c26c9ad
|
5e3b677a3041c86a7f860238dd1f5ff9d111b507 |
|
21-Mar-2012 |
Stephen Hines <srhines@google.com> |
Use bcinfo::writeAndroidBitcodeWrapper(). Change-Id: Ic5361ef718733dd22fd732351a711c04edb12e3a
/frameworks/compile/slang/slang_backend.cpp
|
e3cb21bc8654181da174ac441acec7726b5a78ec |
|
02-Mar-2012 |
Jean-Baptiste Queru <jbq@google.com> |
am fa5209a2: am 9c459f0c: Merge "Enable emission of debugger-friendly bitcode" * commit 'fa5209a2bd1e10f675a889c60d8d5a589e860d18': Enable emission of debugger-friendly bitcode
|
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_backend.cpp
|
ac4e18584b8768b3f68535fa5f16232e03974323 |
|
16-Dec-2011 |
Logan Chien <loganchien@google.com> |
Apply changes to migrate to upstream (Dec 16th 2011) - clang::ModuleLoader has changed the interface of loadModule. - Following constants has been removed from llvm::bitc by the upstream, so we have to define our version. - TYPE_BLOCK_ID_OLD 10 - TYPE_SYMTAB_BLOCK_ID_OLD 13 - TYPE_CODE_STRUCT_OLD 10 - llvm::TargetMachine::createTargetMachine now takes a new parameter for options, such as float ABI, soft float, and no frame elimination, and etc. Change-Id: I75e51da9d2265207060a449735342b426cedf243
/frameworks/compile/slang/slang_backend.cpp
|
cf7e4296bb5862681f5acc4c489798329a46bd61 |
|
23-Nov-2011 |
Stephen Hines <srhines@google.com> |
Add support for generating a bitcode wrapper to llvm-rs-cc. BUG=5425905 Change-Id: I42c49666c434d33f000b57db159677179ab75ca0
/frameworks/compile/slang/slang_backend.cpp
|
de7ac1928633b51b8a147fcdda044793629ba8fb |
|
29-Nov-2011 |
Stephen Hines <srhines@google.com> |
Fix bool return for HandleTopLevelDecl(). This is a minor update to propagate error information related to the merge work done in fa6ef56a6ca3dc3061218a75a7e68e5357fcb82c. Change-Id: I74f7831e4ccfb0f8a3a2d0c75da953cbeaa5c5ac
/frameworks/compile/slang/slang_backend.cpp
|
42f6e0cd9eed6f967e2e0d76050082128bdc4ae4 |
|
29-Nov-2011 |
Stephen Hines <srhines@google.com> |
Merge "Add support for BitWriter_2_9_func bitcode writing."
|
fa6ef56a6ca3dc3061218a75a7e68e5357fcb82c |
|
25-Nov-2011 |
Logan Chien <loganchien@google.com> |
Apply changes to migrate to upstream (Nov 25th 2011). - HandleTopLevelDecl now returns bool. - Additional APValue::MemberPointer case for switching. Change-Id: Ieb7a693f96b07b7659712a3ab0abd200ce7df505
/frameworks/compile/slang/slang_backend.cpp
|
9b044ec938fd56355012851890c63974c8042c9f |
|
24-Nov-2011 |
Stephen Hines <srhines@google.com> |
Add support for BitWriter_2_9_func bitcode writing. This allows us to generate Bitcode for pre-3.0 LLVM using the old opcode for TYPE_CODE_FUNCTION (renamed to TYPE_CODE_FUNCTION_OLD). Change-Id: I5b88bff6224658f3e50940bb6f46aa13ca40c080
/frameworks/compile/slang/slang_backend.cpp
|
5e6d0d5a911fff0b7b4bce216a213a4cf8a811f5 |
|
23-Nov-2011 |
Stephen Hines <srhines@google.com> |
Add support for generating a bitcode wrapper to llvm-rs-cc. BUG=5425905 Change-Id: I42c49666c434d33f000b57db159677179ab75ca0
/frameworks/compile/slang/slang_backend.cpp
|
2c6bad5038d8509466b9e0f9aa6a8ae533c0e029 |
|
15-Nov-2011 |
Logan Chien <loganchien@google.com> |
Apply changes to migrate to llvm upstream r144606. - Replace linear scan register allocator with greedy register allocator since the upstream has removed linear scan register allocator and start using greedy register allocator instead. Change-Id: I8f15c1761c525144b93597303a21b19cc8e46d31
/frameworks/compile/slang/slang_backend.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_backend.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_backend.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_backend.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_backend.cpp
|
77703262b9c2fecc22287ca236daa72b2cea7d27 |
|
02-Jul-2011 |
Shih-wei Liao <sliao@google.com> |
Fix API changes of llvm::SubtargetFeatures. Change-Id: If9503dfb2bb368f95020bc2ba0652a3ca4ab6d28
/frameworks/compile/slang/slang_backend.cpp
|
fcc654a1f4034978f7534479f9c5c33a92ca8546 |
|
22-Jun-2011 |
Shih-wei Liao <sliao@google.com> |
Fix llvm API changes to migrate to upstream r131807. Now, llvm doesn't provide create*Passes() interface and removes StandardPasses.h. Instead, we use PassManagerBuilder to replace StandardPasses. Change-Id: I0979afd0ecb9bf2df6634aaff0a8c9a32d405f71
/frameworks/compile/slang/slang_backend.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_backend.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_backend.cpp
|
3fd0a94a5cf1656569b1aea07043cc63939dcb46 |
|
18-Jan-2011 |
Stephen Hines <srhines@google.com> |
Refactor pragma handling (pass everything to LLVM) Change-Id: Id09d4934af06f0880cd867456218602ce9a9e2de
/frameworks/compile/slang/slang_backend.cpp
|
e639eb5caa2c386b4a60659a4929e8a6141a2cbe |
|
09-Nov-2010 |
Stephen Hines <srhines@google.com> |
Improve code style. Change-Id: I26e043849bce2a4b41ae132fbe0c882f4a6f112f
/frameworks/compile/slang/slang_backend.cpp
|
68fc02ca4a7235e2981be5eee4ad968a9d3928c0 |
|
13-Oct-2010 |
Zonr Chang <zonr@google.com> |
Add two new APIs in HandleTranslationUnitPre and HandleTranslationUnitPost. Refer to the comments in slang_backend.h for detail.
/frameworks/compile/slang/slang_backend.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_backend.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_backend.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_backend.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_backend.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_backend.cpp
|
cecd11d2af5d45d8ba322bed61fb48a99c305528 |
|
21-Sep-2010 |
Shih-wei Liao <sliao@google.com> |
Fix warnings. Bug fix. Change-Id: I80934814ae64d11f0edebfa3b131164207f1aca0
/frameworks/compile/slang/slang_backend.cpp
|
f52a620440fa62257dfdcf2583f0f9df5b855c76 |
|
11-Sep-2010 |
Shih-wei Liao <sliao@google.com> |
Apply changes on slang such that it can work with LLVM/Clang upstream r112364/r112367. Change-Id: If38da28502a6111b855105c2fceb23fdb0caefa4
/frameworks/compile/slang/slang_backend.cpp
|
1fd8579fe65b13a26cfaad12d056d2fc9b46475a |
|
07-Jul-2010 |
Kirk Stewart <kstewart@google.com> |
Add a command-line option to allow function names with the "rs" prefix (--allow-rs-prefix). When not specified, user-defined functions with that prefix will be treated as an error. Change-Id: Ieefc8bb55d61980241d5392ffb32770a303ce6a7
/frameworks/compile/slang/slang_backend.cpp
|
2e534f22278bc2f98507436ca9ee4f8b2af54eab |
|
15-Jun-2010 |
Shih-wei Liao <sliao@google.com> |
Change Diagnostic::Error to Diagnostic::Warning for now. The long-term solution should provide a slang option to toggle between Error and Warning. Change-Id: I16b7f91ef03310112f86b147937a5a0eb0054005
/frameworks/compile/slang/slang_backend.cpp
|
336d93a7f079c86d9b43e1e1cfb539a11c5e130b |
|
11-Jun-2010 |
Kirk Stewart <kstewart@google.com> |
Use llvm::StringRef::startswith rather than std::string::compare, as per Nick's suggestion. Change-Id: If5855dfb33831989adb0cd6e512550e12a9dd983
/frameworks/compile/slang/slang_backend.cpp
|
6b22674f4ef0a6c689c589830f1c44f443520785 |
|
11-Jun-2010 |
Kirk Stewart <kstewart@google.com> |
Add a check to prevent users from defining function names starting witih "rs". Change-Id: I2801d50b11439b37dd875957683bbf180c8df34a
/frameworks/compile/slang/slang_backend.cpp
|
6322c93178711b935af4ffbfe5066d10280d26ba |
|
11-Jun-2010 |
Kirk Stewart <kstewart@google.com> |
Use pre-existing clang code to produce errors for un-prototyped functions. Change-Id: I872fc58adecfa99a02aea003664beed618978221
/frameworks/compile/slang/slang_backend.cpp
|
462aefd62cc646d2ff753c1d003ef3cd7bbea262 |
|
05-Jun-2010 |
Shih-wei Liao <sliao@google.com> |
Initialize slang and Android.mk. Change-Id: If74da8e54d45511c8c9bb236bcfeec508f4f2439
/frameworks/compile/slang/slang_backend.cpp
|