History log of /frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
350d9a6c1b5bdb701b707f989db6dae57c64cece 19-May-2014 Stephen Hines <srhines@google.com> Remove unused define from makefile.

Change-Id: Ie8a17e90f058c85c19dc2bc5c5dff2b256de8c02
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
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
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
c6e6ee4392390c0888f808220adf33334e1f64a4 07-Apr-2014 Tim Murray <timmurray@google.com> Add DISABLE_LLVM_DEVICE_BUILDS to libbcc.

Change-Id: Iaad7b2ea8eea6c89c1c1a3d0e145bbb7bf60c6b9
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
831466293e1ede1e1f557bab362dc1caeac42eff 26-Jan-2013 Shih-wei Liao <sliao@google.com> Remove BCCRuntimeSymbolResolver.

And remove libbcc's long outdated compiler-rt.

Change-Id: I57ec4c0403ec8cbaeaedb2333d3e2d20c6e24718
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
c055e4e701f7c96f2a0b4cdd835bbf75427d5e68 14-Jan-2013 Ben Cheng <bccheng@google.com> Add HAS_HW_DIV to control the compilation of __udivsi3.

libgcc.a will contain __udivsi3 if -mcpu=cortex-a15 is specified.

Bug: 7961327
Change-Id: I1a06c564d6b345e76845f34b5d923637e40e7e1b
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
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
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
ddf5661793de8fb4e16906b7f7822972fcb13c6d 12-Apr-2012 Zonr Chang <zonr.net@gmail.com> Refine the makefiles.

* Introduce libbcc.mk which defines the path for makefiles and libbcc
configuration.
* Introduce libbcc-{device,host}-build.mk which defines the build
flags for building libbcc itself and/or for building module using
libbcc.
* Add header guard for generated ConfigFromMk.h.

Change-Id: I892f6d3637f628ea6aa0116d92ebc54770ce3a47
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
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
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
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
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
f74ee1940ac8e01c862e90de49eb10982648f6a1 12-Apr-2012 Zonr Chang <zonr.net@gmail.com> Introduce CompilerConfig.

CompilerConfig defines the "attributes" of a Compiler. It contains
target information, configuration, etc. to setup an instance of
Compiler (more specifically, a instance of LLVM TargetMachine used by
the compiler.)

CompilerConfig together with bcc::init::Initialize() will replace
current Compiler::GlobalInitialization().

Change-Id: I879b189632093de9bbef130eaa5e74502536951c
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
0f9cad99f9e3c4db42e9836cc0e316c3a84448f5 13-Apr-2012 Zonr Chang <zonr.net@gmail.com> Introduce ObjectLoader and RSExecutable.

ObjectLoader loads an object file into memory.

ObjectLoaderImpl defines a set of format-independent interfaces
that a object file format loader has to provide.

ELFObjectLoaderImpl is a subclass of ObjectLoaderImpl and can be used
to load an ELF relocatable object built based on librsloader. It
directly uses the C++ APIs provided by librsloader instead of using
wrapped C APIs defined in librsloader.h

RSExecutable holds the build results of a RSScript.

Change-Id: Ib73d3f567fce3dcfea8c9f2c9bc19fbc47ec78bc
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
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
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
862f3ba997e14b61dce9d341a75688951e67fd1b 11-Apr-2012 Zonr Chang <zonr.net@gmail.com> Introduce SymbolResolver and its subclasses.

SymbolResolver provides a clean way to do the symbol lookup at
runtime.

LookupFunctionSymbolResolver searches a symbol through a given
function with context supplied.

BCCRuntimeSymbolResolver searches symbol from a predefined symbol-to-
address array which replaces the FindRuntime() function defined in
Runtime.c previously.

SymbolResolverProxy chains the SymbolResolvers and searches the symbol
one by one following the chain until it founds the definition of the
symbol.

Change-Id: I47a8557c0c4be6d0a7ae5c3ac4166fdd1fd26329
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
4f94c520f8d699a5973956a1716272146be17128 05-Apr-2012 Zonr Chang <zonr.net@gmail.com> Introduce InputFile/OutputFile and FileMutex.

FileHandle is replaced with InputFile/OutputFile and FileMutex.

Use InputFile when you want to open a file in read-only.
USe OutputFile when you open a file for writing.
Both of them provide a reliable way to access the files and perform
the I/O operations.

