• Home
  • History
  • Annotate
  • only in /frameworks/compile/libbcc/include/bcc/
History log of /frameworks/compile/libbcc/include/bcc/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f21590eae009b4f596d7e448d0b8e142c46fc382 16-Jul-2014 Stephen Hines <srhines@google.com> Update libbcc for LLVM rebase to r212749.

Change-Id: I40304090ada740c2451d32e01c7deed4f4c8c409
upport/FileBase.h
ef406964e2ba7e45d3a044d2fb459dce92569560 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.

Change-Id: I054fa32128bda60a6d22a0a6a590cd9f3575a2ca
enderscript/RSInfo.h
00a68f0a68dbd3b71b9426d911b7334d5d3a5143 27-Jun-2014 Jean-Luc Brouillet <jeanluc@google.com> am e17454cf: am 17d3aed6: Merge "Use build fingerprint and compile command for caching."

* commit 'e17454cf6ecdf4c14e9118712b63488e106b580f':
Use build fingerprint and compile command for caching.
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
enderscript/RSCompilerDriver.h
enderscript/RSInfo.h
a4cd44654e04b2dcd8e811b76617892c04efd39f 20-Jun-2014 Jean-Luc Brouillet <jeanluc@google.com> am 3108f9c6: am cd399bad: Merge "Change cache dependency tracking."

* commit '3108f9c6773c764396a644dc78eeb090c901cc5e':
Change cache dependency tracking.
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
onfig/BuildInfo.h
enderscript/RSCompilerDriver.h
enderscript/RSInfo.h
57f43517221f142e78d93aad330a9d882455b4fb 05-Jun-2014 Stephen Hines <srhines@google.com> am b08d77d9: am 74ced127: Merge "[MIPS64] Add missing MIPS64_CODEGEN flags"

* commit 'b08d77d96158a84e9c8e0a51fb56e43d8f9a7a21':
[MIPS64] Add missing MIPS64_CODEGEN flags
d5a4204de2cd1fd1601904f044137309ff6b7285 22-May-2014 Dragoslav Sicarov <dragoslav.sicarov@rt-rk.com> [MIPS64] Add missing MIPS64_CODEGEN flags

Change-Id: I891e6a5be4e6d3949f34c26a0db0f29f31e95261
onfig/Config.h
9ac48f29648c6074cd3c2a2636ccc4269e40adda 23-May-2014 Stephen Hines <srhines@google.com> am 79e8a844: am b579d30a: am da0c1ea4: Merge "Separate out the symbol resolver from RSCompilerDriver."

* commit '79e8a844e119e595d3aeed024f959c97a2310e37':
Separate out the symbol resolver from RSCompilerDriver.
b39557ea3f72e1854581aa1f859b2323499389b1 22-May-2014 Stephen Hines <srhines@google.com> Separate out the symbol resolver from RSCompilerDriver.

This change makes compilation distinct from loading. The symbol resolvers
now need to be instantiated directly by the RS driver.

Change-Id: I37ce409f1b2e538d9091c025895e639a250d6466
enderscript/RSCompilerDriver.h
d02e6b0cb5f396b4d4c1bdfc688d95f8ac067d45 20-May-2014 Stephen Hines <srhines@google.com> am 696b5f92: am 3828eced: am 508b17d6: Merge "Remove unnecessary inheritance for CompilerConfig, as we switch to offline bcc."

* commit '696b5f921814eab4db128eb103e980c104576f0d':
Remove unnecessary inheritance for CompilerConfig, as we switch to offline bcc.
bde1a2599780d6eaebbc284976ceb690492f6abd 16-May-2014 Stephen Hines <srhines@google.com> Remove unnecessary inheritance for CompilerConfig, as we switch to offline bcc.

Change-Id: Id4a5be7b2b4627bfa7ef6279eb3b5b8e75915a7d
upport/CompilerConfig.h
upport/TargetCompilerConfigs.h
bc362b623e3fc91c5c796d9bd1c00ac0e617c95d 15-May-2014 Stephen Hines <srhines@google.com> am e995ae93: am 1a9b5b61: am d3493fab: Merge "Switch RSForEachExpandPass to use MetadataExtractor."

* commit 'e995ae93aa5ed062aede5df96f809cca7de3037c':
Switch RSForEachExpandPass to use MetadataExtractor.
0e6aad13387bb983b09cb9ca36519ec7b4c0b5f0 15-May-2014 Stephen Hines <srhines@google.com> am f141a77c: am 16601acb: am 30bfe8cc: Merge "Switch to MetadataExtractor path."

* commit 'f141a77cdfdda8b1e2c5ae08bfd7e795df7ffd77':
Switch to MetadataExtractor path.
25eb586bb055ae07c7e82a2b1bdbd6936641580c 09-May-2014 Stephen Hines <srhines@google.com> Switch RSForEachExpandPass to use MetadataExtractor.

Change-Id: I442054e7aa2329b369f578052bd41c7a973cc822
enderscript/RSTransforms.h
1253c195dd7911ad91bd66790f03e4c2f8888ad2 09-May-2014 Stephen Hines <srhines@google.com> Switch to MetadataExtractor path.

Change-Id: Iabef9abb1c770ffe1e753cfd2fac808f60c19d8a
enderscript/RSTransforms.h
a7cb05306102e367d147faeb46683a64bf1e6ffe 07-May-2014 Stephen Hines <srhines@google.com> am 3d9f6c20: am 5d7f5ca6: am 3a9e5b35: Merge "Provide target-specific defines for libbcc and other libraries."

* commit '3d9f6c20dbed40a6b0581067536babde215ebbd0':
Provide target-specific defines for libbcc and other libraries.
476fefb8206e3e63b8717af9b002f97c33e1e5a8 07-May-2014 Stephen Hines <srhines@google.com> am f7c92d8b: am de089f3b: am cd3a9dca: Merge "Remove Makefile->Header code generation from libbcc."

* commit 'f7c92d8b1b8813cb49887d201c7def3b7a009c03':
Remove Makefile->Header code generation from libbcc.
7dcd80da6f665a7a1d5171461200205b241c5f33 07-May-2014 Stephen Hines <srhines@google.com> am af63dab4: am 76209885: am ef2ca310: Merge "Provide support for ARM on AArch64 builds as well."

* commit 'af63dab4f7c0135d4f9ebb4c1c0cc52bcd9d9f91':
Provide support for ARM on AArch64 builds as well.
0467bc47bf4dd48796ede4f4a4f8ca02dddc33d7 06-May-2014 Stephen Hines <srhines@google.com> Provide target-specific defines for libbcc and other libraries.

This consolidates target-specific information for libbcc/LLVM users, so that
libraries can use a single makefile + header to drive compilation.

Change-Id: I9c74e85c5bd469a28054948b98b63abc6b1d8a3e
onfig/Config.h
ce73d6f365394883dd23b1da97135e4002e784e0 06-May-2014 Stephen Hines <srhines@google.com> Remove Makefile->Header code generation from libbcc.

These variables/defines are not often used and they complicate the use of
target information in other Android libraries.

Change-Id: I93dc71e17ae8ece1be46a3a609639ec8380cdaf9
onfig/Config.h
1e3247531134c0f578d0df7ad7f02905bf9e0415 02-May-2014 Stephen Hines <srhines@google.com> Provide support for ARM on AArch64 builds as well.

Bug: 14474874

Change-Id: I1ff41e36c8231373aa9e55d61d9c997a1f3561e6
onfig/Config.h
4215c36c1ce6725bf094219f18caa4ef3a3dac0e 01-May-2014 Stephen Hines <srhines@google.com> am ccb44c38: am 4c694e07: am ca48f581: Merge "Improve standalone bcc for on-device compilation."

* commit 'ccb44c3834b760b8f4a8c849cdcfe3944dd7a6f7':
Improve standalone bcc for on-device compilation.
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
enderscript/RSCompilerDriver.h
9125696fcbfdae4428f6ffbfdcee323de70da118 26-Apr-2014 Stephen Hines <srhines@google.com> am 522c3bac: am e2dd4a0b: Merge "Update libbcc for 64-bit support."

* commit '522c3bac0a65881e6466ffc2e1b0d54334ba8877':
Update libbcc for 64-bit support.
c2074caf075818abb6d3689ad924ca09f4a5ba1f 09-Apr-2014 Tim Murray <timmurray@google.com> Update libbcc for 64-bit support.

Change-Id: I369a82eb6730a33c46b6700408952fe34020ca51
onfig/Config.h
upport/FileBase.h
upport/TargetCompilerConfigs.h
c68092e9071aa92388836dc3d157ffb19097d658 17-Apr-2014 Tim Murray <timmurray@google.com> am 773dab58: am 70a7671e: Merge "Change 64bit library path from /system/lib/ to /system/lib64"

* commit '773dab582991cba84fb90c0e11c2c04f2104d1b8':
Change 64bit library path from /system/lib/ to /system/lib64
36e642c0a89cc6f3a95dadfe1fc2b890c0758b15 04-Apr-2014 WeiTang <wei.a.tang@intel.com> Change 64bit library path from /system/lib/ to /system/lib64

