History log of /frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
fc2747709d3628132c31ac3a53bc06d3c18976ca 10-May-2012 Stephen Hines <srhines@google.com> Properly handle turning off NEON on ARM devices.

BUG=6127576

Change-Id: I82880a9ef92a3222b5a15e663104aad4bf508392
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
ead5ccba05af33df1a061b39847a9be137c00143 03-May-2012 Stephen Hines <srhines@google.com> Revert "Refactor SourceInfo into Source."

This reverts commit 4ce024bcff99bb154f44a73f4cf6201a0fe75917.
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
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/Compiler.cpp
5fb1474ac61aa87a2622661e1708672ef96ec8c0 03-May-2012 Stephen Hines <srhines@google.com> Revert "Introduce SymbolResolver and its subclasses."

This reverts commit ee69009f3590748aac4db17c0f9774252326d6cb.
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
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/Compiler.cpp
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/Compiler.cpp
2f6a493aea1b6e5ad318a759fedb58713a5a374c 03-May-2012 Stephen Hines <srhines@google.com> Revert "Make libbcc public."

This reverts commit 80232dd16c0affb2afae01cde6c94abf23ac1ba8.
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
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/Compiler.cpp
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/Compiler.cpp
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/Compiler.cpp
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/Compiler.cpp
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/Compiler.cpp
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/Compiler.cpp
a7e5c8f85434e9b8cb0637da302135ba2e2976f5 28-Mar-2012 Stephen Hines <srhines@google.com> resolved conflicts for merge of f46fa664 to master

Change-Id: I073ac3c0f95b3da9567e54c1fc8e8b1b0d69e33f
a75396f25b870ef51bf8d40daeef3846a775357d 27-Mar-2012 Stephen Hines <srhines@google.com> NEON cannot be used if we require full precision FP.

BUG=4540719

Change-Id: I157d8d90bfa7eb0cf8da34bcf210d6e318e4e034
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
b67c9e7a28cb734c1d62d835c33dedbe45074356 22-Mar-2012 Stephen Hines <srhines@google.com> Switch optimization level from metadata to bitcode wrapper.

Change-Id: Ieb547d38f2ad1c84af30717da9172d0ac928e52d
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
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/Compiler.cpp
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/Compiler.cpp
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/Compiler.cpp
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/Compiler.cpp
9af1e4d23ffa811fdf027d7e95a4dd3fc24b2113 08-Mar-2012 Stephen Hines <srhines@google.com> Merge "Turn off NEON until we fix potential alignment issues."
227059198eab33bcac7badbfee03e3c11d0d9734 07-Mar-2012 Shih-wei Liao <sliao@google.com> Registers targets etc. before looking up targets.

Change-Id: Id206f44e4271885fea7af2f20e45a002ce9cd54a
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
f6b202b43e6edebf098348142bd707d94abb2ca9 07-Mar-2012 Stephen Hines <srhines@google.com> Turn off NEON until we fix potential alignment issues.

BUG=6127576

Change-Id: If7b0f289a56f8a0ded553c75a30f099599f8c386
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
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/Compiler.cpp
cc366e573e31f43a6101fd6e04b90c6afdc3b7a7 22-Feb-2012 Stephen Hines <srhines@google.com> Support ForEachExpand on non-root functions.

BUG=6000538

Change-Id: I36e78ced0715b060af0938f1480df240cf6ba707
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
d88c0d144d452f194a26d5bc971b241476dc23f4 18-Jan-2012 Shih-wei Liao <sliao@google.com> Check the ability to link library during setup.

Checking at the right place fixes the missing functions when we were
trying to link the function later on.

Change-Id: I4ebae8a3cb6d31988510d09552215f4ff0ab0078
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
9e81e37a0400874aa3a327123c0e4d6e8bfc5290 18-Jan-2012 Shih-wei Liao <sliao@google.com> Add "const". And clean up.

Change-Id: I70e6994a0cd1d897e6981d5642108fee1324708f
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
4deffde52a049eb1b5f2e5504653e5b810c554bf 17-Jan-2012 Shih-wei Liao <sliao@google.com> Add Compiler::ArchType. And fix the CodeModel and NoFramePointerElim.

Details: Add static member Compiler::ArchType and determine its value during the
Compiler::GlobalInitialization() according to the given triple.

Determine values of the option NoFramePointerElim and CodeModel in
CompilerOption.