Given a name "foo", FileMutex creates a file named "foo.lock" and
tries to acquire an advisory lock (flock) on this file.

FileHandle, which uses the file it's openning for locking, may corrupt
the file contents when two or more processes are trying to gain the
lock for reading/writing. For example:

Process #2 creates foo
Process #1 opens foo
Process #2 opens foo
Process #2 locks foo (exclusively) (success)
Process #1 locks foo (failed, retry #1)
Process #2 starts writing foo
Process #1 opens and truncates foo (note there’s O_TRUNC in the flag)
Process #2 writes foo continually (foo is corrupted from now on ...)
Process #1 locks foo (failed, retry #2)
...
Process #1 locks foo (reach the max retries and return)
Process #2 gets done on writing foo (foo is corrupted ...)
Process #2 unlocks and closes foo (foo is corrupted)

Change-Id: If416383717cc692741e59ff1e387adf90546e36f
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
ccc39a8f412edaec2d231ed1ec70ff25fa83af37 05-Apr-2012 Zonr Chang <zonr.net@gmail.com> Introduce new Script class.

Script basically manages a source object to be compiled.

Refactor Renderscript stuffs out from class Script to RSScript and
extend RSScript from Script (IS-A relation.)

No functionality changed.

Change-Id: I2fe4b56bef4fd8dc941f98d8276def61e0d8da49
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
d2a5a0eab7a1273797029702652e50b2ed9e6a6d 25-Apr-2012 Shih-wei Liao <sliao@google.com> Refactor SourceInfo into Source.

A Script object is associated with a Source object (HAS-A relation.)

A Source object describes the source code (more specifically, the LLVM
module) that is going to be compiled.

BCCContext contains the context used in a Source object.

BCCContext is now managed by the user not the libbcc itself. That is,
user should supply the context object when they create a Source object.

Change-Id: Icc5e2cab8a673a8e9d4ec1d2df9d612740151e27
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
1c30cee77f9a148215a0dacee2d922d1ec1b3bae 12-Apr-2012 Zonr Chang <zonr.net@gmail.com> Add BCCContext.

BCCContext manages the global data across the libbcc infrastructure.
This includes LLVMContext object required by materialize bitcode into
llvm::Module and LLVM compilation infrastructure.

Furthermore, BCCContext is escalated to be managed in Script instead
of in the SourceInfo.

Change-Id: I6b212a29d5144d40b6e9ca1e53b605ddc4d4541c
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
274926b0bcde562d51cbcf401a6f4a20cc2ddd70 03-May-2012 Stephen Hines <srhines@google.com> Revert "Add BCCContext."

This reverts commit c09dee62ae85df78e72f77900501a359f4a9fd99.
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
ead5ccba05af33df1a061b39847a9be137c00143 03-May-2012 Stephen Hines <srhines@google.com> Revert "Refactor SourceInfo into Source."

This reverts commit 4ce024bcff99bb154f44a73f4cf6201a0fe75917.
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
97c92c2d0604ea9cc4cd878f0f1901efc79c8835 03-May-2012 Stephen Hines <srhines@google.com> Revert "Introduce new Script class."

This reverts commit 19218c0731e8172bd0af476779a57da4c30ec77d.
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
758d00c68b5bb43ed8062563bdd55285b883e8ca 03-May-2012 Stephen Hines <srhines@google.com> Revert "Introduce InputFile/OutputFile and FileMutex."

This reverts commit d670be7a08cb85329ff3b5e9039cda9ffa4a35a1.

Conflicts:

lib/ExecutionEngine/InputFile.cpp
lib/ExecutionEngine/OutputFile.cpp

Change-Id: I99d5ed4cbda7296a399d683dfa264ce68bc4ddf3
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
5fb1474ac61aa87a2622661e1708672ef96ec8c0 03-May-2012 Stephen Hines <srhines@google.com> Revert "Introduce SymbolResolver and its subclasses."

This reverts commit ee69009f3590748aac4db17c0f9774252326d6cb.
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
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
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
addca8fc02254162220f6d512c59c84d65f44d2d 03-May-2012 Stephen Hines <srhines@google.com> Revert "Introduce ObjectLoader and RSExecutable."

This reverts commit bf6498ed6b222694ee42c4adda14015d45ca2a3d.
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
ffbfa1016fcc7e6cd48528e7b64aaaff191d0202 03-May-2012 Stephen Hines <srhines@google.com> Revert "Introduce CompilerConfig."