Change-Id: Ie2ec537bb71ca6573588bcaf893d871ba9b5c051
enderscript/RSInfo.h
d724d097437f40a5689464429f948ec41e4a2415 11-Feb-2014 Stephen Hines <srhines@google.com> Update libbcc for LLVM 3.4 rebase.

Convert all bitcode readers to use error_code instead of bool + char* for
status returns.

Remove LinkOnceODRAutoHideLinkage, since it is now just a special case of
LinkOnceODRLinkage.

Handle the PassManager -> legacy::PassManager transition.

Change-Id: I33f0fe1c95436d35d02bc3f1b19b268f25f149d1
ompiler.h
dee928bc6675807469a05ebd00816063e2ecff25 11-Feb-2014 Stephen Hines <srhines@google.com> Update libbcc for LLVM 3.4 rebase.

Convert all bitcode readers to use error_code instead of bool + char* for
status returns.

Remove LinkOnceODRAutoHideLinkage, since it is now just a special case of
LinkOnceODRLinkage.

Handle the PassManager -> legacy::PassManager transition.

Change-Id: I33f0fe1c95436d35d02bc3f1b19b268f25f149d1
ompiler.h
17a397aa110c6601280b20146c199a56da3d9386 03-Oct-2013 Stephen Hines <srhines@google.com> am 4face7bf: resolved conflicts for merge of 8d972a6f to klp-dev-plus-aosp

* commit '4face7bf943d93ee91ca94f05df2034550f318fd':
Remove references/use of ARCH_X86_HAVE_*.
4face7bf943d93ee91ca94f05df2034550f318fd 03-Oct-2013 Stephen Hines <srhines@google.com> resolved conflicts for merge of 8d972a6f to klp-dev-plus-aosp

Change-Id: I7d1f460a1b6de08b11b430f90c7bf2534e5cca31
8d972a6f7975f3b43a1551eb5619f008561a5029 03-Oct-2013 Stephen Hines <srhines@google.com> resolved conflicts for merge of 4293770c to stage-aosp-master
5aa70e1912813e173171b7d8540eb4a896f86b42 03-Oct-2013 Stephen Hines <srhines@google.com> Remove references/use of ARCH_X86_HAVE_*.

Bug: 11048298

These SSE-related defines are unnecessary because all x86 Android devices
have these features. We switch all the checks to __i386__ instead.

This also fixes an issue where non-ARM bitcode files were being created with
the ARM defines present. This is problematic when we then try to do things
that would be arch-specific (i.e. the presence of SSE-enabled functions for
clamp(), ...).

This also cleans up the different target architecture specified in the x86
bitcode files so that they match the platform target (i686-unknown-linux).

Change-Id: Ibbead4aecba2c90bdbe6ff362960079cb7a9e4dc
enderscript/RSInfo.h
3d740780dfc4c446d89b9d130d739b4aa90c8298 12-Jul-2013 Stephen Hines <srhines@google.com> DO NOT MERGE - Only support EnableGlobalMerge on ARM architectures.

Change-Id: I5c4c236c306e120c5aa24fbc91815cc27d7aab0f

Conflicts:
include/bcc/Renderscript/RSCompilerDriver.h
enderscript/RSCompilerDriver.h
957c9bcff7f9811cd9cb62211c888338228f8a15 30-Apr-2013 Stephen Hines <srhines@google.com> DO NOT MERGE - Provide a way to disable LLVM's global merge optimization.

Change-Id: I92dff2a208c821722f057dd8c26bd12a1cb5a794

Conflicts:
include/bcc/Renderscript/RSCompilerDriver.h
lib/Renderscript/RSCompilerDriver.cpp
enderscript/RSCompilerDriver.h
efde1ffb2f6fae8bfa724560432a1434fb0ef71b 20-Aug-2013 Tobias Grosser <grosser@google.com> Remove unused code

Change-Id: Iea9198c5ce78db933883ac4adab1332f4d2fc430
enderscript/RSScript.h
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
ource.h
1a36fcaac9255684fec371868c80ecab0b68c8c2 07-Aug-2013 Stephen Hines <srhines@google.com> am a08768d4: am 48cd7454: Fix Windows build issues for libbcc.

* commit 'a08768d46fa5e3087d0fbd288366c53495ee2773':
Fix Windows build issues for libbcc.
48cd745480738c026312931877ecb8ebecb1c64e 31-Jul-2013 Stephen Hines <srhines@google.com> Fix Windows build issues for libbcc.

Add unimplemented versions of dlfcn.h functions.
Remove OutputFile::CreateTemporary(), since it is unused.
Remove unnecessary includes to prevent issues with missing libraries.

Change-Id: I74bea72c8f174843e61faa8cac8bd6ae429a1bc0
upport/OutputFile.h
baa6b9d53c2675f20ae6a8d7796b6d530cca8fa7 16-Jun-2013 Stephen Hines <srhines@google.com> Remove libbcc's dependence on mclinker.

These features are no longer being used by libbcc, and static initializers
from mclinker are conflicting with tool development (i.e. positional argument
specifiers for the new bcc executable).

Change-Id: I0da427034c50015607a59d4193547868fa9eeabf
inker.h
upport/LinkerConfig.h
upport/MemoryFactory.h
upport/TargetLinkerConfigs.h
d5a0f131fcd068c87024a6cf917e34151d4bb114 05-Jun-2013 Stephen Hines <srhines@google.com> Remove ABCC and associated components.

Change-Id: I93f1c2918ca68268d09fac5249e8ba24d6d76dd8
ndroidBitcode/ABCCompiler.h
ndroidBitcode/ABCCompilerDriver.h
ndroidBitcode/ABCExpandVAArgPass.h
6a5fa14074200a18824defa0bffc64e5f2487152 24-Jul-2013 Tobias Grosser <grosser@google.com> Remove beforeExecuteLTOPasses callback

This callback had very unclear semantics and the current use was suprising.
Specifically, it took a PassManager parameter, but adding anything to this pass
manager would cause the passes to be executed after the other LTO passes The
only way to execute passes before the LTO passes, was to create a new pass
manager that executes a pass right before all LTO passes (that have already
being queued in the pass manager passed in as a parameter) will be executed.
The very same behavior can be achieved by just adding our passes to the
normal pass manager using the "BeforeAddLTOPasses" callback.

We used this callback to schedule the ForEachExpand pass. This pass is now
moved to the beforeAddLTOPasses callback.

Change-Id: I3916543a4ee282e403174b90dc7b7588baab9ea3
ompiler.h
enderscript/RSCompiler.h
5b7f52aff2030d520ee2ac6d3ac7d917f38d550c 23-Jul-2013 Tobias Grosser <grosser@google.com> Improve error code to error string translation

We now use an explicit switch to translate an error code to an error string as
this allows the compiler to statically verify that we covered all cases. While
at it we add a new error message for "kErrInvalidSource" which was missing
previously. We also remove "kMaxErrorCode" as it was unused.

Change-Id: I8ade465697c7fa6cc3e48c5c581e5a4dfcf15959
ompiler.h
c06cd06078a8c866d5cecbf897326092b55a8955 12-Jul-2013 Stephen Hines <srhines@google.com> Only support EnableGlobalMerge on ARM architectures.

Change-Id: I5c4c236c306e120c5aa24fbc91815cc27d7aab0f
enderscript/RSCompilerDriver.h
ad69476ec040ba9ee07176ccb758aabb5ff6d51c 30-Apr-2013 Stephen Hines <srhines@google.com> Provide a way to disable LLVM's global merge optimization.

Change-Id: I92dff2a208c821722f057dd8c26bd12a1cb5a794
enderscript/RSCompilerDriver.h
27fb7edfd3f53f52fba6ee81267c02f7896198a3 22-Jun-2013 Tobias Grosser <grosser@google.com> Dump LLVM-IR before generating target code

Dumping the IR earlier prevents target specific passes to modify
the IR before it is dumped.

Change-Id: I8a61efb7140b0c2025381ea1ad1f4cf3522ec870
ompiler.h
7b980e1717f3cf418f7bc4e40597004bc1139b8b 20-Jun-2013 Tobias Grosser <grosser@google.com> bcc: Add option -emit-llvm

Change-Id: I98470c6573b216518f77d338f4659d5b9fbcc3d3
enderscript/RSCompilerDriver.h
4e9864870f4a2c15ca8e1c333d92487a87ef0655 16-Jun-2013 Stephen Hines <srhines@google.com> Remove libbcc's dependence on mclinker.

These features are no longer being used by libbcc, and static initializers
from mclinker are conflicting with tool development (i.e. positional argument
specifiers for the new bcc executable).

