History log of /frameworks/compile/libbcc/lib/Renderscript/RSInvariant.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
23c2bfe96698091f2886d1959435d8949f76c46b 22-Jun-2015 David Gross <dgross@google.com> Fix cases where RSInvariant pass might miss marking some loads as invariant.

llvm-rs-cc and bcc can add numeric suffixes to structure type names; we need
to tolerate this when looking for the context structure by name.

Bug: 21815112
Change-Id: If5ef169245f8d43affdc43abb2298c7015568dd0
/frameworks/compile/libbcc/lib/Renderscript/RSInvariant.cpp
150eef4097c996e14b50b7f58184265385c44713 19-Jun-2015 Pirama Arumuga Nainar <pirama@google.com> Fix check for literal types

In my previous commit on "Get struct names only for non-literal structs"
I got the check for literal structs reversed. This commit fixes that.

Change-Id: I7b1b35d4ad85bdfde65a2d68fa39cf2cb8bde9cb
/frameworks/compile/libbcc/lib/Renderscript/RSInvariant.cpp
e8b9f0607d59e991d984302d790b8b16e3623cc3 12-Jun-2015 Pirama Arumuga Nainar <pirama@google.com> Get struct names only for non-literal structs

Bug 19545955

While marking loads as invariant, test that a struct parameter is
not a literal struct before comparing/testing its name.

Change-Id: I92fb234b42306859ecad87c83321f9a8fe1a210b
/frameworks/compile/libbcc/lib/Renderscript/RSInvariant.cpp
1d93a190e62ec1588b4724ca8759216b2d0b76d7 25-Mar-2015 David Gross <dgross@google.com> Add RSInvariant pass to recognize Load from RsExpandKernelDriverInfo as invariant.

This allows more-aggressive optimization of foreachexp-generated code and of the
rsGet*(rs_kernel_context) API functions. In particular, it facilitates LICM of
Loads out of the wrapper loop in a .expand function.

Bug: 18964628
Change-Id: I77a87b325724ca08c4a04f5a46f316be78a5e0fd
/frameworks/compile/libbcc/lib/Renderscript/RSInvariant.cpp