Age | Commit message (Collapse) | Author |
|
|
|
|
|
This change also cleans up some of the code from a prior rebase.
It also captures two additional broken metadata cases (from corrupt
object slot and/or pragma metadata).
Change-Id: I61e161d2b0e211349683e36160d564493d802a12
|
|
|
|
|
|
bug 19779488
AArch64's calling convention passes large objects by pointer/reference.
Consequently, RS functions exported in the driver need special handling
for x86-64. This patch creates a new pass to libbcc that identifies
pointer arguments created due to the AArch64 convention and marks them
as pass-by-value.
Change-Id: I2e24edd9704e843b118f4c445cfd92f61f9de909
|
|
|
|
|
|
Change-Id: I79c9f94dc4d5e8f498222b3d5a490f0ba4b63ba3
|
|
|
|
Change-Id: Icf2f37867692f94e344a292fa15f8b85e0fc30a5
|
|
- Remove direct calls/use of DataLayoutPass.
- Move BitcodeReader.h (declarations) into BitcodeReader.cpp files.
- Fix typed/untyped GEP.
- Add empty materializeMetadata(), since we don't defer it ever.
- Fix longstanding (but insconsequential) difference between
bitc::CST_CODE_INLINEASM and bitc::CST_CODE_INLINEASM_OLD.
Change-Id: I135e494beea2f5992db1cb5c038d52cced991e72
|
|
CL/141547 and CL/144668 removed rs_path but had not touched this file.
Change-Id: Ic5d6324fa4d1377728bad7e1f89fde2eb7962847
|
|
|
|
b/19695899
So that it does not always emit llvm IR sources every time bcc is
invoked to fuse kernels for a script group.
Change-Id: I6318a95c0571c12bf8f8dc493246e91dbed725e0
|
|
|
|
Bug: 20069947
We now create a distinct TBAA root node, so that we can easily swap the rest
of the RenderScript TBAA subtree into the simple C/C++ TBAA tree. This change
also reenables TBAA for RenderScript, which was disabled during the most recent
LLVM rebase. RAUW is only applicable to ReplaceableMetadata, which general
MDNodes (like those constructed for TBAA) are not. Fortunately,
replaceOperandWith() can be used for MDNodes with existing operands, which is
why we need to add an additional layer to the hierarchy.
Change-Id: I9f0def0eb109099f12e5292bc1f3a6deafd4aad9
|
|
|
|
This information was previously only available to the wrapper/translator,
but would also be useful to provide to the driver/runtime.
Change-Id: Ia3f1331730b526488632d05091917d1540be125d
|
|
|
|
Change-Id: If6717d2df5cc74e7daa493a4be7ac891f8e4928f
|
|
|
|
Change-Id: I53ddd68d62f09f83832d844d64e7d3da196863f5
|
|
Change-Id: I1a6c8d3de59bdbd61d7824cda2bb8b8651f083cb
Signed-off-by: Yong Chen <yong.a.chen@intel.com>
|
|
as invariant."
|
|
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
|
|
|
|
Fix build breakage in win_sdk.
Change-Id: I21b80b6354e337ba933ef76e8a238c4edeae2123
|
|
|
|
bug 19602994
RSInfo is no longer used. Script-specific information is now passed via
.rs.info variable in the object file. This patch removes RSInfo and the
old caching path which was closely tied to RSInfo.
Change-Id: Icb62ed848d1a262dd13d5c49652d034fcd0bb943
|
|
|
|
Which is to say: Retire RsExpandKernelParams and expect RsExpandKernelDriverInfo
to be passed to kernel wrapper functions instead.
Requires related change in frameworks/rs.
Also add kernel input count assertion.
Change-Id: I0d47905cc07f5896b6dc0e7887dbe1114f26359f
|
|
|
|
b/19098612
Added a bcc command-line option for the relaxed core lib path.
If the relaxed lib path is provided, it will be used if the merged
module has relaxed FP precision.
Change-Id: I2a641387f0990463887594729a935a5c3f0f856f
|
|
|
|
|
|
This changed the way we compile a script group. Instead of compiling
each batch into a seperate module, we now compile the whole script
group into one single module, with each batch as a function (of fused
kernels) in that module. This allows invoke to (fused) kernel
communication via globals variables.
Added commoand line options "-merge" and "-invoke". The former
accepts fused kernel names, input kernels, while the latter accepts
new invoke name, and the original invoke function.
Additional changes:
- Bail out on encountering any unexpected bits in the foreach
signature of any kernel to fuse
- Made kernel fusion handle kernels without inputs.
If a kernel only takes global allocations but no inputs, bcc
needs to use a different signature for the fused kernel.
- Included in rs info the exported variables for the fused kernel.
- Keep all metadata in merged module from the input modules. This
would help correctly handling FP precision. (b/19098612)
- Handles Z (b/19610223)
Change-Id: I5553f86b2e58325f85649078d48685a38f12d62f
|
|
* commit '3b43c366c17620e35c6a4395a13b41ca3e977596':
Backend support for new special kernel params ctxt and z.
|
|
|
|
Also:
- Modify bcinfo dump to show signature metadata in hex instead of dec.
- Teach LLVM pass manager about (existing) "foreachexp" pass.
- Create MetadataSignatureBitval symbolic names for use by libbcc and slang.
Bug: 18964628
Change-Id: I1737ee0476b2005ec87f30473bbfa35aed5ded38
|
|
* commit 'b9cf06e4bc592ce8bffd1376f97e358e6a671f6a':
Add a -build-checksum flag to bcc
|
|
|
|
bug 19216507
Add a flag to bcc to pass a build checksum. The checksum is passed to
RSEmbedInfo pass via LLVM metadata.
The old checksum path is tied to RSInfo. Removing this path can be done
along with RSInfo removal.
Change-Id: I3f21c96ddcfe42c16754fbb7749a72595f90964d
|
|
* commit 'bfbe928511330670af5ecebdb45a718f57f3e14c':
Track removal of refcounts from FileMap.
|
|
|
|
Use delete instead of release.
Change-Id: Id8c514a6f0196fdb19fe2bcececcc26519a18c9d
|
|
|
|
|
|
bug 19425238
LLVM constant folding introduces call to unmangled math functions. For
example, pow(2, x) becomes exp2(x). These functions must be added to
our whitelist.
Change-Id: I5dcadafbc821faf3e98d4a7d2106c082c8c09f63
|
|
* commit 'e147cd8433e6e144a4fd79666bfd742cbd891f2b':
Make isThreadable const
|