This reverts commit 8b2c3e72f7652bd579bf0467b333090ff7730390.
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
09ebd17a324628b420f091fd1a05a139c6d07d2b 03-May-2012 Stephen Hines <srhines@google.com> Revert "Merge lib/Transforms into lib/ExecutionEngine."

This reverts commit cd52b55716a2e4d78b0a6609b041c3aeb45b40f2.
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
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
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
b8ef690813bf3b32f996afb0ddc048c5bb23c8f5 03-May-2012 Stephen Hines <srhines@google.com> Revert "Refine the makefiles."

This reverts commit fa52e2083927dd4ea543528c557d52ab578ad34c.
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
2f6a493aea1b6e5ad318a759fedb58713a5a374c 03-May-2012 Stephen Hines <srhines@google.com> Revert "Make libbcc public."

This reverts commit 80232dd16c0affb2afae01cde6c94abf23ac1ba8.
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
80232dd16c0affb2afae01cde6c94abf23ac1ba8 12-Apr-2012 Zonr Chang <zonr.net@gmail.com> Make libbcc public.

This commit is not expected to change any functionality.
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
fa52e2083927dd4ea543528c557d52ab578ad34c 12-Apr-2012 Zonr Chang <zonr.net@gmail.com> Refine the makefiles.

* Introduce libbcc.mk which defines the path for makefiles and libbcc
configuration.
* Introduce libbcc-{device,host}-build.mk which defines the build
flags for building libbcc itself and/or for building module using
libbcc.
* Add header guard for generated ConfigFromMk.h.
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
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.
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
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
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
8b2c3e72f7652bd579bf0467b333090ff7730390 12-Apr-2012 Zonr Chang <zonr.net@gmail.com> Introduce CompilerConfig.

CompilerConfig defines the "attributes" of a Compiler. It contains
target information, configuration, etc. to setup an instance of
Compiler (more specifically, a instance of LLVM TargetMachine used by
the compiler.)

CompilerConfig together with bcc::init::Initialize() will replace
current Compiler::GlobalInitialization().
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
bf6498ed6b222694ee42c4adda14015d45ca2a3d 13-Apr-2012 Zonr Chang <zonr.net@gmail.com> Introduce ObjectLoader and RSExecutable.

ObjectLoader loads an object file into memory.

ObjectLoaderImpl defines a set of format-independent interfaces
that a object file format loader has to provide.

ELFObjectLoaderImpl is a subclass of ObjectLoaderImpl and can be used
to load an ELF relocatable object built based on librsloader. It
directly uses the C++ APIs provided by librsloader instead of using
wrapped C APIs defined in librsloader.h

RSExecutable holds the build results of a RSScript.
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
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.
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
ee69009f3590748aac4db17c0f9774252326d6cb 11-Apr-2012 Zonr Chang <zonr.net@gmail.com> Introduce SymbolResolver and its subclasses.

SymbolResolver provides a clean way to do the symbol lookup at
runtime.

LookupFunctionSymbolResolver searches a symbol through a given
function with context supplied.

BCCRuntimeSymbolResolver searches symbol from a predefined symbol-to-
address array which replaces the FindRuntime() function defined in
Runtime.c previously.

SymbolResolverProxy chains the SymbolResolvers and searches the symbol
one by one following the chain until it founds the definition of the
symbol.
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
d670be7a08cb85329ff3b5e9039cda9ffa4a35a1 05-Apr-2012 Zonr Chang <zonr.net@gmail.com> Introduce InputFile/OutputFile and FileMutex.

FileHandle is replaced with InputFile/OutputFile and FileMutex.

Use InputFile when you want to open a file in read-only.
USe OutputFile when you open a file for writing.
Both of them provide a reliable way to access the files and perform
the I/O operations.

Given a name "foo", FileMutex creates a file named "foo.lock" and
tries to acquire an advisory lock (flock) on this file.

FileHandle, which uses the file it's openning for locking, may corrupt
the file contents when two or more processes are trying to gain the
lock for reading/writing. For example:

Process #2 creates foo
Process #1 opens foo
Process #2 opens foo
Process #2 locks foo (exclusively) (success)
Process #1 locks foo (failed, retry #1)
Process #2 starts writing foo
Process #1 opens and truncates foo (note there’s O_TRUNC in the flag)
Process #2 writes foo continually (foo is corrupted from now on ...)
Process #1 locks foo (failed, retry #2)
...
Process #1 locks foo (reach the max retries and return)
Process #2 gets done on writing foo (foo is corrupted ...)
Process #2 unlocks and closes foo (foo is corrupted)
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
19218c0731e8172bd0af476779a57da4c30ec77d 05-Apr-2012 Zonr Chang <zonr.net@gmail.com> Introduce new Script class.