Change-Id: I4432ee0c81d379a61df9355bc8079f2093936563
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
df3fee4cc5190480970200f0162b00b841f22011 10-Jan-2012 Zonr Chang <zonr.net@gmail.com> Let SourceInfo take charage of and LLVM module.

I.e., a module never escapes from its associated SourceInfo object.

Change-Id: Ib7fe914052e8b1b06b879737f57828739d54e0f0
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
2fcbd02086984b45301d69104808e89772c8de90 06-Jan-2012 Zonr Chang <zonr.net@gmail.com> Introduce CompilerOption for compile() interface.

This provides flexibility. We can now setup different configuration
from the outside of compile() easily.

Change-Id: Ic4e593dd3c9f41de2fdfa492fecabd9f0e231463
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
e7371e1197b73e57c218fbd933b0287fef02ae89 15-Jan-2012 Andrew Hsieh <andrewhsieh@google.com> Add llvm::Triple::thumb to __HOST__ cross-compiler discovery list

Change-Id: I4ad680e9f8e33df633a8f1091a1f6fae72826da0
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
fbeb9b6eba4efdc36b7c58fb4829756fe92c13d5 14-Jan-2012 Shih-wei Liao <sliao@google.com> Improve readability. Fix format.

Change-Id: I46a4b52ff292c2ee52cc7b49a43893b3f4b1edc8
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
c0554e25638bec2462daf1a66ed0270a60aec8ea 14-Jan-2012 Andrew Hsieh <andrewhsieh@google.com> Determine Features based on Triple; Fix for Intel

1) In __HOST__, determine Features and code_model based on Triple rather than hard-wired define
2) Disable frame-pointer-emlimination for x86/x86_64

Change-Id: I956e93b74b834b250f2969a055645254260aeb05
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
db169187dea4602e4ad32058762d23d474753fd0 06-Jan-2012 Stephen Hines <srhines@google.com> Add ForEach expansion optimization to libbcc.

BUG=5444144

Change-Id: I31045a8de43c20d11898a943db294e8594047973
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
10c1412e6cb35cfc90abb5e36ba1340a8c55f44e 08-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/157220

Bug: 5449033
Change-Id: Ic34de235eb1cd094af555d7299da643a626ca092
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
b20498ea84029ae2d793bd2ca488883a804b061b 20-Dec-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/156016

Bug: 5449033
Change-Id: Icceeacebb848533d7e9200e1c643b096d75b6e4a
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
be81e1078cd32c1c4a2b8f60e16e2c7760c2a353 16-Dec-2011 Logan Chien <loganchien@google.com> Apply changes to migrate to upstream (Dec 16th 2011)

- Following constants has been removed from llvm::bitc by the
upstream, so we have to define our version.

- TYPE_BLOCK_ID_OLD 10
- TYPE_SYMTAB_BLOCK_ID_OLD 13
- TYPE_CODE_STRUCT_OLD 10

- CheckDebugInfoIntrinsics has been removed by the upstream,
so we have to copy it from lib/VMCore/AutoUpgrade.cpp

- llvm::TargetMachine::createTargetMachine now takes a new
parameter for options, such as float ABI, soft float, and
no frame elimination, and etc.

Change-Id: Ied522748bf92956d23f41a6195916eda1c19c589
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
21392f0642029bb5c41e3255ae7a302a337ecd6b 26-Nov-2011 Logan Chien <loganchien@google.com> Add MIPS as build target.

Change-Id: Ib783443b3bed198b21638316178669331b012141
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
4e4485d889c6ea76ba89834a6729b5f8136b6e46 25-Nov-2011 Logan Chien <loganchien@google.com> Apply changes to migrate to upstream. (Nov 25th 2011)

Change-Id: I3fd430640732fce5366e789bacd96628bc525616
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
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/Compiler.cpp
e1bff14dce0fbf231323c0849f3f03da7ba0ee2d 15-Nov-2011 Logan Chien <loganchien@google.com> Apply changes to migrate to llvm upstream r144606.

- Change linear scan register allocator to greedy register allocator
since llvm upstream is using greedy register allocator instead.

Change-Id: I66dab482d587e9c86823f8fd6e428d4868d1900c
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
7f079ebdf578d3662f300b5cd1b8287412e930e8 10-Nov-2011 Stephen Hines <srhines@google.com> Make sure NEON is off for Xoom when ARCH_ARM_HAVE_NEON isn't set.

