aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-04-28Merge "Make better use of getStringOperand() for MetadataExtractor."master-soongStephen Hines
2015-04-24Merge "Explicitly set x86 SSE feature for bcc_compat"Pirama Arumuga Nainar
2015-04-17Make better use of getStringOperand() for MetadataExtractor.Stephen Hines
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
2015-04-15Merge "Embed a real chesksum in script group .so"Yang Ni
2015-04-13Merge "Undo AArch64 pass-by-pointer for X86-64"Pirama Arumuga Nainar
2015-04-13Undo AArch64 pass-by-pointer for X86-64Pirama Arumuga Nainar
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
2015-04-10Merge "Update libbcc for LLVM rebase to r233350."Pirama Arumuga Nainar
2015-04-10Merge "Remove obsolete entry points."Jean-Luc Brouillet
2015-04-09Remove obsolete entry points.Jean-Luc Brouillet
Change-Id: I79c9f94dc4d5e8f498222b3d5a490f0ba4b63ba3
2015-04-09Merge "Remove the rs_path APIs from the white list."Jean-Luc Brouillet
2015-04-08Embed a real chesksum in script group .soYang Ni
Change-Id: Icf2f37867692f94e344a292fa15f8b85e0fc30a5
2015-04-07Update libbcc for LLVM rebase to r233350.Stephen Hines
- 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
2015-04-07Remove the rs_path APIs from the white list.Jean-Luc Brouillet
CL/141547 and CL/144668 removed rs_path but had not touched this file. Change-Id: Ic5d6324fa4d1377728bad7e1f89fde2eb7962847
2015-04-06Merge "Make kernel fusion check OptEmitLLVM option"android-wear-5.1.1_r1android-wear-5.1.0_r1Yang Ni
2015-04-06Make kernel fusion check OptEmitLLVM optionYang Ni
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
2015-04-06Merge "Fix TBAA by using an additional distinct node for swapping."Stephen Hines
2015-04-03Fix TBAA by using an additional distinct node for swapping.Stephen Hines
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
2015-04-04Merge "Add MetadataExtractor::getTargetAPI()."Stephen Hines
2015-04-02Add MetadataExtractor::getTargetAPI().Stephen Hines
This information was previously only available to the wrapper/translator, but would also be useful to provide to the driver/runtime. Change-Id: Ia3f1331730b526488632d05091917d1540be125d
2015-04-01Merge "Update libbcc for LLVM rebase to r230699."Stephen Hines
2015-03-30Update libbcc for LLVM rebase to r230699.Stephen Hines
Change-Id: If6717d2df5cc74e7daa493a4be7ac891f8e4928f
2015-03-30Merge "Add bitcast to invoke helper pass."Tim Murray
2015-03-30Add bitcast to invoke helper pass.Tim Murray
Change-Id: I53ddd68d62f09f83832d844d64e7d3da196863f5
2015-03-27Explicitly set x86 SSE feature for bcc_compatYong Chen
Change-Id: I1a6c8d3de59bdbd61d7824cda2bb8b8651f083cb Signed-off-by: Yong Chen <yong.a.chen@intel.com>
2015-03-26Merge "Add RSInvariant pass to recognize Load from RsExpandKernelDriverInfo ↵David Gross
as invariant."
2015-03-26Add RSInvariant pass to recognize Load from RsExpandKernelDriverInfo as ↵David Gross
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
2015-03-24Merge "Include missing header"Pirama Arumuga Nainar
2015-03-24Include missing headerPirama Arumuga Nainar
Fix build breakage in win_sdk. Change-Id: I21b80b6354e337ba933ef76e8a238c4edeae2123
2015-03-24Merge "Remove RSInfo"Pirama Arumuga Nainar
2015-03-24Remove RSInfoPirama Arumuga Nainar
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
2015-03-16Merge "Expect RsExpandKernelDriverInfo not RsExpandKernelParams."David Gross
2015-03-13Expect RsExpandKernelDriverInfo not RsExpandKernelParams.David Gross
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
2015-03-12Merge "Handle FP precision in kernel fusion"Yang Ni
2015-03-11Handle FP precision in kernel fusionYang Ni
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
2015-03-10Merge remote-tracking branch 'goog/stage-aosp-master' into HEADBill Yi
2015-03-10Merge "Create one single module for a script group"Yang Ni
2015-03-10Create one single module for a script groupYang Ni
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
2015-03-10am 3b43c366: Merge "Backend support for new special kernel params ctxt and z."David Gross
* commit '3b43c366c17620e35c6a4395a13b41ca3e977596': Backend support for new special kernel params ctxt and z.
2015-03-10Merge "Backend support for new special kernel params ctxt and z."David Gross
2015-03-10Backend support for new special kernel params ctxt and z.David Gross
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
2015-03-04am b9cf06e4: Merge "Add a -build-checksum flag to bcc"Pirama Arumuga Nainar
* commit 'b9cf06e4bc592ce8bffd1376f97e358e6a671f6a': Add a -build-checksum flag to bcc
2015-03-04Merge "Add a -build-checksum flag to bcc"Pirama Arumuga Nainar
2015-03-03Add a -build-checksum flag to bccPirama Arumuga Nainar
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
2015-02-24am bfbe9285: Merge "Track removal of refcounts from FileMap."Narayan Kamath
* commit 'bfbe928511330670af5ecebdb45a718f57f3e14c': Track removal of refcounts from FileMap.
2015-02-24Merge "Track removal of refcounts from FileMap."Narayan Kamath
2015-02-23Track removal of refcounts from FileMap.Narayan Kamath
Use delete instead of release. Change-Id: Id8c514a6f0196fdb19fe2bcececcc26519a18c9d
2015-02-19Merge commit 'd4a84d8e983db6256a0f293839e77e138cdcbaa6' into HEADBill Yi
2015-02-18Merge "Add exp2f, sqrtf, fabsf to whitelist"Pirama Arumuga Nainar
2015-02-18Add exp2f, sqrtf, fabsf to whitelistPirama Arumuga Nainar
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
2015-02-13am e147cd84: Merge "Make isThreadable const"Pirama Arumuga Nainar
* commit 'e147cd8433e6e144a4fd79666bfd742cbd891f2b': Make isThreadable const