Change-Id: I0da427034c50015607a59d4193547868fa9eeabf
inker.h
upport/LinkerConfig.h
upport/MemoryFactory.h
upport/TargetLinkerConfigs.h
124296a1e203dac97e1ab792e0dee3eb8a66dbfe 07-Jun-2013 Stephen Hines <srhines@google.com> Merge "Further separate build (compile) and load in libbcc."
01195ba2a34c6f2318376f7a79da6daa30d2703e 30-May-2013 Tobias Grosser <grosser@google.com> Detect and enable hardware divisions

To understand the performance impact of hardware division it can be disabled
by setting 'debug.rs.arm-no-hwdiv'.

Change-Id: Ib731f38ba56472c96f5fc0f2125fcf6a9f3998b9
upport/Properties.h
47f0d5a8d9ed629a6d58d3e69891f2c7fdee44d9 05-Jun-2013 Stephen Hines <srhines@google.com> Further separate build (compile) and load in libbcc.

Bug: 7342767

Change-Id: Ia6000d6c3557280126c6bb7f945c922528adeedc
ompiler.h
enderscript/RSCompilerDriver.h
2a0e339cdae6f1ed94186acf70a8b9fea01990af 05-Jun-2013 Stephen Hines <srhines@google.com> Remove ABCC and associated components.

Change-Id: I93f1c2918ca68268d09fac5249e8ba24d6d76dd8
ndroidBitcode/ABCCompiler.h
ndroidBitcode/ABCCompilerDriver.h
ndroidBitcode/ABCExpandVAArgPass.h
01f05d4b45cbde1e07d4707152908c1d843f1328 01-Jun-2013 Stephen Hines <srhines@google.com> Load scripts from cached files every time.

Bug: 7342767

Having an separate in-memory (vs. file-based) loader makes little sense as
we refactor libbcc (to separate it into its own process space). This change
is a first step in cleanly separating the compile and link steps.

Change-Id: Iad67527329171f18475ced0f0b2652a0aa060259
enderscript/RSCompilerDriver.h
enderscript/RSInfo.h
enderscript/RSScript.h
86e4506416f974d3c717deaca2b17b0792cc2d49 07-May-2013 Stephen Hines <srhines@google.com> Adapt libbcc for LLVM/Clang/mclinker update.

Change-Id: I80260f41b3c80e4cd260480ff32ee35a9215e39a
inker.h
upport/LinkerConfig.h
1d4a9e4646e8786623daa6ac3917782be56a8fb2 18-Apr-2013 Stephen Hines <srhines@google.com> Improve caching for debug contexts.

Bug: 7343201

We now skip caching on debug contexts and destroy the cached script copy
when we are finished with it. This is a temporary fix until we can refactor
libbcc caching.

Change-Id: I356b67419dc246209c7b5e077264b0cf2e42578c
enderscript/RSCompilerDriver.h
8ee82d4c1dded958f27f0dc51ddeceda0c895d99 17-Apr-2013 Stephen Hines <srhines@google.com> Build debug version version of runtime (libclcore_debug.bc).

Bug: 7343201
Change-Id: I9ca9acd7b0e23762d28de3af0aa60d4a6d75e5dd
enderscript/RSInfo.h
3d0be775a298c8345a038e4f1e060176659ec9db 05-Mar-2013 Jason Sams <jsams@google.com> am e323991d: Merge "Start to add X86/SSE2+ optimized clcore library"

* commit 'e323991d04284925ff7aea8387bc55c1ed57a061':
Start to add X86/SSE2+ optimized clcore library
e323991d04284925ff7aea8387bc55c1ed57a061 05-Mar-2013 Jason Sams <jsams@google.com> Merge "Start to add X86/SSE2+ optimized clcore library"
bb05edd21dc3d886c154b0677b6bc87ae75019ee 19-Feb-2013 Stephen Hines <srhines@google.com> Merge "Add LinkRuntimeCallback() and supporting functions to RS compiler."
c96e497b24cbcd177a85c16582ae77bf5ad0fa8a 15-Feb-2013 Stephen Hines <srhines@google.com> am b7e1ce28: Merge "[MIPS] Configure code generator to emit static code"

# By Chris Dearman
# Via Duane Sand (1) and Gerrit Code Review (1)
* commit 'b7e1ce28e1acb488223269ba158dbaa7275576f0':
[MIPS] Configure code generator to emit static code
162dba1f31afd37b9f0f675cf5104cb02a62d83c 18-Dec-2012 Chris Dearman <chris@mips.com> [MIPS] Configure code generator to emit static code

The code generator creates PIC by default but it is better to generate
static code in this environment.

Change-Id: I663eb664a3177cafb9e6e7cace6586a4a8ba5cb8
Signed-off-by: Chris Dearman <chris@mips.com>
upport/TargetCompilerConfigs.h
06731a6150ae8014d37258d5f32ef8bc14a3db63 13-Feb-2013 Stephen Hines <srhines@google.com> Add LinkRuntimeCallback() and supporting functions to RS compiler.

Change-Id: I7745406a94ba74896ee98752a3de106d2672159d
enderscript/RSCompilerDriver.h
enderscript/RSScript.h
ource.h
7233dcad720ea7e4f6b40b0448244bd4f0c5307e 08-Feb-2013 Shih-wei Liao <sliao@google.com> Increase RSInfo version number.

The recent change on adding libcompiler_rt.so to library dependencies
changes the format of RSInfo (one entry is added.)

Change-Id: I690010f4b8ff2ff6f636583faba52eec327f0acd
enderscript/RSInfo.h
3ab9da1e1b3d7794994393af086d096397fb84db 02-Feb-2013 Stephen Hines <srhines@google.com> Fix bcc_compat symbol resolution with libcompiler_rt.so.

Change-Id: Id6177e53ec9647b560a73de566d2d8a95d860200
xecutionEngine/CompilerRTSymbolResolver.h
enderscript/RSCompilerDriver.h
831466293e1ede1e1f557bab362dc1caeac42eff 26-Jan-2013 Shih-wei Liao <sliao@google.com> Remove BCCRuntimeSymbolResolver.

And remove libbcc's long outdated compiler-rt.

Change-Id: I57ec4c0403ec8cbaeaedb2333d3e2d20c6e24718
xecutionEngine/BCCRuntimeSymbolResolver.h
09ca95426a7ec66def02e47048bb25289759c6fb 26-Jan-2013 Shih-wei Liao <sliao@google.com> Switch to use libcompiler_rt for compiler runtimes.

Change-Id: I64b3d4ba80343bc592fa0df72242b33b2d2ae0ed
xecutionEngine/CompilerRTSymbolResolver.h
enderscript/RSCompilerDriver.h
f7401ab4b42dcbd782f20ba5c279694edbd28516 26-Jan-2013 Shih-wei Liao <sliao@google.com> Add libcompiler_rt.so as built-in dependencies for RS.

Change-Id: I376616ffbe26813a8341e87c965a27666d35b9a6
enderscript/RSInfo.h
b730e239619a546d93e5926ea92d698ab77ec7f6 10-Jan-2013 Stephen Hines <srhines@google.com> Updates for LLVM merge to r171906 on 20130108.

Change-Id: I096cb90103b19e3110ea562d60e5eb8ad48d9b67
ompiler.h
ca4f96c0f1fcf7a2bdc5a432b751befff149f73d 03-Jan-2013 Shih-wei Liao <sliao@google.com> Apply changes to migrate on MCLinker 2.0.2-1.

Change-Id: I8b25ad23c257e8a98069611dde525cc6d37e06e9
inker.h
upport/LinkerConfig.h
cdcce323a2acddb4234e6906c691e20bb3d714f9 26-Sep-2012 Michael Liao <michael.liao@intel.com> Start to add X86/SSE2+ optimized clcore library

'sqrt' and 'clamp' are optimized on x86/sse2 target.

Change-Id: Ia8f1b12c666828de88c49699006e44b17431a9ac
Author: Michael Liao <michael.liao@intel.com>
Signed-off-by: Yong Chen <yong.a.chen@intel.com>
Signed-off-by: Xiaokang Qin <xiaokang.qin@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 61893
enderscript/RSInfo.h
52acbab46d32526a42f9015f175ea9a552426966 17-Dec-2012 Shih-wei Liao <sliao@google.com> Apply changes to migrate on MCLinker 2.0.1.

Change-Id: I6a3a4fac269a7dbec6ecbf06cccfddf08a03251b
inker.h
upport/LinkerConfig.h
upport/TargetLinkerConfigs.h
86a0b797c221d4c3373dc10c8229b75b6747f6e7 07-Nov-2012 Stephen Hines <srhines@google.com> Embed RS metadata info directly in emitted object code.

Bug: 7419958
Change-Id: Ibd82e503c006532aa74013a46dd13ec3e9473daa
enderscript/RSScript.h
enderscript/RSTransforms.h
331310e1f3f86a795f78e42b3f03558a43829f09 27-Oct-2012 Stephen Hines <srhines@google.com> bcc_compat - convert bitcode to shared object files.

BUG: 7419958