Without defining -neon and -neonfp, the ARM backend will potentially generate
NEON opcodes. It is not sufficient to just have the +neon/+neonfp go unused.

Change-Id: I6e935902918e0375886e6e16ad68376413fc671d
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
40bcd66ab9dc4811f2015543f5c918cbfa7ad8c2 23-Oct-2011 Shih-wei Liao <sliao@google.com> Change USE_ARM_NEON to !DISABLE_ARCH_ARM_HAVE_NEON.

Change-Id: I4edb0583ab3efbbb350427b01ce85c05d1e1a226
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
bc9eb8fa13ee44d7bb46285e4c30da1236aefddf 21-Oct-2011 Logan Chien <loganchien@google.com> Apply changes to migrate to LLVM upstream Oct 20th 2011.

- StructType::isAnonymous is renamed to isLiteral.

- StructType::createNamed is renamed to create.

- ConstantExpr::getGetElementPtr and
ConstantExpr::getInboundsGetElementPtr is adopting llvm::ArrayRef.

- TargetRegistry and TargetSelect is moved from Target to Support.

- LLVMInitialize<TARGET>MCInfo, LLVMInitialize<TARGET>MCCodeGenInfo, and
LLVMInitialize<TARGET>MCSubtargetInfo has been unified by
LLVMInitialize<TARGET>TargetMC.

- llvm::setCodeModel is no longer available. Now we should pass the code
model to createTargetMachine.

- llvm::Linker::LinkerModules come with one addtional parameter (3rd),
which indicate that rather the source module should be destroyed or
not. Passing llvm::Linker::DestroySource should result in same
semantics as the old code.

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

Change-Id: I595f8b6d9acd36bffc0017f06a959e709b9707d5
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
a12d2f3ee66366097ca59941eb91f75d97ab09b2 08-Sep-2011 Stephen Hines <srhines@google.com> Add proper build-time configs for VFP/NEON/...

This change fixes the way that libbcc is built. First, it properly sets up
all required libbcc_CFLAGS-specified defines (i.e. ARCH_ARM_HAVE_NEON) to be
passed to the compiler. It also builds the host binary (standalone bcc) to
cross-compile for the target architecture (along with associated features).
This will aid in debugging NEON issues.

Change-Id: If499e944244493ca65ceb691b097bad6b6da94f5
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
6416010e183301fc4243a2a1e43d7bcbd9dd7527 02-Sep-2011 Stephen Hines <srhines@google.com> Don't forget to export .rs.dtor() for Renderscript.

BUG=5186750

Change-Id: I7e22edd906a7bf0024daf32bfb663aa430b120c9
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
2558ae40f4614f119a3bccfe3c2d753d83f3593e 04-Aug-2011 Logan Chien <loganchien@google.com> Initialize required component.

Without the initialization of MCRegisterInfo for X86,
libbcc will crash at compile time for some input, for example:

define double @testDouble() {
entry:
ret double 2.000000e-01
}

Change-Id: Ifde89c5bd39e67f852c25cc7dc08c8f0c256ea6b
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
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
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
d548e008c69314e23884c73c7e09ffba9d5a90ee 30-Jul-2011 Logan Chien <loganchien@google.com> Remove unused code.

Change-Id: I5fd240ed03654af1ac6fcbe4f45d5e05825374a2
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
34c600a77b0dd2f27fabbc4b6b3b94ed12af2a57 26-Jul-2011 Joseph Wen <josephwen@google.com> Add bccPrepareSharedObject

Unlike bccPrepareExecuteable, bccPrepareSharedObject does not
resolve external symbols; therefore it only generate cache file
not execuable.

Change-Id: I3ef093015a4f54011fbf298123cac2464230b408
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
d3fe15c7b86a438020553c7a7ef7ec102c63d712 20-Jul-2011 Logan Chien <loganchien@google.com> Apply changes to migrate to llvm upstream r135568.

- Remove const qualifier for some llvm::Type variables,
due to the change of the API.

- Update the relocation model setup code, since
llvm::TargetMachine changes its API.

Change-Id: I87305d093d5b06870669b97228b66821addfaee4
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
4885cf8889f2290ecd04a02e067cb2f44c3cdf6c 20-Jul-2011 Logan Chien <loganchien@google.com> Refine the disassembler config code.