Script basically manages a source object to be compiled.

Refactor Renderscript stuffs out from class Script to RSScript and
extend RSScript from Script (IS-A relation.)

No functionality changed.
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
4ce024bcff99bb154f44a73f4cf6201a0fe75917 25-Apr-2012 Shih-wei Liao <sliao@google.com> Refactor SourceInfo into Source.

A Script object is associated with a Source object (HAS-A relation.)

A Source object describes the source code (more specifically, the LLVM
module) that is going to be compiled.

BCCContext contains the context used in a Source object.

BCCContext is now managed by the user not the libbcc itself. That is,
user should supply the context object when they create a Source object.

Change-Id: Icb8980d6f15cf30aa0415e69e3ae585d990dc156
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
c09dee62ae85df78e72f77900501a359f4a9fd99 12-Apr-2012 Zonr Chang <zonr.net@gmail.com> Add BCCContext.

Convention:
* namespace bcc {
/* no space here */class [ClassName] {
...
};

} // end namespace bcc
* Instance variables are prefixed with "m";
* Class variable/method are captialized;
* Local variables in the function are in lower case with underscore;
* Parameters to the function are prefixed with "p";
* Include guard in the header will look like
#ifndef BCC_<sub folder>_<class>_H
* The order of implementation in .cpp is in the order of their
declaration with the following constraints:
i. Class methods go first
ii. Recursively apply this rule to the sub-class
iii. Then the constructor and destructor of the class
iv. And then the instance methods
* The order of includes in Foo.cpp should be:
i. Foo.h should always go first
ii. C headers
iii. C++ headers
iv. LLVM headers
iv. Other headers from the project other than libbcc and Android
frameworks (i.e., f/b/include/utils/)
v. Header files defined in libbcc
vi. Header files from Android frameworks (f/b/include/utils/)

Android frameworks should be included in the last since it
implicitly includes cutils/log.h which may cause LOG_TAG be
defined to NULL if no LOG_TAG hasn't been defined ever before
include it.

* Avoid including STL and LLVM headers in the BCC headers. Some
clients (e.g., RenderScript) may prefer not include the C++ STL
support and don't want to associate with LLVM directly.

BCCContext manages the global data across the libbcc infrastructure.
This includes LLVMContext object required by materialize bitcode into
llvm::Module and LLVM compilation infrastructure.

Furthermore, BCCContext is escalated to be managed in Script instead
of in the SourceInfo.

Change-Id: I60b9da7b5c61f6c684dcf981ba5abaf066e3c883
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
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
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
369996246f0e2a33bb1a0aae2a8d9f91a8ffa671 12-Mar-2012 Stephen Hines <srhines@google.com> Remove USE_MCJIT configuration flags, since MC is the only path.

BUG=6051742

This also removes references to MCJIT, since we use MC CodeGen, and not the
actual LLVM MCJIT path.

Change-Id: I3518ae7c91952251a3bd2fc4c3b2a418572a4998
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
9ddeb6b4afb1c3366fd4f95d6d31b3e221f46c85 12-Mar-2012 Stephen Hines <srhines@google.com> Remove OLD_JIT support from libbcc.

BUG=6051742

This change removes some legacy defines and files related to the original
LLVM JIT path. A follow-up change should remove MCJIT-related defines, since
we are not a JIT, but instead using MC CodeGen to emit ELF.

Change-Id: I193235a7716e5f8c653a617a2fb74840bf3406e0
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
569986da116ed602c752395f9563260db38f6945 10-Mar-2012 Stephen Hines <srhines@google.com> Switch libbcc to start using MetadataExtractor.

BUG=6051742

This reduces code duplication, and makes us a client of our own helper library.
It also helps to fix a potential issue that can come up with older bitcode
containing only ForEach signatures and not names (something that was fixed in
MetadataExtractor, but not libbcc). We no longer look at metadata nodes at all
from libbcc.

Change-Id: I5cdacec82e4cd164f1aec5aa28a5e82feb9cfc15
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
e0918ac3cd6070c084b76d737af055e88a7679db 02-Mar-2012 Stephen Hines <srhines@google.com> resolved conflicts for merge of 7c75d915 to master