Change-Id: Ie81203b460d60425780657b51ba3aba2b2b77e05
enderscript/RSCompilerDriver.h
enderscript/RSInfo.h
enderscript/RSScript.h
upport/FileBase.h
upport/FileMutex.h
f3eb9b8c5bb3198aff2878de4dae4e70e5ef3900 22-Sep-2012 Shih-wei Liao <sliao@google.com> Support -z options in bcc::Linker.

Change-Id: I1540510e1160177a531906e25ca437b6af62122d
upport/LinkerConfig.h
60ca7e1fbf7d8310387de5091ec76af538ecd480 13-Sep-2012 Shih-wei Liao <sliao@google.com> No need to run more LTO in ABCCompiler.

Change-Id: I5603e86b357c75f3995bb6dbe23812ef574aa505
ndroidBitcode/ABCCompiler.h
65569163ae870b16f3a1bedaa994e62422c3963e 16-Aug-2012 Shih-wei Liao <sliao@google.com> No need to specify triple to ABCCompilerDriver.

Change-Id: Ia6463466504afd94a9cd4a04c9bc7859fbba1ff5
ndroidBitcode/ABCCompilerDriver.h
a1d5d7980254d70dd28f4244a2b73120847b5f15 16-Aug-2012 Shih-wei Liao <sliao@google.com> Introduce ThumbCompilerConfig to compile for Thumb. BUG=6996910

Change-Id: I7e36b4e451520b9e47915b983cad8a3040691829
upport/TargetCompilerConfigs.h
99c8a6be8147edece2d052cbf3c52e1d48237cbb 16-Aug-2012 Shih-wei Liao <sliao@google.com> Add DEFAULT_THUMB_TRIPLE_STRING. BUG=6996910

Change-Id: I08f5b1d2c83949ba768938e42db0458fac23a424
onfig/Config.h
42b88c3b3cdadf6fcd367ee2bc620c0c94bbfe1b 16-Aug-2012 Shih-wei Liao <sliao@google.com> Handle variable arguments for ARM/Mips/X86.

Expand va_arg LLVM instruction in a target-specific manner.

Change-Id: Iddf071b7f4026f003df2ad129fd940c506e9ec99
ndroidBitcode/ABCCompiler.h
ndroidBitcode/ABCCompilerDriver.h
ndroidBitcode/ABCExpandVAArgPass.h
3f64f76a827af742d969fe0b699d42a70b069998 16-Aug-2012 Shih-wei Liao <sliao@google.com> A BCCompiler that supports "lowering" (target-defined) before codegen

Change-Id: Iaf327a4867bb00af57c253c9cea13e7a8cb0572e
ndroidBitcode/ABCCompiler.h
ndroidBitcode/ABCCompilerDriver.h
31b7c5664f33fcc335c29d8533537ad3c50fe467 16-Aug-2012 Shih-wei Liao <sliao@google.com> Separate function list for each target.

Change-Id: I0f5f92efe206adb843a18ff05cd95707ee5a24d2
ndroidBitcode/ABCCompilerDriver.h
3928c62048612cd7180136017be5b7436c55717c 16-Aug-2012 Shih-wei Liao <sliao@google.com> Refactor ABCCompilerDriver to allow target-dependent settings.

Change-Id: Ie46a8838c0b911d5dedf82bc09616dcd728c663d
ndroidBitcode/ABCCompilerDriver.h
805a5e2b755a7869621f263e6321d890e06fcf24 06-Aug-2012 Shih-wei Liao <sliao@google.com> ARM/x86 agreeing: .init_array.

Change-Id: Ie9abc6d53ab4f53a5c30103296dfa6150a484365
upport/TargetCompilerConfigs.h
2b04086acbef6520ae2c54a868b1271abf053122 28-Jul-2012 Stephen Hines <srhines@google.com> Use known strides instead of input args when possible.

BUG=6892059

Change-Id: I15b3726624ff0eeca5e30aaa6de928f1c9912471
enderscript/RSTransforms.h
6e9e89d1ed049ec931bb1000948c12698e6c5484 28-Jul-2012 Stephen Hines <srhines@google.com> Add back support for bccAssert.

Change-Id: Ib8abe1c5c1bd8390fd3b9268f43f6de3c8803560
ssert.h
e198abec6c5e3eab380ccf6897b0a0b9c2dd92dd 28-Jul-2012 Stephen Hines <srhines@google.com> Rename RenderScript -> Renderscript.

Change-Id: I187928033b47f3e3f4cb811a0b3562f479cfe417
enderScript/RSCompiler.h
enderScript/RSCompilerDriver.h
enderScript/RSExecutable.h
enderScript/RSInfo.h
enderScript/RSScript.h
enderScript/RSTransforms.h
enderscript/RSCompiler.h
enderscript/RSCompilerDriver.h
enderscript/RSExecutable.h
enderscript/RSInfo.h
enderscript/RSScript.h
enderscript/RSTransforms.h
40b9ba0213349a9eed81dfe974c0ea6f9a514558 27-Jul-2012 Shih-wei Liao <sliao@google.com> Add const.

Change-Id: I52b3f5756ced85cdb1027b6497ae40de54cc50b3
upport/LinkerConfig.h
52aefd86e18310cd7e5de81f8498bb3497978519 27-Jul-2012 Shih-wei Liao <sliao@google.com> Add a bitcode compiler driver. BUG=6886348.

ABCCompilerDriver takes bitcode as input and use
bcc::Compiler and bcc::Linker to generate a shared object.

Change-Id: Ie4d92e125bd0c694ebe152bdc128cfa2d95acb4f
ndroidBitcode/ABCCompilerDriver.h
0dbd4fbaf5966b52e4382a748fd9c7c7b9b31f55 27-Jul-2012 Shih-wei Liao <sliao@google.com> Provide a way to obtain TargetMachine. BUG=6886348.

Change-Id: I39da6c634586f8993df10af4a1b7bfb603a38f84
ompiler.h
6202dda52b7898340aac05e73adebc4fb9199f4d 27-Jul-2012 Shih-wei Liao <sliao@google.com> Add Source::CreateFromFd(). BUG=6886348.

Change-Id: I70bba15b664d6290931faba0482be1241dcc6ede
ource.h
f0407796f0c3e16065db7fd61a2b09e27aaac24d 27-Jul-2012 Shih-wei Liao <sliao@google.com> Remove MCLinker headers dependency.

Change-Id: I265770d4157068a934c9ae9d42fdd621b2683a68
inker.h
8fe71dd4cd49c426cafa73ab21ab7a95dd15254a 27-Jul-2012 Shih-wei Liao <sliao@google.com> Fix McLinker and bcc::Linker default library search path.

Shared objects, for example, libm.so, can not be found under the
default search pathes (/usr.) This is because the sysroot cannot
propagate its value to the default search pathes since it was
given after the search pathes has been set.

Change-Id: I5e138713d1c061de7ef6ac1599d8c036ed35b3f2
inker.h
d7f1bd6a5b27212522a59ce94537ac4431a94794 24-Jul-2012 Shih-wei Liao <sliao@google.com> Use USE_DISASSEMBLER and drop the letters "MC".

Change-Id: Iaae9a7c5a252ca5f70b90d434a342a257168d82b
onfig/Config.h
6d01af642a7cacdbd483f0c57e9f17cdeaaa98d6 23-Jul-2012 Shih-wei Liao <sliao@google.com> Dump disassembly in RS after the compilation. BUG=6841435.

Change libbcc_DEBUG_MC_DISASSEMBLER in libbcc-config.mk to enable
this feature.

Change-Id: Iaac106dfa9cda1b1830ea4255807ab08b2f0e2bb
enderScript/RSExecutable.h
b2b8c64cd0524f9210218df4738f40409631ea26 23-Jul-2012 Shih-wei Liao <sliao@google.com> Add a flag kAppend in FileBase. BUG=6841435.

Change-Id: I03613029e33867bc0ed731f232d1fc4b21c97dd9
upport/FileBase.h
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
upport/File.h
upport/FileBase.h
388fec12e6bbf5798281d266cac63630bcaba333 23-Jul-2012 Shih-wei Liao <sliao@google.com> bcc::Disassemble() API. BUG=6841435.

Change-Id: Ie249f47ba2856aac300061e53dfd34b3ada999f7
upport/Disassembler.h
b23b1568c3dcedc2305e459bff02256256bf3329 23-Jul-2012 Shih-wei Liao <sliao@google.com> Remove HAVE_BCC_CONFIG_MK_H.

Change-Id: I21334ea5279e814f427e39c75f0c89297e026ca5
onfig/Config.h
9795754a34648d962f00ced51183b759b9eaf2b2 23-Jul-2012 Shih-wei Liao <sliao@google.com> Add APIs to get symbol size and symbol name list. BUG=6841435.

Change-Id: I4ed2af9fcfed1086f48830f9f041299fd037f436
xecutionEngine/ObjectLoader.h
93c8832a6916a54d984764bf83a8a77cbae4143b 16-Jul-2012 Shih-wei Liao <sliao@google.com> Linker funtionality based on MCLinker.

