History log of /frameworks/compile/slang/slang_backend.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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