Change-Id: I25c1dc90af679e2463abffd33ee8838b4727396f
094881f513ab366f7ffd0b2c7778ab50281ca59e 14-Dec-2011 Daniel Malea <daniel.malea@intel.com> Enable debugging of RS code under GDB

- Add/integrate GDBJITRegistrar support class for interfacing with GDB
-- Once the GDBJITRegistrar is merged into LLVM trunk (and AOSP upgrades LLVM)
all files GDB* should be removed, and replaced with appropriate includes

- Basic [host|target]-side integration tests
-- host-tests: use bcc driver and clang to verify gdb output
-- target-tests: run skeleton apk on target and verify gdb output

- Add support for optimization_level metadata in bcinfo, libbcc
-- Disabled some LTO passes when optimization_level = 0
-- move register allocator registration after metadata inspection

- Initial version of android-commands.py GDB plugin (for test infrastructure)
-- relevant commands: load-android-app, run-android-app, start-android-app
-- tested versions: gdb (7.2, 7.3), python (2.6, 2.7)

- build 'bcc' driver tool by default in eng builds

Change-Id: I99e0c11c8591c6d911632c1dcc82dd8fbe1244a8
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
998ec839672c0cf56945c860a7cf9e29864599af 21-Nov-2011 Andrew Hsieh <andrewhsieh@google.com> Enhance host bcc to allow cross-compilation (eg. debug arm codegen on host):
eg. bcc -C armv7-none-linux-gnueabi # generate ARMv7
bcc -C i686-unknown-linux # generate x86 (default on Goobuntu)
Other targets are not supported at this moment.

Change-Id: If2f1199656664327cf35cf6a3670136f48c42cad
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
3bb77072f4dd09c26d7397f92b7eb8b5d0f79de7 17-Sep-2011 Logan Chien <loganchien@google.com> Enhance target architecture selection rules.

Change-Id: I595f8b6d9acd36bffc0017f06a959e709b9707d5
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
d2a5f305f48c47b9e98a0d7ccdd0cf027bdcfe18 19-Jul-2011 Logan Chien <loganchien@google.com> Separate OLD_JIT code.

Either move Old JIT code into OldJIT directory or wrap them
with #if USE_OLD_JIT, so that we can remove Old JIT easily
in the future.

Change-Id: Id820cc2143ac4b7685460ba38258c664f4da495e
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
eb567849ac8b123f7afe78bb81ff8a4f921a6a6f 14-Jul-2011 Logan Chien <loganchien@google.com> Move configuration from Config.h to libbcc-config.mk

In order to avoid the excessive use of $(shell) in Android.mk,
this commit moves the configuration options to libbcc-config.mk,
automatically generate ConfigFromMk.h by calling
tools/gen-config-from-mk.

Change-Id: Ib5e9771dc9808f7bef2fa8da4db8e25c2a170c34
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
f68882e5ba9a965a6281aac3084f57e75c8a16b0 18-Jul-2011 Logan Chien <loganchien@google.com> Compile bcc.cpp with libbcc shared library

This should fix the Mac OS SDK breakage.

Change-Id: Icea55222bd55f60cf6fdfeac49d9fefd5c975dc7
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
57991d73a662d564bf6feb017ec578ab8e85ce93 14-Jul-2011 Logan Chien <loganchien@google.com> Add LOCAL_IS_HOST_MODULE for host build.

Change-Id: Idc70587a8511fc08fd0750b07706777b8da85504
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
67005271fbab5e4919cc2119f6e234642ec409bd 14-Jul-2011 Logan Chien <loganchien@google.com> Fix CFLAGS. (Should use libbcc_CFLAGS instead)

Change-Id: I683c54e2edf2ebf0a2e442e486891009a1ac2478
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk
743968520a8a6c1e23212d4ed155d053891f630a 12-Jul-2011 Logan Chien <loganchien@google.com> Split Android.mk into several Android.mk

Split a HUGE Android.mk into:

helper/Android.mk
runtime/Android.mk
lib/CodeGen/Android.mk
lib/Disassembler/Android.mk
lib/ExecutionEngine/Android.mk

Change-Id: I060c31b897387e2a892b2ec769e2c5a62738d6f0
/frameworks/compile/libbcc/lib/ExecutionEngine/Android.mk