Change-Id: I0c0d105a2538f1f8ccf9f6925c027b32da3c9ca8
inker.h
upport/LinkerConfig.h
upport/MemoryFactory.h
upport/TargetLinkerConfigs.h
1216f36c5ab18ca8838cc683327655ab40f223ca 25-Jun-2012 Shih-wei Liao <sliao@google.com> Fix mesa3d.

Change-Id: Iab88ee0b77f1b642141c8d42818ec220705c1b91
onfig/Config.h
ed7fffbc0e3fe3c5dced1248f6be52b6c95b513b 30-Jun-2012 Shih-wei Liao <sliao@google.com> Add a property for overriding FP precision.

This merges the Stephen's CL 32c56ec on Jun. 1. It also renames
RSInfo::{Full,Relaxed,Imprecise} to RSInfo::{FP_Full,FP_Relaxed,
FP_Imprecise} which is more descriptive.

Change-Id: I6f202524d58a7f5a9dd8ea122aa0fd81162291b0
enderScript/RSInfo.h
ba4206445e192f4c0fa519eae55c4b84cfb0efee 30-Jun-2012 Shih-wei Liao <sliao@google.com> Refactor linking RS runtime after having RSInfo.

Change-Id: I96119297de4c98463af7dad9dce3ac9304880637
enderScript/RSCompilerDriver.h
b1cc74f2fc38ea115b69f65302bc62478fe59a4a 30-Jun-2012 Shih-wei Liao <sliao@google.com> Add libclcore_neon.bc as a built-in dependency.

Change-Id: If23d3b4950ab3f28f8186313ada18d9eeec0e3e6
enderScript/RSInfo.h
7bcec85228c1eceade6efc9cd7d02ef81c8d55e9 25-Apr-2012 Shih-wei Liao <sliao@google.com> Remove all deprecated BCC C APIs.

This commit revises RSCompilerDriver::build(...) method which is
custom-made for RenderScript. It also removes
RSScript::SourceDependency since RSScript no longer needs to keep
dependency information for its associated source.

Change-Id: Ic70f6db9fd7dd57a42f0b464132636b9d8ddf5c0
enderScript/RSCompilerDriver.h
enderScript/RSInfo.h
enderScript/RSScript.h
cc.h
2665c2f94ed14c1d15925d83b47aa519a11dafe5 25-Apr-2012 Shih-wei Liao <sliao@google.com> Link libclcore.bc for RenderScript by default.

Change-Id: I6278bb4183a13ae3485a2afecb6b87ea849ad01e
enderScript/RSInfo.h
enderScript/RSScript.h
f290793bc65b8483332ac8b568962395c4a63927 13-Apr-2012 Zonr Chang <zonr.net@gmail.com> Refine SHA-1 related stuffs.

1. Introduce libbcc.sha1.so instead of raw file libbcc.so.sha1
* Now tools/build/gen-sha1-stamp.py generated assembly contains
symbols libbcc_so_SHA1 and libRS_so_SHA1 associated with their
SHA-1 digests.
* In that way, their SHA-1 information can be obtained via
dlopen().
2. Refine Sha1Helper to Sha1Util.
2. Remove unused tools/build/dataconvert.py by the way.

Change-Id: I345e1a09e6206748fb8dfabf891154de97a063ec
enderScript/RSInfo.h
enderScript/RSScript.h
upport/Sha1Helper.h
upport/Sha1Util.h
ef73a242762bcd8113b9b65ceccbe7d909b5acbc 12-Apr-2012 Zonr Chang <zonr.net@gmail.com> Refine DebugHelper.h into Log.h.

This removes USE_FUNC_LOGGER from libbcc-config.mk.

Change-Id: Ia496d41388135706a501bd362075f53d1c0eb6aa
xecutionEngine/SymbolResolverProxy.h
enderScript/RSExecutable.h
enderScript/RSInfo.h
upport/DebugHelper.h
upport/Log.h
7a5d423014e1cc95e34764b3ddf8e80ace3509b8 12-Apr-2012 Zonr Chang <zonr.net@gmail.com> Get build information in C++ way.

Change-Id: I5d2d2c18192bf9e5d2b9aa5a2bc1cce331191572
onfig/BuildInfo.h
c72c4ddfcd79c74f70713da91a69569451b5c19e 12-Apr-2012 Zonr Chang <zonr.net@gmail.com> Make libbcc public.

This commit is not expected to change any functionality.

Change-Id: I364e8bad32d946281b78b1ce36a1b26bf60e3055
CCContext.h
ompiler.h
onfig/Config.h
xecutionEngine/BCCRuntimeSymbolResolver.h
xecutionEngine/GDBJIT.h
xecutionEngine/GDBJITRegistrar.h
xecutionEngine/ObjectLoader.h
xecutionEngine/SymbolResolverInterface.h
xecutionEngine/SymbolResolverProxy.h
xecutionEngine/SymbolResolvers.h
enderScript/RSCompiler.h
enderScript/RSCompilerDriver.h
enderScript/RSExecutable.h
enderScript/RSInfo.h
enderScript/RSScript.h
enderScript/RSTransforms.h
cript.h
ource.h
upport/CompilerConfig.h
upport/DebugHelper.h
upport/Disassembler.h
upport/File.h
upport/FileBase.h
upport/FileMutex.h
upport/Initialization.h
upport/InputFile.h
upport/OutputFile.h
upport/Sha1Helper.h
upport/TargetCompilerConfigs.h
ade92778b99382413ff9c556c724dd3f447e5dfb 13-Apr-2012 Zonr Chang <zonr.net@gmail.com> Switch to use RSCompilerDriver.

This commit is large. It does:

1. Clean-up RSScript. ScriptCached and ScriptCompiled are removed.
2. Switch to use CompilerConfig.
3. Switch to use RSInfo. MCCacheReader and MCCacheWriter are removed.
4. Update C API implementation of libbcc (i.e., bcc.cpp). Note that
it'll be completely removed once there's no clients relying on it.

Change-Id: I9cbe9f9441f73b7c0b3b84793cb35810dd3a9f4c
cc.h
cc_mccache.h
7a66e6cbb1ae32cd56b19822c4e66560deb857db 25-Apr-2012 Shih-wei Liao <sliao@google.com> Merge lib/Transforms into lib/ExecutionEngine.

Rename BCCTransforms to RSTransforms and ForEachExpand.cpp to
RSForEachExpand.cpp. These are RenderScript-specific stuffs.

Type of parameter passed to RSForEachExpand pass was also modified to
use "vector of pairs (function name, foreach signature)."

bcc_assert.h is removed in this commit.

This commit is not expected to change any sematics.

Change-Id: I6663f66b25176cf970b6d10f742c15e2d302885e
cc_assert.h
1e2adce6df4414d827149ec563c9c89f21ea7426 12-Apr-2012 Zonr Chang <zonr.net@gmail.com> Introduce RSInfo and its reader/extractor/writer.

This commit only adds files that implements RSInfo class and DOES
NOT switch to use it.

RSInfo defines the new file format to cache the metadata and
RS-specific information from the source bitcode.

It's the replacement of the old "MC cache" whose name is ambiguous
and some fields within that are deprecated after legacy JIT was
removed.

Reader of RSInfo reads information from the file we called "RS info
file." It will replace MCCacheReader.

Extractor of RSInfo extracts information from the metadata section of
the source bitcode. It will replace MetadataExtractor.

Writer of RSInfo serializes a RSInfo object to a file such that
we can load it quickly using RSInfo reader later. It will replace
MCCacheWriter.

RSInfo unifies the interfaces to get the RS-specific information
such as #rs_export_var supplied by the developers either from file
(RS info file) or from the source bitcode. Later commit will prove
that.

RSInfo uses signature ("\0rsinfo\n") which is different from the
old MC cache ("\0bcc").

The version (MCO_VERSION in bcc_mccache.h) is increased by 1 in this
commit since we remove res_type in MCO_Dependency. RSInfo inherits
the version number comes from old MC cache therefore its version
number starts with 3.

Change-Id: Ie306d26599a3736ff80ccfb8fb6c1355b71872df
cc_mccache.h
0f6b1d319d0d3605042345c4a6973e9c4e9161d7 03-May-2012 Stephen Hines <srhines@google.com> Revert "Introduce RSInfo and its reader/extractor/writer."

This reverts commit 255cbc8a78131fd828de0fac3ff70baeaa2f032f.

Conflicts:

lib/ExecutionEngine/RSInfoExtractor.cpp

Change-Id: I533398c25cd7fde2a76418101d29374b6e1d2b27
cc_mccache.h
09ebd17a324628b420f091fd1a05a139c6d07d2b 03-May-2012 Stephen Hines <srhines@google.com> Revert "Merge lib/Transforms into lib/ExecutionEngine."

This reverts commit cd52b55716a2e4d78b0a6609b041c3aeb45b40f2.
cc_assert.h
4a68b1cb89df9507584a51c3444aff99347afb74 03-May-2012 Stephen Hines <srhines@google.com> Revert "Switch to use RSCompilerDriver."

This reverts commit fef9a1b0b772034b4f0894d1e2b29d1115617be0.

