8e9089377848628813a697b972773e969b942c3b |
|
07-Mar-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update libbcc for LLVM rebase to r256229 http://b/26987366 (cherry picked from commit f229c40f0d2da19985e68955aef1a06ce4121e63) Change-Id: I3d89bb15d0c3e7d64f74656365ed1d472e7de4c7
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
3c05a9cabc73640febb331e3df1d8f2e565c9e30 |
|
11-Nov-2015 |
Luke Drummond <luke.drummond@codeplay.com> |
Fix code-generation on x86 targets - bcc code generation on x86 devices was generating invalid code in unoptimized builds due to missing CPU detection in ``bcc::CompilerConfig`` - CPU type and code models properly belongs in compilerConfig. - CompilerConfig: existing feature strings were being overwritten instead of appending to existing configured CPU feature config list: ```cpp if (HasF16C()) mFeatureString = "+f16c"; ``` - Moved hardcoded compile-time SSE3/4.1/4.2 features in bcc/tools/Main.cpp. These checks (if any) belong in `bcc::CompilerConfig`.
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
656325bdb4751d5606f9e53d8f417bd727032c31 |
|
17-Jul-2015 |
Stephen McGroarty <stephen@codeplay.com> |
Stopped bcc from ignoring optimization level Added in a constructor for RSScript which takes in the compiler config and derives the optimization level from that rather than defaulting it to opt level 3. Also added in a statement to catch a null pointer for the case where the llvm-rs-cc produced bitcode fails verification. Change-Id: I6efdab6280a9c389268b5a40dc4a50eb9bc24370 Signed-off-by: Stephen McGroarty <stephen@codeplay.com>
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
750ee65e129a2baef2dc5bb9ad210b45c9184926 |
|
17-Apr-2015 |
Stephen Hines <srhines@google.com> |
Provide a pass that creates information about global variables in RS. Bug: 20306487 This change implements RSGlobalInfoPass, which is an optional LLVM pass that adds several new global variables to a given Module. These variables contain information about the other RenderScript global variables that are present. Change-Id: I671013c11c7a528254edad5c66f2858953c0f5c4
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
186d2f34573eb20de197d8eb8e08bcadd031a9bd |
|
07-Apr-2015 |
Yang Ni <yangni@google.com> |
Embed a real chesksum in script group .so Change-Id: Icf2f37867692f94e344a292fa15f8b85e0fc30a5
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
6b6fb446fb8ae5a293bf38267bd4be66be8759ef |
|
06-Apr-2015 |
Yang Ni <yangni@google.com> |
Make kernel fusion check OptEmitLLVM option 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
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
a65fba6fd15b14d930809e64c84fb976a893d038 |
|
19-Feb-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Remove RSInfo 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
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
6da4e253a513feef3405759fef6d0760828808ca |
|
11-Mar-2015 |
Yang Ni <yangni@google.com> |
Handle FP precision in kernel fusion 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
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
0ab50b835805c75ad164466767c2c212f48954cc |
|
16-Feb-2015 |
Yang Ni <yangni@google.com> |
Create one single module for a script group 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
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
51ee77bd31e7d8ca6c89e37b5806c8fc2afcf0dc |
|
20-Feb-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
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
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
77c1d553e5799aef5add08667e71b62b6842ed2e |
|
23-Jan-2015 |
Tim Murray <timmurray@google.com> |
Fix -emit-llvm with shared object compilation. Change-Id: I696f3777a0981a875772d7340970a6cb49581cd7
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
a4ded1373d7ad3e503f186e65bccf94126a0f020 |
|
18-Nov-2014 |
Yang Ni <yangni@google.com> |
Compiler kernel fusion for RenderScript. This was started by Tobias Grosser during his internship at Google in 2013. This CL includes his original changes and generalization to make it work with the new proposed ScriptGroup API and made the ImageProcessing processing work with this. An enabling CL is needed in the RenderScript runtime, which I will post seperately. Change-Id: Ia73ea917a126a5055ec97f13d90a5feaafd6a2f5
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
107f50d54d9606e495187d0e89225d3d9fdc1fa9 |
|
20-Jan-2015 |
Stephen Hines <srhines@google.com> |
Remove linkloader from frameworks/compile/libbcc. Bug: 18322681 Now that we have switched completely to the new shared library object loading path, we can safely remove the legacy linkloader path. In frameworks/compile/libbcc, this removes all of libbccExecutionEngine, since the loader is now self-contained in libRScpu_ref (similar to the support library's shared object loader). We also remove support for all symbol resolvers and the gdb JIT interface (which was already unmaintained). Change-Id: Ie5cc152d93f5e75383f7c21a4523579cfae8823f
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
c46a3f5370364ad5698756d5da5b8845be9970d0 |
|
08-Jan-2015 |
Tim Murray <timmurray@google.com> |
Fix bcc initialization and shutdown issues. Actually call the correct LLVM init functions. Change-Id: I883ebe70ae0bb4a535a9bc0536a517dab0cb3ebb
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
1e0557ae75ae780352845bd2ba0f4babdc5ae4e6 |
|
03-Dec-2014 |
Pirama Arumuga Nainar <pirama@google.com> |
BCC updates to handle linkloader removal Bug: 18322681 - Add -fPIC and -embedRSInfo flags to bcc. fPIC generates relocatable object code and -embedRSInfo embeds RS symbol information into the .rs.info variable in the object file. - PIC_ relocation in x86_64 also entails that the CodeModel must be small. Otherwise, we end up with TEXTRELs in the shared library. - Add an LLVM pass to screen functions visibile in RS. lib/RenderScript/generate-whitelist.sh is used to automatically generate the stubbed functions to the whitelist. Change-Id: Ib0a16b7e7aff89490ac631885ffa97dd31c184ce
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
b4447cd2b14f53efd9102d28da48000be7b2d4fd |
|
20-Aug-2014 |
Chris Wailes <chriswailes@google.com> |
De-cruft the libbcc compiler infrastructure. This patch removes the RSCompiler subclass of Compiler and moves most of its functionality over to the original Compiler class. Methods and variables are re-named to make the code clearer. In addition, unused functions have been removed. Change-Id: I121463df6309c377496cebea8cbb82bb49624ed1
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
602ce0336c0ff5109923cee9b4426e913e718605 |
|
03-Sep-2014 |
Jian Li <jian.y.li@intel.com> |
Set x86 SSE features explicitly in bcc Change-Id: Ia31393f08703f9474fee31fc03de7888fca78413 Signed-off-by: Yong Chen <yong.a.chen@intel.com>
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
900c6c1f08f7c572125d7d39abe0f0f9eafbfa14 |
|
14-Aug-2014 |
Chris Wailes <chriswailes@google.com> |
Replace NULL macros with nullptr literals. Change-Id: Id2311cda59dd42c74b3ed54d3ff6cfd509012738
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
d0993af5b1337f8186dd9aedea2e138a919e02e9 |
|
16-Jul-2014 |
Stephen Hines <srhines@google.com> |
Update libbcc for LLVM rebase to r212749. Change-Id: I40304090ada740c2451d32e01c7deed4f4c8c409
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
f2ac3176c351cd80bce77fe1488f3de2d0789c1b |
|
26-Jun-2014 |
Jean-Luc Brouillet <jeanluc@google.com> |
Use build fingerprint and compile command for caching. If either of those have changed, we need to invalidate the compiled bit code. Change-Id: I9b5cdc19e29237dc7fb2ec1627a167f3f8987702
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
c5e607adff80a66bc5420baffd299862abdf368d |
|
19-Jun-2014 |
Jean-Luc Brouillet <jeanluc@google.com> |
Change cache dependency tracking. Remove the fix dependencies and make it depend only on the source hash. More changes coming soon to add dependencies on the Android build fingerprint and the command line used to compile. Change-Id: I8964044affccf52326ce286f879307eca79d0b24
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
a630078b32eb37a8de91ae09e26babf235d4fc9f |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update libbcc for LLVM 3.5 rebase (r209713). Change-Id: I0e882c84176d462958db05e4c9c10bfe995b8ed1
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
bde1a2599780d6eaebbc284976ceb690492f6abd |
|
16-May-2014 |
Stephen Hines <srhines@google.com> |
Remove unnecessary inheritance for CompilerConfig, as we switch to offline bcc. Change-Id: Id4a5be7b2b4627bfa7ef6279eb3b5b8e75915a7d
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
1ae3fd6e2290fe1635bafe91a65e0e88e641b6fc |
|
15-May-2014 |
Stephen Hines <srhines@google.com> |
Fix some minor issues picked up by valgrind. Standalone bcc was leaking memory due to misuse of OwningPtr. RSInfo was not clearing a buffer before using only part of it. The whole buffer was being written out in the resulting file, however. Change-Id: Icd455748f81a06d022f1e5ed83a2ab1cae3fef09
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
002f467d12474b6abcca2fc9e1635cfa5c313779 |
|
02-May-2014 |
Stephen Hines <srhines@google.com> |
Add options to device bcc for specifying the target architecture. Bug: 14474874 Change-Id: Id7342ef4f3be62aded142a27beb8632ea2854383
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
c3437f05c638f8befda59170ae788873db24dc1c |
|
31-Jan-2014 |
Stephen Hines <srhines@google.com> |
Improve standalone bcc for on-device compilation. Bug: 7342767 This adds functionality for driver-writers to dynamically load plugins. If such a plugin is loaded, we then execute any function called rsCompilerDriverInit() from it. This function can initialize any other state the driver-writer wants. Change-Id: I733a6a3fc59c429a542cfcaf59a57ad231a19d01
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
c2074caf075818abb6d3689ad924ca09f4a5ba1f |
|
09-Apr-2014 |
Tim Murray <timmurray@google.com> |
Update libbcc for 64-bit support. Change-Id: I369a82eb6730a33c46b6700408952fe34020ca51
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
0a78b11e8ade40c9519e2b25dab65a445dff4689 |
|
25-Mar-2014 |
Narayan Kamath <narayan@google.com> |
Remove unused static function in tools/bcc/Main Fixes self-hosted clang compile error. Change-Id: I58b7d0327ef30ab8dc8c6898ca0e2aac9390e6bc
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
b10c3a7d91556ef31ce91ef018fee4722b783960 |
|
08-Aug-2013 |
Stephen Hines <srhines@google.com> |
Update libbcc for LLVM merge to r187914. Switch over to new llvm::sys::path implementation. Remove unused Source::CreateFromFd(). F_Binary is now in llvm::sys::fs. Change-Id: Ib0ebb8a1d8ea04e5cf36c8082cf31dab2e144554
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
7e9c1853efd1615e9187611e8f47ef3ec30de686 |
|
22-Jun-2013 |
Stephen Hines <srhines@google.com> |
Fix up a few minor issues with bcc standalone executable. 1) Default to -O3. This is to match the behavior of the integrated compiler in libbcc today. 2) Actually run the config() step on the RSCompilerDriver. I previously removed the invocation here, since it wasn't doing what we actually wanted by default. This change restores the use of config(). 3) In running the config() step mentioned in 2), we actually now respect the -mtriple compiler flag when run on the host. Device-side compiles will always use the target architecture. This makes it easier to generate multiple resulting object files for different architectures. Change-Id: I623ee8eec3d6c42375973e7b7e27f0800ea8ca48
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
7b980e1717f3cf418f7bc4e40597004bc1139b8b |
|
20-Jun-2013 |
Tobias Grosser <grosser@google.com> |
bcc: Add option -emit-llvm Change-Id: I98470c6573b216518f77d338f4659d5b9fbcc3d3
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
8be8dba08c97dff239ac8c6bdc7f3a52d96116ae |
|
18-Jun-2013 |
Stephen Hines <srhines@google.com> |
Make bcc produce RS-compatible ELF objects. Bug: 7342767 Change-Id: I48e6d459adc477fcb6f3f1d8e4eb8ff7b40c546d
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
88f8c52abea50f411c3774c935a6a1e04d17c182 |
|
13-Jun-2013 |
Stephen Hines <srhines@google.com> |
Update libbcc for LLVM merge to r183849. Remove unused param to readBytes(). Path.h -> PathV1.h Remove ability to load/run files from bcc tool. Change-Id: I07d735fb86638412f01c4f8285d56f45ca35b672
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
09ca95426a7ec66def02e47048bb25289759c6fb |
|
26-Jan-2013 |
Shih-wei Liao <sliao@google.com> |
Switch to use libcompiler_rt for compiler runtimes. Change-Id: I64b3d4ba80343bc592fa0df72242b33b2d2ae0ed
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
c02eae6f35de7dfd92233d591b27c05f15c2a6a1 |
|
23-Jul-2012 |
Shih-wei Liao <sliao@google.com> |
Add kTruncate in FileBase. BUG=6841435. And remove O_TRUNC from the default flags to OutputFile. Change-Id: Id2ff6d5bac319d8be498e438eb3ef84e85573218
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
d577d11347cdad9b88c0802bf6f5ee1fd3c06f19 |
|
25-Apr-2012 |
Shih-wei Liao <sliao@google.com> |
Rewrite the command line tool "bcc." Get rid of deprecated BCC C APIs using in bcc command. For the usage, see "/system/bin/bcc -help" for detail. Change-Id: I26dccd63034624509cb7311c72a45b908fc6d92c
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
3fb139a6da99499f227e4f21fe966b509e509ca4 |
|
03-May-2012 |
Stephen Hines <srhines@google.com> |
Revert "Rewrite the command line tool "bcc."" This reverts commit a7b5a26a5487851706ddd6c33c1bb88137333df4.
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|
a7b5a26a5487851706ddd6c33c1bb88137333df4 |
|
25-Apr-2012 |
Shih-wei Liao <sliao@google.com> |
Rewrite the command line tool "bcc." Get rid of deprecated BCC C APIs using in bcc command. For the usage, see "/system/bin/bcc -help" for detail. Change-Id: Ie6da4779098af368c01900d54e618ee17220594e
/frameworks/compile/libbcc/tools/bcc/Main.cpp
|