History log of /frameworks/compile/slang/slang_rs_pragma_handler.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
8ee018bdb53fc5abdc430878e2bec0c0c0aa560f 02-Jun-2016 David Gross <dgross@google.com> Delete simple reduction implementation.

Bug: 27298560
Change-Id: I775dd782d658c7c720f57aa31a584deee98cdd17
/frameworks/compile/slang/slang_rs_pragma_handler.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_rs_pragma_handler.cpp
46a0334d8901576e20db68e15930a19f8f789cb8 03-Feb-2016 David Gross <dgross@google.com> General reduction should only support halter() at development API.

Bug: 23535724
/frameworks/compile/slang/slang_rs_pragma_handler.cpp
1623659165bb24d733a40124e929cfd42aa917e3 23-Jan-2016 David Gross <dgross@google.com> Make general reduction available at release N.

Bug: 23535724

Change-Id: I1b00e3a392ec40e93b8e73e1d0a43fb9c947e589
/frameworks/compile/slang/slang_rs_pragma_handler.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_rs_pragma_handler.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_rs_pragma_handler.cpp
a9186d31532c779257ae3a495034417dfa037e83 24-Jul-2014 Stephen Hines <srhines@google.com> Merge "Update slang for LLVM rebase to r212749."
2eb9a3f7c48fe54eb4e813d80e3363bc79553a1e 16-Jul-2014 Stephen Hines <srhines@google.com> Update slang for LLVM rebase to r212749.

Change-Id: I5819f9df3212ffcfa8f34c11d3cea29f1fd04878
/frameworks/compile/slang/slang_rs_pragma_handler.cpp
109e90a854ac8d8f4df24ef27db636a641ba9913 08-Jul-2014 Jean-Luc Brouillet <jeanluc@google.com> Deprecate rs_fp_imprecise.

If rs_fp_imprecise is specified, issue a warning and
use rs_fp_relaxed instead.

Also add a validation that two incompatible precision
pragmas have been specified.

Change-Id: Ib70430872b4a3058b36f8196cbcffba2e4beb322
/frameworks/compile/slang/slang_rs_pragma_handler.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_pragma_handler.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_pragma_handler.cpp
e67239de8d94975e7e2216ee6860ae2e6cb8b15a 25-Feb-2012 Stephen Hines <srhines@google.com> Style violation cleanup.

Change-Id: Idb127f2fd6e637039454f47299360aec5a4edfe8
/frameworks/compile/slang/slang_rs_pragma_handler.cpp
7aff4a0a124209fdf93ecbcd7aed701d39ba094b 09-Dec-2011 Stephen Hines <srhines@google.com> Update error diagnostics.

Change-Id: I8415450504f95cc3ad35866ed884fafc7ee24c90
/frameworks/compile/slang/slang_rs_pragma_handler.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_pragma_handler.cpp
df5bcce1582d839eead432a5e24435236c90fb05 01-Mar-2011 Shih-wei Liao <sliao@google.com> NOTICE file and logn:
Apply changes to migrate to LLVM 2010 Nov 10th:

Change-Id: Ib8d3675b4701957f299f249ac72e8a43c2a6bc4c
/frameworks/compile/slang/slang_rs_pragma_handler.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_pragma_handler.cpp
d09df09ae1e354c4fa595ab421b365ce5cd58cf3 04-Feb-2011 Stephen Hines <srhines@google.com> Fix pragma for reflection license.

Bug: 3423577

Change-Id: I64bc50690fff713787ee1f541237d9496f739695
/frameworks/compile/slang/slang_rs_pragma_handler.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_pragma_handler.cpp
96ab06cbe40b2d73c0eb614f814cd761d8962b6b 06-Jan-2011 Stephen Hines <srhines@google.com> Add support for the version pragma.

Change-Id: I62707dcb432093ba50db95e527d55ff781be22a9
/frameworks/compile/slang/slang_rs_pragma_handler.cpp
9d2c0fa6490e09b3ff5603796bce42d97788e5c8 05-Jan-2011 Stephen Hines <srhines@google.com> Fix style and a small typo.

Change-Id: I3525f400feecd11be9cd90a142434f6eb89d965a
/frameworks/compile/slang/slang_rs_pragma_handler.cpp
35f5b39f0490953f1fe13ef803b43e3ced9a01d9 23-Nov-2010 Stephen Hines <srhines@google.com> Missing pragma for java_package_name is an error.

Bug: 3122920

Change-Id: I88fcb07b95d47e1aba28fcf6e255d17ef957f285
/frameworks/compile/slang/slang_rs_pragma_handler.cpp
2d2512c5703bb238b7935ab5228beff6563f2f94 19-Nov-2010 Stephen Hines <srhines@google.com> Remove legacy code for export func/var pragmas.

Change-Id: I62e0768b11e4192ffde8ed26c0160d62e8f09714
/frameworks/compile/slang/slang_rs_pragma_handler.cpp
e639eb5caa2c386b4a60659a4929e8a6141a2cbe 09-Nov-2010 Stephen Hines <srhines@google.com> Improve code style.

Change-Id: I26e043849bce2a4b41ae132fbe0c882f4a6f112f
/frameworks/compile/slang/slang_rs_pragma_handler.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_pragma_handler.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_pragma_handler.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_pragma_handler.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_rs_pragma_handler.cpp
a50704238e06bc72a7ea3e8282fb5d350f88fd08 08-Jul-2010 Victor Hsieh <victorhsieh@google.com> Rename *ExportAllStatic* to *ExportAllNonStatic*.

Change-Id: I454a181e0081334e9e3dee99e80c2f875258d6ed
/frameworks/compile/slang/slang_rs_pragma_handler.cpp
d8a0d186a362739f385f1a4af35360d5da69e47b 07-Jul-2010 Victor Hsieh <victorhsieh@google.com> Add pragma rs set_reflect_license

Change-Id: I9c3d9505c108a11b6c3fd85499fbac10da9f2532
/frameworks/compile/slang/slang_rs_pragma_handler.cpp
c6718b312b793ea76ac6b61479090c33ba9f2ba6 23-Jun-2010 Victor Hsieh <victorhsieh@google.com> Add pragma rs export_var_all and export_func_all

Change-Id: Id9a90aeeb7cf74b3e9247cf8b998d5c5358ac73a
/frameworks/compile/slang/slang_rs_pragma_handler.cpp
001fb6dddbf1cc794532eeb6a55f7b500eab1abc 21-Jun-2010 Shih-wei Liao <sliao@google.com> 1. Add comments to clarify (E.g., don't worry. "syntax error will be triggered by predecessor later")
2. Create ASTContext before RSContext creation and pass it to RSContext for using later

Change-Id: I6c11af70f1a13036c560aa34d311808548390864
/frameworks/compile/slang/slang_rs_pragma_handler.cpp
537446c9542fdda458920876ed8a020a97ddf7a4 12-Jun-2010 Shih-wei Liao <sliao@google.com> Add support to #pragma rs java_package_name.

Change-Id: Ieb3582511238e1a13056221dfd6e6b3c1f87fe6a
/frameworks/compile/slang/slang_rs_pragma_handler.cpp
462aefd62cc646d2ff753c1d003ef3cd7bbea262 05-Jun-2010 Shih-wei Liao <sliao@google.com> Initialize slang and Android.mk.

Change-Id: If74da8e54d45511c8c9bb236bcfeec508f4f2439
/frameworks/compile/slang/slang_rs_pragma_handler.cpp