Conflicts:

lib/ExecutionEngine/RSCompiler.cpp

Change-Id: Ic6f3a3643e286a20799e1c7f03dee5d6c3683fef
cc.h
cc_mccache.h
2f6a493aea1b6e5ad318a759fedb58713a5a374c 03-May-2012 Stephen Hines <srhines@google.com> Revert "Make libbcc public."

This reverts commit 80232dd16c0affb2afae01cde6c94abf23ac1ba8.
CCContext.h
ompiler.h
onfig/Config.h
xecutionEngine/BCCRuntimeSymbolResolver.h
xecutionEngine/GDBJIT.h
xecutionEngine/GDBJITRegistrar.h
xecutionEngine/ObjectLoader.h
xecutionEngine/SymbolResolverInterface.h
xecutionEngine/SymbolResolverProxy.h
xecutionEngine/SymbolResolvers.h
enderScript/RSCompiler.h
enderScript/RSCompilerDriver.h
enderScript/RSExecutable.h
enderScript/RSInfo.h
enderScript/RSScript.h
enderScript/RSTransforms.h
cript.h
ource.h
upport/CompilerConfig.h
upport/DebugHelper.h
upport/Disassembler.h
upport/File.h
upport/FileBase.h
upport/FileMutex.h
upport/Initialization.h
upport/InputFile.h
upport/OutputFile.h
upport/Sha1Helper.h
upport/TargetCompilerConfigs.h
aa72a210b0f73671b01984020a74360c10427e31 03-May-2012 Stephen Hines <srhines@google.com> Revert "Get build information in C++ way."

This reverts commit 44d991658dbd5b80648a3944f1760ad19bbcac09.
onfig/BuildInfo.h
5b948190e3b311d06526addbb8f0e77a76da2467 03-May-2012 Stephen Hines <srhines@google.com> Revert "Refine DebugHelper.h into Log.h."

This reverts commit b519fe3f1d780873608f41d69316054e05c7e918.
xecutionEngine/SymbolResolverProxy.h
enderScript/RSExecutable.h
enderScript/RSInfo.h
upport/DebugHelper.h
upport/Log.h
6975a6653f5c433ba2fc009b4400c1c8157b512f 03-May-2012 Stephen Hines <srhines@google.com> Revert "Refine SHA-1 related stuffs."

This reverts commit 6378d8f50449d79b8937c238b968ceeb9dbd4ee1.

Conflicts:

Android.mk

Change-Id: Ib8988583a0b916d21e9314e919269f02c4dd600e
enderScript/RSInfo.h
enderScript/RSScript.h
upport/Sha1Helper.h
upport/Sha1Util.h
c4fba3156a3fefef4d5893031d37a5b6b4373896 03-May-2012 Stephen Hines <srhines@google.com> Revert "Link libclcore.bc for RenderScript by default."

This reverts commit 0467d9a53b20f8c9069019cde9f035c127acbc9a.
enderScript/RSInfo.h
enderScript/RSScript.h
7dfc4d8e7c29fb65ee8c0bef6ad91bf3928a77d1 03-May-2012 Stephen Hines <srhines@google.com> Revert "Remove all deprecated BCC C APIs."

This reverts commit 170d420231f10d5b914fde505202c58f11f43e27.
enderScript/RSCompilerDriver.h
enderScript/RSInfo.h
enderScript/RSScript.h
cc.h
170d420231f10d5b914fde505202c58f11f43e27 25-Apr-2012 Shih-wei Liao <sliao@google.com> Remove all deprecated BCC C APIs.

This commit revises RSCompilerDriver::build(...) method which is
custom-made for RenderScript. It also removes
RSScript::SourceDependency since RSScript no longer needs to keep
dependency information for its associated source.

Change-Id: I74335b52d0f9fe91343c30caada2a4df07008e5b
enderScript/RSCompilerDriver.h
enderScript/RSInfo.h
enderScript/RSScript.h
cc.h
0467d9a53b20f8c9069019cde9f035c127acbc9a 25-Apr-2012 Shih-wei Liao <sliao@google.com> Link libclcore.bc for RenderScript by default.

Change-Id: I93eb5a09689373afa973b8c08dd0842152220217
enderScript/RSInfo.h
enderScript/RSScript.h
6378d8f50449d79b8937c238b968ceeb9dbd4ee1 13-Apr-2012 Zonr Chang <zonr.net@gmail.com> Refine SHA-1 related stuffs.

1. Introduce libbcc.sha1.so instead of raw file libbcc.so.sha1
* Now tools/build/gen-sha1-stamp.py generated assembly contains
symbols libbcc_so_SHA1 and libRS_so_SHA1 associated with their
SHA-1 digests.
* In that way, their SHA-1 information can be obtained via
dlopen().
2. Refine Sha1Helper to Sha1Util.
2. Remove unused tools/build/dataconvert.py by the way.
enderScript/RSInfo.h
enderScript/RSScript.h
upport/Sha1Helper.h
upport/Sha1Util.h
b519fe3f1d780873608f41d69316054e05c7e918 12-Apr-2012 Zonr Chang <zonr.net@gmail.com> Refine DebugHelper.h into Log.h.

This removes USE_FUNC_LOGGER from libbcc-config.mk.
xecutionEngine/SymbolResolverProxy.h
enderScript/RSExecutable.h
enderScript/RSInfo.h
upport/DebugHelper.h
upport/Log.h
44d991658dbd5b80648a3944f1760ad19bbcac09 12-Apr-2012 Zonr Chang <zonr.net@gmail.com> Get build information in C++ way.
onfig/BuildInfo.h
80232dd16c0affb2afae01cde6c94abf23ac1ba8 12-Apr-2012 Zonr Chang <zonr.net@gmail.com> Make libbcc public.

This commit is not expected to change any functionality.
CCContext.h
ompiler.h
onfig/Config.h
xecutionEngine/BCCRuntimeSymbolResolver.h
xecutionEngine/GDBJIT.h
xecutionEngine/GDBJITRegistrar.h
xecutionEngine/ObjectLoader.h
xecutionEngine/SymbolResolverInterface.h
xecutionEngine/SymbolResolverProxy.h
xecutionEngine/SymbolResolvers.h
enderScript/RSCompiler.h
enderScript/RSCompilerDriver.h
enderScript/RSExecutable.h
enderScript/RSInfo.h
enderScript/RSScript.h
enderScript/RSTransforms.h
cript.h
ource.h
upport/CompilerConfig.h
upport/DebugHelper.h
upport/Disassembler.h
upport/File.h
upport/FileBase.h
upport/FileMutex.h
upport/Initialization.h
upport/InputFile.h
upport/OutputFile.h
upport/Sha1Helper.h
upport/TargetCompilerConfigs.h
fef9a1b0b772034b4f0894d1e2b29d1115617be0 13-Apr-2012 Zonr Chang <zonr.net@gmail.com> Switch to use RSCompilerDriver.

This commit is large. It does:

1. Clean-up RSScript. ScriptCached and ScriptCompiled are removed.
2. Switch to use CompilerConfig.
3. Switch to use RSInfo. MCCacheReader and MCCacheWriter are removed.
4. Update C API implementation of libbcc (i.e., bcc.cpp). Note that
it'll be completely removed once there's no clients relying on it.
cc.h
cc_mccache.h
cd52b55716a2e4d78b0a6609b041c3aeb45b40f2 25-Apr-2012 Shih-wei Liao <sliao@google.com> Merge lib/Transforms into lib/ExecutionEngine.

Rename BCCTransforms to RSTransforms and ForEachExpand.cpp to
RSForEachExpand.cpp. These are RenderScript-specific stuffs.

Type of parameter passed to RSForEachExpand pass was also modified to
use "vector of pairs (function name, foreach signature)."

bcc_assert.h is removed in this commit.

This commit is not expected to change any sematics.

Change-Id: I4fbd89d9c36e5df29d03f8c938c111dd742dc079
cc_assert.h
255cbc8a78131fd828de0fac3ff70baeaa2f032f 12-Apr-2012 Zonr Chang <zonr.net@gmail.com> Introduce RSInfo and its reader/extractor/writer.

This commit only adds files that implements RSInfo class and DOES
NOT switch to use it.

RSInfo defines the new file format to cache the metadata and
RS-specific information from the source bitcode.

It's the replacement of the old "MC cache" whose name is ambiguous
and some fields within that are deprecated after legacy JIT was
removed.

Reader of RSInfo reads information from the file we called "RS info
file." It will replace MCCacheReader.

Extractor of RSInfo extracts information from the metadata section of
the source bitcode. It will replace MetadataExtractor.

Writer of RSInfo serializes a RSInfo object to a file such that
we can load it quickly using RSInfo reader later. It will replace
MCCacheWriter.

RSInfo unifies the interfaces to get the RS-specific information
such as #rs_export_var supplied by the developers either from file
(RS info file) or from the source bitcode. Later commit will prove
that.

RSInfo uses signature ("\0rsinfo\n") which is different from the
old MC cache ("\0bcc").