Change-Id: I7cd3923f0d185efef9cc43dfb5448380735d0ad9
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
b9ef9ab8e80b25fb26dfec11647629af887b260b 20-Jul-2011 Logan Chien <loganchien@google.com> Initialize AsmPrinter for compiler.

It is required to initialize AsmPrinter for compiler
in order to generate machine code. Without this commit,
libbcc will not work if we set USE_DISASSEMBLER to 0.

Change-Id: If6a18c82df5c8cab84fb26afd163152ed1307aa8
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
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/Compiler.cpp
c2e23c39553bf10d7199441065e9d9a4f1fa9a71 19-Jul-2011 Shih-wei Liao <sliao@google.com> Register MCAsmInfo.

The upstream adds new registry LLVMInitial{Target}MCAsmInfo().
We need to register it first before invoking createMCAsmInfo().

Change-Id: I4e8098380d5ac6eb878614a0603599715447c81f
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
9347e0bdf9d9cb691c3681ea06c87716b6251af4 07-Jul-2011 Logan Chien <loganchien@google.com> Extract duplicated disassembler.

Change-Id: I6c607a0ed881dbd808ec43ec65e88f4ef06dea90
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
769190765f7a920ac7f30ff6d424f3ae850b1c3a 08-Jul-2011 Joseph Wen <josephwen@google.com> Add run-time hash check for libRS.so

Change-Id: I327215cdf74bc0e969c45efb0ff83c3fd0165f1d
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
afa4e90b9a261375b139420895b3848c33d90a72 08-Jul-2011 Ying Wang <wangying@google.com> Merge "Use 20-byte libbcc.so.sha1 to store checksum"
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
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
26fea10655613ad184b37dfd24dd21e92a5afa95 06-Jul-2011 Ying Wang <wangying@google.com> Use 20-byte libbcc.so.sha1 to store checksum

Change-Id: I1e66e559918426e995b92785666beb7b6a49869d
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
029057e3fe74548f64ced090600205df08ef5d32 02-Jul-2011 Shih-wei Liao <sliao@google.com> Fix API changes of llvm::SubtargetFeatures.

Change-Id: Ia427295ac8aab71228cee1abfa1ebc5e30fd2078
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
873aa907beea8154ae31a6a136712fee1d725b2e 01-Jul-2011 Shih-wei Liao <sliao@google.com> Merge "Clean up #if directives."
587e1e8bc6521f6453ef46c5b5c0129f00db9ff5 01-Jul-2011 Shih-wei Liao <sliao@google.com> Merge "Enhance the disassembler for MCJIT codegen."
9f73de0deb296f6431523e2ebb2f888ee21c0bb4 01-Jul-2011 Shih-wei Liao <sliao@google.com> Clean up #if directives.

Change-Id: Ib0a4699331c00c7ef8d82dd4894f7f641062878a
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
d3c551fbc76ad424577335b40491436cbc0dbd86 01-Jul-2011 Shih-wei Liao <sliao@google.com> Enhance the disassembler for MCJIT codegen.

Change-Id: I2658ae0fd205913f0467287b2d080d747720e19d
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
7f69f02944a9524651b985a768bd121a448581d0 01-Jul-2011 Joseph Wen <josephwen@google.com> Remove debug information

Change-Id: Idf8db7cff7d51afe002d98e7f400cb61650d50d8
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
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
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
d18a3df2628d26f65a1172ec2e3e0816731499f9 25-Jun-2011 Stephen Hines <srhines@google.com> Revert "Fix the libbcc SHA1 checksum dependency"

This reverts commit 89175b9e4c07df1302374421096d6e1355954ace.
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
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
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
51001b86751c1ca36307eddc44a65336079fb698 24-Jun-2011 Joseph Wen <josephwen@google.com> Turn on NEON support for Nexus S

Change-Id: I81c9cdd56539990a05bb67cd60cc805dd31861b5
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
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
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
320b5499c78f8b94bc61f609a5fc9053a91d3c18 21-Jun-2011 Shih-wei Liao <sliao@google.com> Add missing #if USE_MCJIT header guard. Clean up debugging message.

Change-Id: I110b9d57985e817b3d29bc905dc834a142ee069b
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
f12077c0691a1043a2dd7c0430f4edf4508a7b99 21-Jun-2011 Shih-wei Liao <sliao@google.com> Fix MCJIT LTO breakage problem.

