bbf0b0eac5b1aa65ded878d80a0adc83e48527c8 |
|
28-Mar-2017 |
I-Jui (Ray) Sung <ijsung@google.com> |
Fix RSoV compiler regression c/299496/ revised the protocol between bcc and bcinfo; bcc now injects some metadata into the module which is in turn parsed by the bcinfo::MetadataExtractor(Module *) constructor. Since RSoV uses bcinfo on non-bcc-processed bitcodes, those missing data caused the constructor to fail. This CL uses a different MetadataExtractor constructor so that all the required information are passed to the MetadataExtractor via full bitcode. Bug: 30964317 Bug: 36657118 Test: RSoV LIT test, RSoVTest on Angler Change-Id: I9b423ad8d0bcab5d261e595c10d4676486ec4b3b (cherry picked from commit 56813de7a00f872fad490b1b3fe5ab1b620c1be5)
/frameworks/rs/rsov/compiler/rs2spirv.cpp
|
eb6548743c40f4129ca55a58ff2d5254f22e95e1 |
|
22-Feb-2017 |
Yang Ni <yangni@google.com> |
Reorganized metadata related code in rs2spirv Bug: 30964317 Added a Context class, which is a singleton that is shared across all LLVM and Spirit compiler passes for rs2spirv. Inside Context, there is a bcinfo::MetadataExtractor, as well as data structures for quick lookup of information about foreach kernels and exported variables. Cleaned up passes which used to use MetadataExtractor to use this new Context. Test: lit tests Change-Id: I3c88f8e8e75b354d87c155312176544fb660526b
/frameworks/rs/rsov/compiler/rs2spirv.cpp
|
c7b3a43821ccf0f2b13840246e1895744799cf6b |
|
01-Mar-2017 |
Yang Ni <yangni@google.com> |
Clean up rs2spirv code Bug: 30964317 Moved tests/globals/getdimx.ll and rewrite_getdim.ll into tests/rs_allocation. Removed unneeded #include's, and adjusted #include order. Removed print-as-words command-line option. Removed some dead code. Test: lit tests and RSoVTest Change-Id: I263987597b8c1ec7aa5593157580aa3ad65861a1
/frameworks/rs/rsov/compiler/rs2spirv.cpp
|
bf22a8ab4f46a98ee37f95fc0402744132cc3ed2 |
|
07-Feb-2017 |
Yang Ni <yangni@google.com> |
Rewrite rs2spirv using spirit Bug: 30964317 Rewrote the wrapper generation and builtin/runtime function translation passes in rs2spirv using spirit. Also added support for about a dozen more floating-point builtin math functions. Added support for new-style root kernel with lit test. Added check for old-style kernels with lit test. Updated existing lit tests since generated code are slightly different, mostly on temp names. Added SPIR-V validation to all lit tests. Updated the RSoV driver to work with the new spirit-based compiler. The entry point is now named entry_<kernel name>. Fixed an issue with multi-input kernel, so that the type count is correctly set. Minor cleanup to destroy descriptor sets after a kernel launch and to remove an outdated comment. Test: lit tests and RSoVTest Change-Id: I07b5957667892e532dcbc2da98ed38fe783af5e9
/frameworks/rs/rsov/compiler/rs2spirv.cpp
|
7974fc03e11f3a8dd40f794f3b33b4889483090c |
|
09-Feb-2017 |
Rahul Chaudhry <rahulchaudhry@google.com> |
frameworks/rs: fix typos and clang-tidy warnings This change fixes a few typos and clang tidy warnings related to the "llvm-namespace-comment" checks. Bug: 26936282 Test: WITH_TIDY=1 WITH_TIDY_CHECKS="llvm-namespace-comment" mm Change-Id: Ic65182e5b4999fbd48d6a8ad7172e4bfeeb541f4
/frameworks/rs/rsov/compiler/rs2spirv.cpp
|
669e475f679d20502ff90923ad0ff2aae2558f12 |
|
30-Jan-2017 |
Yang Ni <yangni@google.com> |
Cleanup of "Linking" related code Bug: 30964317 Moved all "linking" related code into the LinkerModule.cpp and .h. RSSPRIVWriter.cpp does not contain any linking related code any more. Also moved the call to linker out of the convertLLVMToSPIRV() function, since it has nothing to do with LLVM to SPIRV conversion. Put it into the main() function of the rs2spirv tool. Moved OpInBoudsPtrAccessChaing translation out of FixMain(), and rename FixMain() to InlineKernelToWrapper(). This CL does not add or remove any functionality, but simply does a cleanup that moves code around. Test: lit tests and RSoVTest on angler Change-Id: I52ade393c77460748e2b2808c52d849456d3f0ed
/frameworks/rs/rsov/compiler/rs2spirv.cpp
|
ec9360e103cb2fc5aa0af8c89d365e4a18594d97 |
|
22-Nov-2016 |
Yang Ni <yangni@google.com> |
Add .clang-format for compiler subdirectory This is LLVM style generated with clang-format -style=llvm -dump-config > .clang-format Ran clang-format -i *.cpp *.h under frameworks/rs/rsov/compiler Test: mm Change-Id: Idff461c51d6e88e22795ac0a9cfbe41bc8156bbe
/frameworks/rs/rsov/compiler/rs2spirv.cpp
|
b3459fdd32c761ca937ff06b973e0ddbb7b7f003 |
|
17-Nov-2016 |
I-Jui (Ray) Sung <ijsung@google.com> |
Convert a source file of inconsistent format to Unix By "find . -name \* -exec file {} \;|grep CR". Only rs2spirv.cpp was in DOS format; converted immediately. Test: build Change-Id: Ic082d2345fa416a56f4d3e5dc86975715b043f4e
/frameworks/rs/rsov/compiler/rs2spirv.cpp
|
6749f541c20e86f5deb6fd421ed5849ef43c275c |
|
08-Nov-2016 |
Yang Ni <yangni@google.com> |
Initial backend compiler for RSoV Bug: 30964317 This compiler compiles RenderScript LLVM bitcode into SPIR-V. This was done by Jakub Kuderski as part of his 2016 summer internship at Google. Test: build Change-Id: I395cdab2b97451b9e0a9b866af2d112ead73ab72
/frameworks/rs/rsov/compiler/rs2spirv.cpp
|