The version (MCO_VERSION in bcc_mccache.h) is increased by 1 in this
commit since we remove res_type in MCO_Dependency. RSInfo inherits
the version number comes from old MC cache therefore its version
number starts with 3.
cc_mccache.h
0e56786df8c1d4828798f91fe2bf850d414ee04f 12-Mar-2012 Stephen Hines <srhines@google.com> Remove USE_CACHE support, since we only need MC support.

BUG=6051742

This change also removes the legacy bcc_cache.h header by moving any relevant
defines still there to bcc_mccache.h. These types/values are now renamed to
generally use "MCO" instead of "OBCC".

Change-Id: I6c611bd296c0335cacd82025933f36eb55bff72f
cc_cache.h
cc_mccache.h
88d93c664e6f74acd571d57fed7ea4cb51204fa5 10-Mar-2012 Stephen Hines <srhines@google.com> Use ALOGE instead of fprintf() for logging.

Change-Id: I4f5bb30bede43a76c30feac596ee44efe8fedb08
cc_assert.h
6934174c018f64214934165aa8e0ba7d361c4de5 03-Mar-2012 Shih-wei Liao <sliao@google.com> Change the API of bccPrepareSharedObject().

Change-Id: I2d0ecf6b062b52dc4b6b514d93ba8191920a00aa
cc.h
d8ed6a9d7b20f1b772087b8afcd8d70477672338 03-Mar-2012 Shih-wei Liao <sliao@google.com> Change the API of bccPrepareRelocatable().

Remove the caching from this function. It makes the API simpler
and intuitive. OBJPATH in the prototype is the path of the output
relocatable object file.

Change-Id: I03c423661a5ad306e8a18e30c838770a00a37f55
cc.h
cc366e573e31f43a6101fd6e04b90c6afdc3b7a7 22-Feb-2012 Stephen Hines <srhines@google.com> Support ForEachExpand on non-root functions.

BUG=6000538

Change-Id: I36e78ced0715b060af0938f1480df240cf6ba707
cc.h
cc_cache.h
cc_mccache.h
a471ebb05c3c6f31102cd512d2b73ed9d74ac2d7 05-Feb-2012 Shih-wei Liao <sliao@google.com> Refactoring interface.

Change-Id: I7afcd83408d381dcf4d053ffe66150f567e02545
cc.h
6a60f4ee19940a3e4a8ac0b3719493736d54caaf 17-Jan-2012 Shih-wei Liao <sliao@google.com> Follow the ELF spec. Use the terms relocatable.

Also, clean up the code.

Change-Id: I135050b1c3072ebb33ea0b48f9e2902c9eccd587
cc.h
8afed380cda0bc4b3d325064fc44b181312651ad 10-Jan-2012 Shih-wei Liao <sliao@google.com> Have separate prepareSharedObject and prepareObject.

Also, provide option for prepareObject to specify relocation model.

Change-Id: Ia9f51f1a463165d069dc918654e0f55189e7a274
cc.h
7890d437030c1594bc9c9f61fa1e80a57754b078 03-Aug-2011 Logan Chien <loganchien@google.com> Add bccMarkExternalSymbol (to specify external symbol.)

By default libbcc will internalize every symbol, and perform
LTO. However, in many situations we have to export a specific
function, such as "root" or "init" for RenderScript, so we are
adding bccMarkExternalSymbol.

Change-Id: I136eb8ff68e9ccf8c6595eb470f9718e1cb1e4ab
cc.h
bd76bc9349e788fd87bc21e2d6847f8c7a3b19b3 30-Jul-2011 Logan Chien <loganchien@google.com> Finish the refactor work of bccPrepareExecutable.

Change-Id: I20c122811d26b26dfdd64132f7229e5f5baa6d1e
cc.h
4928104ef3aad39e00d22ac81fd2aad6d41a25bf 26-Jul-2011 Joseph Wen <josephwen@google.com> Fixbug remove symbol lookup at MCCacheWriter

Change-Id: I4755bc99a414653c897f26609ad1bdc640f571ea
cc.h
cc_mccache.h
16c9b3674960eef4fda4955694bf186af4cfd5c0 19-Jul-2011 Stephen Hines <srhines@google.com> Remove unused APIs from libbcc.

BUG=4278636

Change-Id: I457e59efc525ad492008e1199a2bb98849eb98fa
cc.h
c2be0a15b2dfcc6f471527a0112ac42d51a0bf2f 19-Jul-2011 Logan Chien <tzuhsiang.chien@gmail.com> Change the argument of bccPrepareExecutable.

This is almost the last step of the refactoring process of
bccPrepareExecutable. Now, we change the argument of
bccPrepareExecutable, and we will remove bccPrepareExecutableEx
later.
cc.h
03a2e30e9ee0e3a880eb60f5047302d216db9582 13-Jul-2011 Logan Chien <loganchien@google.com> Split JIT image from oBCC.

This change is the first step to merge CacheReader and
MCCacheReader (CacheWriter and MCCacheWriter.) In this
commit, we split the executable generated by OLD JIT
into a separated file with ".jit-image" as the file extension.

Change-Id: Icd40623e1247ffdfa93558b8e9fc4378a78b4ea1
cc_cache.h
48dc01db0b865b73f41cef53bcb72f65fd027af4 13-Jul-2011 Logan Chien <loganchien@google.com> Add build time and build revision support.

Change-Id: I7badfcb7bd18d8b73910c5fad290b578765377fa
cc.h
e475ef0d80cf9355bb7d1fe515ec845ac3d10f77 12-Jul-2011 Logan Chien <loganchien@google.com> Remove unused bcc_checksum.h

Change-Id: Ic6cc678a7fedae91daaa7ea70c61f73b41760746
cc.h
cc_checksum.h
d9db38a7163c471e00019091f5c2dc0f05d742ef 11-Jul-2011 Logan Chien <loganchien@google.com> Update documentation and add deprecate attribute.

Change-Id: I4a73b739789cedeba1cf7e64be11aaaa09a9474b
cc.h
311c26faa483c639f03702a75220ca6f6509a01f 11-Jul-2011 Logan Chien <loganchien@google.com> Add new libbcc API bccPrepareExecutableEx

We are undergoing a migration to new bccPrepareExecutable,
which splits cachePath argument into cacheDir and cacheName
(no file extension).

Change-Id: I48ecb9bc6c038650bf766318ff96b78723d0f4bc
cc.h
8eabcbf188f6e58217ad316271ea5e984d6eacce 07-Jul-2011 Joseph Wen <josephwen@google.com> Remove unused code in MCCacheReader/Writer

Change-Id: I31dd0c401bbd4f979849387c1b34e60c7d33770d
cc_mccache.h
f36637f60d8fd35c43ad52bd06d3372c9bc8fb19 07-Jul-2011 Joseph Wen <josephwen@google.com> Fixbug 4995931

Do symbol look up every time the object file is loaded from cache.

Change-Id: I63184d3fc519270dfe4fc86e90efbf8552e0f584
cc_cache.h
cc_mccache.h
2ca6e576421e86e0128991b825c238f1d4221910 24-Jun-2011 Joseph Wen <josephwen@google.com> Fix the libbcc SHA1 checksum dependency

Calculate SHA1 checksum of libbcc.so and libRS.so at compile time.

Change-Id: Ief1c20e20d62f5d5bf0a62592e081d4a6d77dcd4
cc_cache.h
cc_mccache.h
d18a3df2628d26f65a1172ec2e3e0816731499f9 25-Jun-2011 Stephen Hines <srhines@google.com> Revert "Fix the libbcc SHA1 checksum dependency"

This reverts commit 89175b9e4c07df1302374421096d6e1355954ace.
cc_cache.h
cc_mccache.h
89175b9e4c07df1302374421096d6e1355954ace 24-Jun-2011 Joseph Wen <josephwen@google.com> Fix the libbcc SHA1 checksum dependency

Calculate SHA1 checksum of libbcc.so and libRS.so at compile time.

Change-Id: Ifc6cf6e309155229fe1ab1228c0eb77175fbd8f0
cc_cache.h
cc_mccache.h
5de1adfe315bbb088f7614936b1023c6d6d3fc35 22-Jun-2011 Joseph Wen <josephwen@google.com> Use SHA1 to verify libbcc is consistent with cache

Modify Android.mk to build a host version of sha1sum.
Modify bcc and MCCacheReader/Writer to check for sha1 on runtime.

Change-Id: I0aa32e2efd85e21f67cd46a20a9e55a430c41f30
cc.h
cc_cache.h
cc_checksum.h
cc_mccache.h
5e3e0ce19d80c9a42b89ca95f22d98fbbe6ffb14 17-Jun-2011 Shih-wei Liao <sliao@google.com> josephwen Adds caching for MC JIT.

New MCCacheReader in addition to the classic JIT's CacheReader.[cpp|h].
New MCCacheWriter in addition to the classic JIT's CacheReader.[cpp|h].