Change-Id: Ib71ae33e65058aeeb0a587db8c7e5be764880a16
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
e201976cdcd46421bfd91c4135fd3bceb9949989 21-Jun-2011 Shih-wei Liao <sliao@google.com> Add more MC JIT Debugging.

Change-Id: I36cd6c515c496e93fc15ad1b4605009d9c6dd2c0
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
90cd3d1ec93c46389c00cd41375608632dd4ceb5 21-Jun-2011 Shih-wei Liao <sliao@google.com> Add DEBUG_MCJIT_REFLECT and DEBUG_MCJIT_DISASSEMBLE.

Add disassembler support for MCJTI. Courtesy of outstanding intern
logan: To use disassembler for MCJIT, you have to change
USE_DISASSEMBLER to 1, and touch /data/local/tmp/mcjit-dis.s.

The disassembled assembly will be printed to
/data/local/tmp/mcjit-dis.s.

Change-Id: I488fc60ae399e7298f1360ac7219af46a980b577
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
749a51ca883cf7b0e181ec5ae2fb7d0fabca7c90 18-Jun-2011 Shih-wei Liao <sliao@google.com> Add BCC_REFLECT_TO_LIBRS debugging switch.

Change-Id: I9e743bdd6c5a8910476ab30db312fca543b094c4
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
7d1bf58649eb8ddc3431f104dbde8cb5711b6ec9 13-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Add fine-grain debug message.
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
70dd998ad9d75fddfa513a420e078bec2938d539 13-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Fix bug: Use same algorithm to generate export var list.
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
da5e0c369ad20bf70556c7e7cf86807cf171730d 12-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Add MC-based code generation support (experimental)

This feature is disabled by default. To enable it, please
open Config.h and change USE_MCJIT from 0 to 1.
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
4cc0033ef37fc28501d2e337c5bd3b072b9edad0 12-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Extract LTO related code from compile function.
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
b0ceca26bf000b6d18289b8491b174ad3d1fc93a 12-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Rename to USE_OLD_JIT and USE_MCJIT.
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
f0b0d9785c9ff751792da1fa6a4a824dda437bdf 12-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Keep the onwership of TargetData. Dont give it to CodeGenPasses.
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
09b6c1cf826b7fcb31fb0590250352d037b5d249 24-May-2011 Nowar Gu <nowar100@gmail.com> Fix Android.mk and namespace prefix std.
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
6c0c7b03307a6e6dacb163df804a03b6bae36ce6 22-May-2011 Shih-wei Liao <sliao@google.com> Use FileHandle for MC object file

Change-Id: If6330237145c9ca66c820db1495e9745a90f7aea
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
4fdaa3e622a4780980e79ce465fca53ee0b80b09 21-May-2011 Shih-wei Liao <sliao@google.com> Set up the file permission correctly.

Change-Id: I76e896c9ee5680fec332a5586e049f05f6eb8904
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
5c00f4f46a22d9fa8f3eb0ce90aec5eb40d30a9d 20-May-2011 Shih-wei Liao <sliao@google.com> Remove mResName and remove the hardwire pathname "/data/data".

Make the code robust.

Change-Id: Ia49eda1885ace0f9603cc181ba95d4d63ab586fc
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
de0ba06cf9f96118261e8d242c0ac08869a54442 19-May-2011 Shih-wei Liao <sliao@google.com> MC should use cache directory cache/ as oBCC does.

Use std::string in constructing cache path above.

Change-Id: I02c478a7513ac87af07357137f56a42fe4615bc2
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
898c5a90f3a63248d236161130003b3315e03956 18-May-2011 Shih-wei Liao <sliao@google.com> Integrate from jush MC Assembler is done.

Change-Id: I5e640691397b8988a6b27fb454c4bfc24a4f5c41
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
bbcef8ad069ee33c3bfc52dcd1bd6e1a7633e1f9 05-May-2011 Stephen Hines <srhines@google.com> Properly handle asserts for libbcc.

BUG=3430681

Change-Id: I906bbdefa6724cefa0e11f04ff1c5a9bc85ab88b
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp
45e84be0bbe39c5e08e1c2a45c62e09c9dcd0582 27-Feb-2011 Logan <tzuhsiang.chien@gmail.com> Rename bcc -> ExecutionEngine , runtime -> ScriptCRT
/frameworks/compile/libbcc/lib/ExecutionEngine/Compiler.cpp