Change-Id: Iffd490caf25136d52cefc1c6bc2a78fa991236cd
cc_mccache.h
bbcef8ad069ee33c3bfc52dcd1bd6e1a7633e1f9 05-May-2011 Stephen Hines <srhines@google.com> Properly handle asserts for libbcc.

BUG=3430681

Change-Id: I906bbdefa6724cefa0e11f04ff1c5a9bc85ab88b
cc_assert.h
4dcd6798f3db374a056ea6acc6b425f544c5207c 27-Feb-2011 Logan <tzuhsiang.chien@gmail.com> Create DebugHelper.h

From now on, include DebugHelper.h for debug purpose.
cc.h
474cbd2fde362e63375f7a5099ca38b5c67835cf 30-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Add bccReadFile, bccLinkFile.
cc.h
071288a0a3bbc3c4a6e161ea7474a5c06bd15ae0 27-Jan-2011 Stephen Hines <srhines@google.com> Add BCC support for rs_object_slots metadata.

This is added to support proper cleanup of RS resources. We were leaking some
global resources because there was no way to tell which slots to clear.

Change-Id: I3e01ff4f7105444b7610d514f10dd56cb1b359b8
b: 3381615
cc.h
cc_cache.h
9099ddc17389469d25a348b42f00c2e033e6f1d7 26-Jan-2011 Shih-wei Liao <sliao@google.com> Change the Cache Version to 1, after those on-device linking CLs.

Change-Id: Ie087909df44b7dbce00ffc5861ba06a62aee9089
b:2943524
cc_cache.h
ce82d492bbcc4da2d5358275c27ec38eef060fbd 20-Jan-2011 Shih-wei Liao <sliao@google.com> Handle fatal errors for bccRegisterSymbolCallback.

Change-Id: Ifc4e076628c510aee184857e0f8b9df346ad93d7
cc.h
f340bf71ff377979d279132dcf5a801d76747d1f 14-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Redesign libbcc api.
cc.h
cc_cache.h
e132399eb9dc93123d50e9492ac7b01c2c9a4d35 11-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Check libbcc build time instead of sha1sum.

Since libbcc.so is larger than 3+Mb, it takes a lot of time
to calculate its sha1 checksum. In order to shorten the startup
time, we introduce the build time check. There will be a string
called libbcc_build_time in libbcc.so and the cached file,
which will store the build time of libbcc.so.

In case that you have to upate libbcc.so frequently, and you
want to enable the sha1 checksum of libbcc, then you may change
USE_LIBBCC_SHA1SUM to true.
cc_cache.h
4079b593051c61af2aa3a89e2cdfe213177f5be7 11-Jan-2011 Shih-wei Liao <sliao@google.com> bccLinkBC returns int.

Change-Id: I389240a5bd01c8468b5c08b64b32a221d9018784
cc.h
25e7da419b6be6cfde784fadd366f290532fe859 08-Jan-2011 Shih-wei Liao <sliao@google.com> Remove bccLoadBinary and remove the outdated comments (Now, invoking
Compiler::readBC is before knowing cache hit or not.)

Change-Id: I32fb075310abebdb3a7401a75fa76443d0a20c58
cc.h
f6267d1f0c65b10fa1d9b8aae08ad2c31df4a2e8 08-Jan-2011 Shih-wei Liao <sliao@google.com> Rename bccCompileBC as bccPrepareExecutable. Reason: caching case doesn't perform
CompileBC.

Change-Id: I940c7402126d5f7a513f504fb8c92698dc53a9dd
cc.h
a27a83f2b01b1710238d077dc9dfd7655f4513cd 07-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Add CacheWriter.
cc_cache.h
f3c83cef382eabf2afb9de36278e27bc00a50c7b 06-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Add __isThreadable libRS hack.
cc_cache.h
75cc8a5c58b3260e530eae9f2edd502b71d25373 06-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Reorganize SHA1 checksum code.
cc_cache.h
856ceb2774bd2c601970c2bc26fb87b2e9b00258 06-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Complete CacheReader.
cc_cache.h
b349a980e9b6119676e9b8b0669531c3db9ac813 06-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Correct typo: Dependancy -> Dependency.
cc_cache.h
f7f0ac5d3e12b2e84bd18aa32add4a11bf296dbb 06-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Add the CacheReader. (incomplete)
cc_cache.h
9d54769a37ee9bdb1f6b7d8eeb4402a220658ed2 05-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Rename the deprecated parameter name.
cc.h
5a943b616322c9fb6d6e5d3bfab64f6b303833ce 03-Jan-2011 Shih-wei Liao <sliao@google.com> Bump the version number.

Change-Id: Idfcea4b35c8cda89c9d6b9701078b1ad99a00fe2
cc_cache.h
e2ad1395223c8fda8e81b390839c1c2476b5d562 31-Dec-2010 Logan <tzuhsiang.chien@gmail.com> Remove bitcode timestamp and crc32 check.

The value passed by libRS is not reliable, and we have sha1
checksum now. So remove timestamp and crc32 checksum.
cc_cache.h
0647e9ef2e1d169c55cd0ec2ace86e27f251501e 28-Dec-2010 Logan <tzuhsiang.chien@gmail.com> Rename bcc::BCCscript -> bcc::Script.
cc.h
be65a48b68c08948c91dc4658376ae9f52d62627 21-Dec-2010 Shih-wei Liao <sliao@google.com> Stale cache management: Upgrade the MAGIC version.

Change-Id: I574a2c43f4f785cafecd2c820c044fad74142fc3
cc_cache.h
8b77a77e785f0e25b13016ed60770e521dc60e0b 21-Dec-2010 Logan <tzuhsiang.chien@gmail.com> Add sha1sum check for bitcode.
cc_cache.h
b9b04161de73d43e4f94de26a7211761267ed71a 20-Dec-2010 Logan <tzuhsiang.chien@gmail.com> Add modify time and crc32 to bccReadBC and cache header.
cc.h
cc_cache.h
e6a1851734f11fcc194e746f42da09daad3f60e7 09-Dec-2010 Shih-wei Liao <sliao@google.com> 1. New caching deployment mechanism: Now use per-app cache directory.

2. New cache naming.

Change-Id: I2d11b4e587cf76471792abf2d292a0075dea74d1
cc.h
d80e65b0376b721220be0caaeccb2adf5866521c 03-Dec-2010 Logan <tzuhsiang.chien@gmail.com> Propogate return code of Compiler::compile() to caller of bccCompileBC.
cc.h
7cc1baf27cacd15b23012d074e32bc7d3f0bb4d2 28-Nov-2010 Logan <tzuhsiang.chien@gmail.com> Add export pragma table for caching. And fix the bug which breaks Ball and Fountain.
cc_cache.h
3f3d31fc9eac3d82ed9d04690aafb58f1715b8d8 27-Nov-2010 Logan <tzuhsiang.chien@gmail.com> Extract BCCscript from bcc.cpp.
cc.h
aae8f2c2e3b22f920f23f0067214c64a796bde15 26-Nov-2010 Logan <tzuhsiang.chien@gmail.com> Extract oBCCHeader and oBCCRelocEntry from bcc.cpp.
cc_cache.h
7c5a5f755c5604950d8e31724ed02a532a47114b 08-Nov-2010 Shih-wei Liao <sliao@google.com> Add caching framework of binaries. Caching is not turned on for now. ARM & relocation (todo) of logan

Change-Id: I097e626b3c5d5dd4a37478144ce50f68d08d361d
cc.h
5d35b97a9a00f331994ec0cb21dc4abcddfdf523 23-Oct-2010 Zonr Chang <zonr@google.com> Bug fix & add internalize pass to LTO.
cc.h
97f5e614b456d0736372ec4a4bb6f5081d424b57 22-Oct-2010 Zonr Chang <zonr@google.com> Implement basic version of on-device linking.

Basic means no LTO passes running after linking the modules.
cc.h
dbee68b6e0df256797ce8ab13370d36699973664 21-Oct-2010 Zonr Chang <zonr@google.com> Add inteface to libbcc for llvm::Module input.
cc.h
932648d528f333d43defdf16b3f8e84afa865cc8 13-Oct-2010 Zonr Chang <zonr@google.com> Coding style fix, legal announcement.

No new function added and semantics changed.
cc.h
6bfd542175fa5e0e15630b8c9e2982a8175073e8 07-May-2010 Shih-wei Liao <sliao@google.com> Multiple LLVM context.

Change-Id: I6a0c0952afbb5f0e0d18bd29db65616ca95a4fdb
cc.h
abd1e3dd923239043a865a9eeaca69b24857e77e 28-Apr-2010 Shih-wei Liao <sliao@google.com> Sync upstream to r102410.
Re-turn on sdk.

Change-Id: I91a890863989a67243b4d2dfd1ae09b843ebaeaf
cc.h
77ed6142daed1e068fbda64405d0de9845e40e1a 07-Apr-2010 Shih-wei Liao <sliao@google.com> libbcc

Change-Id: Ieaa3ebd5a38f370752495549f8870b534eeedfc5
cc.h