• Home
  • History
  • Annotate
  • only in /frameworks/compile/libbcc/lib/
History log of /frameworks/compile/libbcc/lib/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
3cfa6a0673124a51dece1e6f2d2d6eaf55396818 19-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Insert a new `versionInfo` field into the `.rs.info` symbol" into oc-dev
ca949a93598d13f1ed2400af0459b05076104f5a 19-Jan-2017 Luke Drummond <luke.drummond@codeplay.com> Insert a new `versionInfo` field into the `.rs.info` symbol

This allows us to warn the user when compiling bitcode with different
frontend / backend versions both at compile time, as well as debug time
(a check is to be inserted into lldb as well).

- Extract from the bitcode metadata the version of LLVM slang has
generated used to emit bitcode (if possible) and embed it alongside
the version of LLVM this version of libbcc is linked against. This
allows us to notify the user of any possible known or unknown
incompatibilities between the version, and in our case let the
debugger track the difference between versions of LLVM used to
generate the debug symbols which is known to have no cross-version
compatibility guarantees
- update bcc to emit a warning when the bitcode version doesn't match
- Add positive version match tests + compatibility tests + negative
tests

Test: aosp_x86_64-eng (emulator)
- libbcc/tests
- RsTest (32-bit, 64-bit)
- cts -m RenderscriptTest
- rs/lldb (required various other pending CLs)

Bug: 23535482

Change-Id: I3b0ad8bbaba1846adb615da0988980cb1c95ad02
Signed-off-by: Luke Drummond <luke.drummond@codeplay.com>
(cherry picked from commit f4c3483f3abc4cadd20672ce49acfe0c88a1c1da)
SEmbedInfo.cpp
94350549959ebc4c9ec70803a418bec09ad27378 29-Mar-2017 David Gross <dgross@google.com> Structure layout logic cleanup.

Do not run special x86-32 transformations when slang has explicitly
padded structs.

Verify that front end (Module) and back end (TargetMachine) agree on
the layout of every exported struct type.

Cannot build without slang change:
https://android-review.googlesource.com/#/c/359135/

Bug: http://b/29154200
Bug: http://b/28070272

Test: (aosp_x86_64-eng emulator, full_fugu-eng, aosp_angler-eng) x
(RsTest 32-bit, RsTest 64-bit, cts -m RenderscriptTest)
tests/run-lit-tests.sh
Tried (unmodified slang, modified bcc) and
( modified slang, unmodified bcc) and
( modified slang, modified bcc)
By instrumenting modified bcc, confimed that:
- Special x8632 layout transformations only run with unmodified slang,
and only when test is compiled for x8632.
"Modified slang" is a forthcoming slang change to add explicit padding
to struct types:
https://android-review.googlesource.com/#/c/359135/

Change-Id: Id938db661497710275a318e0964a36f64fcfa05b
(cherry picked from commit 97e50993c70083fdedb4f1dd2c487aa55c6f60cf)
ndroid.bp
ompiler.cpp
SCompilerDriver.cpp
SKernelExpand.cpp
cf5afcb229806de1b62dee5a7cc0c7ba6a69f482 20-Mar-2017 David Gross <dgross@google.com> Make bitcode wrapper info available to MetadataExtractor.

Copy bitcode wrapper information (compiler version, optimization
level) from bitcode wrapper to Module metadata, where it can be found
by MetadataExtractor instantiated from Module. Previously, such a
MetadataExtractor ignored the information in the bitcode wrapper;
instead, it
- nonsensically set compiler version to RS_VERSION, which is an API
level rather than a slang version; and
- set optimization level to 3.

Remove unused MetadataExtractor::getTargetAPI():
- Old behavior:
- For user bitcode, got actual targetAPI.
- For libclcore, got 0.
- For linked bitcode (user bitcode + libclcore), got
uninitialized/garbage value.
- It's not clear what a sensible value would be for libclcore or for
linked bitcode (or perhaps it should be an error to query the
targetAPI in those cases). What a sensible value would be depends
on how we intend to use it.

This change enables a forthcoming libbcc change that needs to know the
slang version.

Bug: http://b/29154200
Bug: http://b/28070272

Test: full_fugu-eng
Tried ( modified slang, modified bcc) and
(unmodified slang, modified bcc):
- libbcc/tests/run_lit_tests.sh; RsTest; cts -m RenderscriptTest
- confirmed that our driver is loaded rather than libPVRRS.so
- By instrumenting modified bcc and running RsTest, confirmed
that:
- MetadataExtractor properly obtains slang version from Module.
"Modified slang" is a forthcoming slang change that changes
the slang version.

Change-Id: Ifc9c1348c96a88bf7ddb344721f67f89359a4fe6
ssert.h
SCompilerDriver.cpp
cript.cpp
ource.cpp
c26dd0180bf7e40d7b120fa112e944ee7cc049ca 04-Mar-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Make libbcc, libbcinfo, bcc no longer depend on libcutils and libutils."
110b1c1e87fe4a6a25f9ddc89ac4685779329b9d 03-Mar-2017 Miao Wang <miaowang@google.com> Make libbcc, libbcinfo, bcc no longer depend on libcutils and libutils.

Bug: 34396220
Test: mm and CTS tests pass
Change-Id: I9a5e608dfc2a92e411da5c7cff2406209052715d
ndroid.bp
ileBase.cpp
roperties.h
SCompilerDriver.cpp
0e4175b7c094196da76716ced5e1db53ecd83ad5 03-Mar-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Don't rely on CPU name on configuring libbcc compilation flags."
5379131149cfd74e2b65b7b4f31c0b8e8b2f8fa0 22-Feb-2017 Jean-Luc Brouillet <jeanluc@google.com> Don't rely on CPU name on configuring libbcc compilation flags.

Low-end Sandybridge, Ivybridge, Haswell, and Broadwell CPUs lack some features
indicated by the architecture names. Hence, setCPU(getHostCPUName()) can lead
to illegal instructions. Instead, this CL sets up the feature flags from
the actual info obtained from cpuid.

Manual cherry pick of cl/1911608, I2156abd5edcebe74dec768de05c63b5b056b3818

Test: For the cherry pick, ran on Fugu the perf tests:
Test: adb shell setprop debug.rs.default-CPU-driver 1
Test: timing -c 13 15 33 5
Test: Verified that performance did not change
Test: Ran CTS, succeeded all but small_struct
Test: Rand on x86-64 emulator, no performance change

BUG: 33062150
Change-Id: I9f921c6057a47930c36f77a176b76613ad7f8267
ompilerConfig.cpp
22c6bd75d9edd4e03212f270ebeb0353427b0dbb 23-Feb-2017 Jean-Luc Brouillet <jeanluc@google.com> Merge "Remove OutputFile and Disassembler from libbcc."
cfb3604f234ce55c4bc2575cfdcf3f8c041fb869 23-Feb-2017 Jean-Luc Brouillet <jeanluc@google.com> Merge "Add back version info to Script in libbcc"
295e50f60f2c0e27a2e5387400262f9db4477c39 22-Feb-2017 Jean-Luc Brouillet <jeanluc@google.com> Remove OutputFile and Disassembler from libbcc.

For OutputFile, the code can be a lot simpler by just relying on what
llvm provides.

Disassembler was also not used.

Bug: 34265954
Test: Compiled. Ran imageprocessing_jb and a compat lab test.
Test: Ran CTS.
Change-Id: I360a55541b6bbb9c104415e44920728c8d451446
ndroid.bp
ompiler.cpp
isassembler.cpp
isassembler.h
utputFile.cpp
utputFile.h
SCompilerDriver.cpp
fc9c55b0c248a04a325c3540b75ecd3ae64fd91f 22-Feb-2017 Jean-Luc Brouillet <jeanluc@google.com> Add back version info to Script in libbcc

An upcoming CL for the debugger will need this.

Bug: 34265954
Test: Compiled. Ran rstest.
Change-Id: I6e133e19c5348659cdc799a9e2272142c6bc071a
SCompilerDriver.cpp
cript.cpp
6926fae4a5d3c52250a00fe453a1f9ae863ab649 22-Feb-2017 Jean-Luc Brouillet <jeanluc@google.com> Remove unused InputFile in libbcc.

This class is not used.

Bug: 34265954
Test: Compiled.
Change-Id: I3e23476c8085410fec4255e07a46bebe2a130c73
ndroid.bp
nputFile.cpp
nputFile.h
SCompilerDriver.cpp
8486498c5f6083b8ab0f7aebb1944eaed33bd290 20-Feb-2017 Jean-Luc Brouillet <jeanluc@google.com> Remove unused File code in libbcc.

Remove unused code from File related classes. More refactoring to come,
breaking this in small easy to understand steps.

Bug: 34265954
Test: Compiled. Ran imageprocessing_jb and a compat lab test.
Test: Compared that the APK have not changed in size.
Change-Id: Ic4218b49801d13f0fbbe267516882c150d6d4c93
ile.h
ileBase.cpp
ileBase.h
ileMutex.h
nputFile.cpp
nputFile.h
utputFile.cpp
utputFile.h
SCompilerDriver.cpp
0a2acce3493df1609be2730e3058fe27af01b88f 17-Feb-2017 Jean-Luc Brouillet <jeanluc@google.com> Merge RSScript.cpp and Script.cpp

We don't need two classes.

Bug: 34265954
Test: Compiled. Ran imageprocessing_jb and a compat lab test.
Test: Compared that the APK have not changed in size.

Change-Id: Ib91e16d80bd5ba33c5946ff6f5b11a579338eb1c
ndroid.bp
ompiler.cpp
SCompilerDriver.cpp
SScript.cpp
cript.cpp
a2dd52f0710c214e00c1a13e25116e1af5eec77a 17-Feb-2017 Jean-Luc Brouillet <jeanluc@google.com> Flatten the libbcc directories.

Get rid of the Support, Core, and RenderScript subdirectories for
the sources and the header files.

Deleted the unused Sha1 header file.

Bug: 34265954
Test: Compiled everything, ran a regular and a support lib app.
Change-Id: Iac760ee3c1985259593e7bbd1dd2dd35e99f654b
ndroid.bp
ssert.h
CCContext.cpp
CCContextImpl.cpp
CCContextImpl.h
ompiler.cpp
ompilerConfig.cpp
ore/Android.bp
ore/BCCContext.cpp
ore/BCCContextImpl.cpp
ore/BCCContextImpl.h
ore/Compiler.cpp
ore/Script.cpp
ore/Source.cpp
isassembler.cpp
isassembler.h
ile.h
ileBase.cpp
ileBase.h
ileMutex.h
nitialization.cpp
nputFile.cpp
nputFile.h
og.h
utputFile.cpp
utputFile.h
roperties.h
SAddDebugInfoPass.cpp
SCompilerDriver.cpp
SEmbedInfo.cpp
SGlobalInfoPass.cpp
SInvariant.cpp
SInvokeHelperPass.cpp
SIsThreadablePass.cpp
SKernelExpand.cpp
SScreenFunctionsPass.cpp
SScript.cpp
SScriptGroupFusion.cpp
SScriptGroupFusion.h
SStubsWhiteList.cpp
SStubsWhiteList.h
STransforms.h
SUtils.h
SX86CallConvPass.cpp
SX86TranslateGEPPass.cpp
enderscript/Android.bp
enderscript/RSAddDebugInfoPass.cpp
enderscript/RSCompilerDriver.cpp
enderscript/RSEmbedInfo.cpp
enderscript/RSGlobalInfoPass.cpp
enderscript/RSInvariant.cpp
enderscript/RSInvokeHelperPass.cpp
enderscript/RSIsThreadablePass.cpp
enderscript/RSKernelExpand.cpp
enderscript/RSScreenFunctionsPass.cpp
enderscript/RSScript.cpp
enderscript/RSScriptGroupFusion.cpp
enderscript/RSStubsWhiteList.cpp
enderscript/RSStubsWhiteList.h
enderscript/RSX86CallConvPass.cpp
enderscript/RSX86TranslateGEPPass.cpp
cript.cpp
ource.cpp
upport/Android.bp
upport/CompilerConfig.cpp
upport/Disassembler.cpp
upport/FileBase.cpp
upport/Initialization.cpp
upport/InputFile.cpp
upport/OutputFile.cpp
d3a5bd09d9b79763d72b4c56075070c5e74e4755 17-Dec-2016 Colin Cross <ccross@android.com> Move bcinfo headers next to library

Move the bcinfo headers into bcinfo/include, and export the headers
to modules that depend on libbcinfo.

Test: m -j native
Change-Id: If50c88424055a754f5626201d8f05a9c404f24b9
ore/Android.bp
enderscript/Android.bp
1d3ac5662519c1864922c2edfba7a0f7a3de16b3 07-Dec-2016 Colin Cross <ccross@android.com> Convert libbcc to Android.bp

See build/soong/README.md for more information.

Includes one small code change to replace
FORCE_BUILD_LLVM_DISABLE_NDEBUG with _DEBUG, which is set already in
llvm-defaults in external/llvm/soong/llvm.go when the environment
variable is set.

libbcc-targets.mk remains, it is still used by frameworks/rs/cpu_ref.

Reapplies Iec37d2c33020bb5702c27497ae343a8312601202 with libbcinfo's
version_script only applied on device builds, and only building 64-bit
for host.

Test: mma -j
Test: mma -j FORCE_BUILD_LLVM_COMPONENTS=true
Change-Id: I6a024929bf90368f81f47c72f0c48866efc0e635
ndroid.bp
ndroid.mk
ore/Android.bp
ore/Android.mk
enderscript/Android.bp
enderscript/Android.mk
enderscript/RSCompilerDriver.cpp
upport/Android.bp
upport/Android.mk
7e4c6d72d977de3e3635bc7280f52ab737c1ad34 13-Dec-2016 Colin Cross <ccross@android.com> Revert "Convert libbcc to Android.bp"

This reverts commit 5a2d24e315d79f735eeb8b6560118f10edbd6b05.

Reason for revert: breaks mac build

Change-Id: I6429aaddea2c2cc1e71c5ab66d656392a112bd8f
ndroid.bp
ndroid.mk
ore/Android.bp
ore/Android.mk
enderscript/Android.bp
enderscript/Android.mk
enderscript/RSCompilerDriver.cpp
upport/Android.bp
upport/Android.mk
5a2d24e315d79f735eeb8b6560118f10edbd6b05 07-Dec-2016 Colin Cross <ccross@android.com> Convert libbcc to Android.bp

See build/soong/README.md for more information.

Includes one small code change to replace
FORCE_BUILD_LLVM_DISABLE_NDEBUG with _DEBUG, which is set already in
llvm-defaults in external/llvm/soong/llvm.go when the environment
variable is set.

libbcc-targets.mk remains, it is still used by frameworks/rs/cpu_ref.

Test: mma -j
Test: mma -j FORCE_BUILD_LLVM_COMPONENTS=true
Change-Id: Iec37d2c33020bb5702c27497ae343a8312601202
ndroid.bp
ndroid.mk
ore/Android.bp
ore/Android.mk
enderscript/Android.bp
enderscript/Android.mk
enderscript/RSCompilerDriver.cpp
upport/Android.bp
upport/Android.mk
72521b5b019ba2e26b2f6c7b5e3aac15f19916a2 10-Dec-2016 Colin Cross <ccross@android.com> Remove BOARD_OVERRIDE_RS_CPU_VARIANT_*

These variables were only being used on flounder and dragon. Dragon
was copied from flounder, and was unnecessary as dragon has the same
Cortex A53/A57 CPUs as most other Android devices. Flounder is also
unnecessary, as LLVM is returning "generic" for A53/A57, and will
return "generic" for denver.

Test: mmma -j frameworks/compile/libbcc
Change-Id: Ic52e2dca219b4714488a9412aedcb0ecbea83540
upport/CompilerConfig.cpp
50efe38a6c5d84374583c8afcf272d15c131413a 02-Nov-2016 Yang Ni <yangni@google.com> Merge "Add debuginfo to reduction `.expand` loops"
0464789e86c9aa9a7f99762bd724444430bd86a7 02-Sep-2016 Luke Drummond <luke.drummond@codeplay.com> Add debuginfo to reduction `.expand` loops

Add debug symbols necessary for tracking general reduction kernel
invocations on a particular co-ordinate in the debugger. The list of
exported general reduce kernels is fetched from
`bcinfo::MetadataExtractor`, and the <accumulator>.expand
is added to the list of functions to be complemented with debug
metadata.

This works because reduction accumulators are expanded using the
same logic as ForEach kernels in `bcc::RSKernelExpandPass`

Test: Pending testuite to be pushed to frameworks/rs/tests/lldb in a
subsequent request.

Change-Id: I54f216fab95213fe2b070ed81e9e05c738943a9d
enderscript/RSAddDebugInfoPass.cpp
f5b49a0ca149b09c8306b86db9f3aca703c4acd5 16-Sep-2016 Pirama Arumuga Nainar <pirama@google.com> Fix libbcc to compile with LLVM r275480

Bug: http://b/31320715

Test: Run RenderScript tests (host tests for slang and libbcc, RsTest,
CTS)

Change-Id: Id3f0d03ef019f9315216e7f7ac4cf60883719ad7
ore/Compiler.cpp
enderscript/RSGlobalInfoPass.cpp
enderscript/RSScriptGroupFusion.cpp
upport/CompilerConfig.cpp
495e806b7234762acdaa980f3e8d9ace230c996d 05-Oct-2016 Elliott Hughes <enh@google.com> Test for _WIN32 in frameworks/compile/libbcc instead of USE_MINGW.

Bug: http://b/23392815
Test: builds
Change-Id: I248d1afed2510d9cbb73a0de9d97b8b95644be11
enderscript/RSCompilerDriver.cpp
9f22fc1a6f9fba9a423dc76316df6ad4ee6d6ccf 15-Sep-2016 Pirama Arumuga Nainar <pirama@google.com> Merge "Revert "Don't internalize __truncxfhf2 for x86""
73298cb1939b78da10b240fe8f4af6f96cc2bea0 15-Sep-2016 Pirama Arumuga Nainar <pirama@google.com> Revert "Don't internalize __truncxfhf2 for x86"

Bug: http://b/26165616 I had forgotten to revert this change when closing the bug.

This reverts commit 10f2a8f1d60724c306d01cdd0682e38122637502.

Change-Id: Ic967b1965c2f7ca8fc74122a365e2b075704727a
Test: RsTest and CTS pass on x86 emulator. small_struct test fails with
the same signature as b/29154200 - so unrelated to this CL.
ore/Compiler.cpp
52dcd991e0e7b873f395befd15712fc113c4fc78 23-Aug-2016 Chih-hung Hsieh <chh@google.com> Merge "Fix clang-tidy warnings in libbcc."
am: d0f61f2d23

Change-Id: I1a5fbe4602471f00d58c6c065b7e1fdd047df785
8a019dd0040bedf5078e4d18e06a244a675b80e8 13-Aug-2016 Chih-Hung Hsieh <chh@google.com> Fix clang-tidy warnings in libbcc.

These are proposed changes, looking for upstream changes.
* Add explicit keyword to conversion constructors.
Bug: 28341362
* Use const reference type for read-only parameters.
Bug: 30407689
* Use const reference type for loop index variables to avoid unnecessary copy.
Bug: 30413223
* Use faster overloaded string find function.
Bug: 30411878
Test: build with WITH_TIDY=1

Change-Id: I2a083651ba7aa7cb1b88fb84738d7caf37b4f511
ore/BCCContextImpl.h
enderscript/RSGlobalInfoPass.cpp
enderscript/RSIsThreadablePass.cpp
enderscript/RSKernelExpand.cpp
enderscript/RSScreenFunctionsPass.cpp
07ca9f92bf8e1bafdf96f9e3585028935ad74ee6 15-Jun-2016 David Gross <dgross@google.com> Merge "Delete simple reduction implementation."
d4da0559b8929a57e6c61e71bc9879ce9296c4aa 15-Jun-2016 Yang Ni <yangni@google.com> Merge \"Disable AVX support in bcc\"
am: d4af5eabb5

Change-Id: Iab5081d92f4a3aff63358973da19776ad6a9bb1d
48ef3bd9fbbe6824d807534706f4a8418a282ed0 13-Jun-2016 Yang Ni <yangni@google.com> Disable AVX support in bcc

Bug: 28879581

LLVM generates AVX code for long3 load/store, which treats a long3 value
as 256 bits, while the RS runtime only allocates 192 bits for a long3
element in an allocation.

This CL disables AVX codegen to avoid this issue.

Change-Id: Ia656a36c35a4cfbe620a555abb8b28c808843459
upport/CompilerConfig.cpp
9fa4d4480252ecfe08c97bc35888360b1e19ec99 02-Jun-2016 David Gross <dgross@google.com> Delete simple reduction implementation.

Bug: 27298560
Change-Id: Id826426fc81458ad66118bf7b2059a7a6f02a047
(cherry picked from commit a48ea364652efcf947dd33c8a6ba893e9c00dd6a)
ore/Compiler.cpp
enderscript/RSEmbedInfo.cpp
enderscript/RSKernelExpand.cpp
f8c591185061dde2bee154cd9e8f3881d9498176 14-Jun-2016 David Gross <dgross@google.com> Delete simple reduction implementation.
am: a48ea36465

Change-Id: I66919a24f3b50d239fe3f347c8c88711f3a4da65
a48ea364652efcf947dd33c8a6ba893e9c00dd6a 02-Jun-2016 David Gross <dgross@google.com> Delete simple reduction implementation.

Bug: 27298560
Change-Id: Id826426fc81458ad66118bf7b2059a7a6f02a047
ore/Compiler.cpp
enderscript/RSEmbedInfo.cpp
enderscript/RSKernelExpand.cpp
805a75180a629b35678e894306609556a0a896e6 30-Apr-2016 Chih-hung Hsieh <chh@google.com> Merge "Fix google-explicit-constructor warnings." am: 0e1a7167e4
am: c643a4c927

* commit 'c643a4c92721ac436e8542efe71e0e10126030e7':
Fix google-explicit-constructor warnings.

Change-Id: I89df0ded440b86f3a6953986e6a83545ffebee69
7e920a716693033edf32a6fedd03798bbfbd85eb 29-Apr-2016 Chih-Hung Hsieh <chh@google.com> Fix google-explicit-constructor warnings.

Bug: 28341362
Change-Id: Ic1bb4f0eb47fa4f1b2118d0ed5bb668ba555c801
enderscript/RSGlobalInfoPass.cpp
enderscript/RSKernelExpand.cpp
dd33eb89cfb81b152ae39f9afadb3c73a00fd46a 08-Apr-2016 David Gross <dgross@google.com> If a general reduction kernel lacks a combiner function, synthesize one.

The CPU reference driver can only go multithreaded for a reduction kernel
if that kernel has a combiner function.

Bug: 27299475

Change-Id: If7f3a9ba8ec5e15ed5f3ef96968d28d650b01c20
(cherry picked from commit 57fd9f882f3359be4201c42b02aebf785d311df2)
ore/Compiler.cpp
enderscript/RSEmbedInfo.cpp
enderscript/RSKernelExpand.cpp
ba87381eff4539ad6fc7e7c958c01007c26eec78 18-Apr-2016 David Gross <dgross@google.com> Merge "Preserve generalized reduction combiner function for use by driver."
c6c9c1f04b480a395daa1bdd5d634060e505bd80 15-Apr-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge changes from topic 'struct-fix' into nyc-dev

* changes:
Translate GEP instructions on structs to GEP on int8*
X86: Fix kernel Input/Output GetElementPtr offset issue
f1855f7b710feb0c72378b6995f96fb7dd324465 21-Mar-2016 David Gross <dgross@google.com> Preserve generalized reduction combiner function for use by driver.

This is needed for multithreaded execution of a reduction kernel.

Bug: 27299475

Change-Id: Id94606f73eea3462232a7f7473fa7a3324f536c6
(cherry picked from commit 8ca13573dee07254c95067d05476a82980d8fd6f)
ore/Compiler.cpp
enderscript/RSKernelExpand.cpp
9e0f8f0c8965834de02d007bb30e1dc950cf9762 12-Apr-2016 Pirama Arumuga Nainar <pirama@google.com> Translate GEP instructions on structs to GEP on int8*

http://b/24142721

X86 data layout has 64-bit scalars aligned at 4-byte boundaries, while
ARM aligns these data at 8-byte boundaries. To bring frontend- and
backend-generated code into agreement, this patch adds a pass to
translate GEPs on structs to GEPs with int8* operands and byte offsets.
This pass runs only on X86 targets.

Change-Id: I961b2bc7db9f57f15126f27396db42c9deedfd43
(cherry picked from commit d2d5ee3893220cec256c829a4740a718232f84ac)
ore/Compiler.cpp
enderscript/Android.mk
enderscript/RSCompilerDriver.cpp
enderscript/RSX86TranslateGEPPass.cpp
7d6cde16bde7c6c65d47b51bb992bdfb94077393 21-Oct-2015 Yong Chen <yong.a.chen@intel.com> X86: Fix kernel Input/Output GetElementPtr offset issue

http://b/24142721

The disagreement between module and x86 target datalayout causes
mismatched size calculation of structs with 64-bit scalar fields.

This patch solves the issue by treating input and output pointers as
byte* pointers, indexing them with explicit byte offsets computed using
a modified data layout for x86, with alignment for 64-bit scalars set to
8-bytes, and casting the indexed pointers back to the real type.

Change-Id: Id99ea0e37f5cc9ad93cc6a5979db79ff11b3998c
Signed-off-by: Yong Chen <yong.a.chen@intel.com>
(cherry picked from commit f039d98d346006442b61255a2889b8513a8cd56f)
enderscript/RSKernelExpand.cpp
efc2feca9f42709f66ef4b9c4872f6b55c769dff 15-Apr-2016 Pirama Arumuga Nainar <pirama@google.com> Merge changes from topic \'fix-struct-layout\' am: ea61366
am: 25dc2b1

* commit '25dc2b1b8574314afba50843b74318cf9d8676db':
Translate GEP instructions on structs to GEP on int8*
X86: Fix kernel Input/Output GetElementPtr offset issue

Change-Id: I93adb80cf93db3ba13187aa823f09bd0137cd734
d2d5ee3893220cec256c829a4740a718232f84ac 12-Apr-2016 Pirama Arumuga Nainar <pirama@google.com> Translate GEP instructions on structs to GEP on int8*

http://b/24142721

X86 data layout has 64-bit scalars aligned at 4-byte boundaries, while
ARM aligns these data at 8-byte boundaries. To bring frontend- and
backend-generated code into agreement, this patch adds a pass to
translate GEPs on structs to GEPs with int8* operands and byte offsets.
This pass runs only on X86 targets.

Change-Id: I961b2bc7db9f57f15126f27396db42c9deedfd43
ore/Compiler.cpp
enderscript/Android.mk
enderscript/RSCompilerDriver.cpp
enderscript/RSX86TranslateGEPPass.cpp
f039d98d346006442b61255a2889b8513a8cd56f 21-Oct-2015 Yong Chen <yong.a.chen@intel.com> X86: Fix kernel Input/Output GetElementPtr offset issue

http://b/24142721

The disagreement between module and x86 target datalayout causes
mismatched size calculation of structs with 64-bit scalar fields.

This patch solves the issue by treating input and output pointers as
byte* pointers, indexing them with explicit byte offsets computed using
a modified data layout for x86, with alignment for 64-bit scalars set to
8-bytes, and casting the indexed pointers back to the real type.

Change-Id: Id99ea0e37f5cc9ad93cc6a5979db79ff11b3998c
Signed-off-by: Yong Chen <yong.a.chen@intel.com>
enderscript/RSKernelExpand.cpp
224124653d24969e95bbe486c135002bcca2b789 13-Apr-2016 David Gross <dgross@google.com> If a general reduction kernel lacks a combiner function, synthesize one.
am: 57fd9f8

* commit '57fd9f882f3359be4201c42b02aebf785d311df2':
If a general reduction kernel lacks a combiner function, synthesize one.

Change-Id: I3187508fc8d6f2f14b42f9d1ae401a33183d4701
57fd9f882f3359be4201c42b02aebf785d311df2 08-Apr-2016 David Gross <dgross@google.com> If a general reduction kernel lacks a combiner function, synthesize one.

The CPU reference driver can only go multithreaded for a reduction kernel
if that kernel has a combiner function.

Bug: 27299475

Change-Id: If7f3a9ba8ec5e15ed5f3ef96968d28d650b01c20
ore/Compiler.cpp
enderscript/RSEmbedInfo.cpp
enderscript/RSKernelExpand.cpp
95dc971a4949c37e8ad5145fd9d95d4dd99f8757 04-Apr-2016 Pirama Arumuga Nainar <pirama@google.com> Update bcc's whitelist with rsDebug for half

http://b/27556050

Change-Id: Ic3f89c67e94c071c4da46554a293fe21b84a9ffc
(cherry picked from commit 741f72bde7704e49c096dd90effdff4ab099d2d9)
enderscript/RSStubsWhiteList.cpp
2f469a19ce33b9e93f81322563fb1b6ab4eeddd7 05-Apr-2016 Pirama Arumuga Nainar <pirama@google.com> Update bcc\'s whitelist with rsDebug for half
am: 741f72b

* commit '741f72bde7704e49c096dd90effdff4ab099d2d9':
Update bcc's whitelist with rsDebug for half

Change-Id: I581eebcae8a014effe124b1963d8d26e836dbeb1
741f72bde7704e49c096dd90effdff4ab099d2d9 04-Apr-2016 Pirama Arumuga Nainar <pirama@google.com> Update bcc's whitelist with rsDebug for half

http://b/27556050

Change-Id: Ic3f89c67e94c071c4da46554a293fe21b84a9ffc
enderscript/RSStubsWhiteList.cpp
aa355bec557ade1c6213427b3259d89e6578780d 01-Apr-2016 Dean De Leo <dean@codeplay.com> Merge "Fix the MD debug info to the `expand\' kernels" am: 4a82aa5
am: 8c57a75

* commit '8c57a75aad2a60b3aaf875e372c3a3f7ed82d3ef':
Fix the MD debug info to the `expand' kernels

Change-Id: I32bfb70fc1f0c231f95b7db060ebe3bc889f2274
3ca8fe934c6147f486dbb346fea9ec14ada97dae 01-Apr-2016 Dean De Leo <dean@codeplay.com> Fix the MD debug info to the `expand' kernels

As follow up of the change of [1] in llvm upstream, function metadata
should now be set through the function object. With [2], the above change
from upstream has been pulled into the LLVM version of the AOSP, requiring
to update RSAddDebugInfoPass.cpp to adapt to the new introduced logic.

Without this fix, the debug information for the 'kernel.expand'
functions is corrupt, making not possible to inspect the local variables
through a debugger.

References
[1] http://reviews.llvm.org/D14265
[2] https://android.googlesource.com/platform/frameworks/compile/libbcc/+/7a611ce47aed312cd92d2749dd4243d4384d2dd9

Change-Id: I95acb22d9d9fd0e2c28b859b01e84ed4a773e17b
enderscript/RSAddDebugInfoPass.cpp
dacf87dccdc07cf681b2d0d70fde8897ef20f6e3 01-Apr-2016 Miao Wang <miaowang@google.com> Add __HOST__ check for bcc-compat
am: 4e39604

* commit '4e39604f2b7b1371cc0b0da4bf682616143e5bd6':
Add __HOST__ check for bcc-compat

Change-Id: I25b559054b157c2e4b886a0711c19467b5220c0c
678ecd14f649a27df2e8186a0914b57d639b63b1 01-Apr-2016 Miao Wang <miaowang@google.com> Merge "Add __HOST__ check for bcc-compat"
86e8d4d08a394d8f6610e87a376aa9349d013da4 01-Apr-2016 Miao Wang <miaowang@google.com> Add __HOST__ check for bcc-compat

Bug: 27952962

- For x86_64, setCPU("core2") for bcc-compat.

Change-Id: I5322543deffb121b9231b14cd77c5143fdcd5bec
(cherry picked from commit 4e39604f2b7b1371cc0b0da4bf682616143e5bd6)
upport/CompilerConfig.cpp
4e39604f2b7b1371cc0b0da4bf682616143e5bd6 01-Apr-2016 Miao Wang <miaowang@google.com> Add __HOST__ check for bcc-compat

Bug: 27952962

- For x86_64, setCPU("core2") for bcc-compat.

Change-Id: I5322543deffb121b9231b14cd77c5143fdcd5bec
upport/CompilerConfig.cpp
37df2caf6bee98712e254c485633fc8de3059497 31-Mar-2016 Ewan Crawford <ewan.codeplay@googlemail.com> Merge "Use RenderScript DWARF tag for bcc generated code." am: 2413a9a
am: 336355c

* commit '336355cfeae22d5f78f2b26d6439f584b1a49f49':
Use RenderScript DWARF tag for bcc generated code.

Change-Id: I4a3a39708e3e00da8e8c3e48ccf8aa6bad69041c
2413a9acf2399c145068e85ce38a80c2fc6d612a 30-Mar-2016 Stephen Hines <srhines@google.com> Merge "Use RenderScript DWARF tag for bcc generated code."
70bf33455584bdbe43ef089b7e54f7b9a795fe77 30-Mar-2016 David Gross <dgross@google.com> Merge "Preserve generalized reduction combiner function for use by driver." into nyc-dev
am: 791d57c

* commit '791d57c5b387448cd672010ff970daed5ae41773':
Preserve generalized reduction combiner function for use by driver.

Change-Id: I64e297340c8b0fc908cb039613b0a4c40ae77ae8
791d57c5b387448cd672010ff970daed5ae41773 30-Mar-2016 David Gross <dgross@google.com> Merge "Preserve generalized reduction combiner function for use by driver." into nyc-dev
94949f40819a1ffd340482bf9a0377e630740cd3 29-Mar-2016 Pirama Arumuga Nainar <pirama@google.com> Update bcc\'s whitelist with convert_halfN(halfN) variants
am: 1ebe36a

* commit '1ebe36a439886d7bf60978c2c5c25c973cc6bf3c':
Update bcc's whitelist with convert_halfN(halfN) variants

Change-Id: Ibb80d160d4367feafa15884ef640645038edab06
d10cafeadb6afb50decdc987398aaad4d42250dd 29-Mar-2016 Pirama Arumuga Nainar <pirama@google.com> Update bcc's whitelist with convert_halfN(halfN) variants

Bug: http://b/27529996
Change-Id: I7824eaccb9e0d4c7e4557510ded5ba0516872620
enderscript/RSStubsWhiteList.cpp
671077f24e8fa76dcd14515589282298924b50d9 29-Mar-2016 Pirama Arumuga Nainar <pirama@google.com> Merge "Update bcc\'s whitelist with native_distance for half" am: b39dfc5
am: b440931

* commit 'b440931da55ab4dac046e332de03919ab8c9d9f3':
Update bcc's whitelist with native_distance for half

Change-Id: If2ea827b39afcf36e75c3c11e776f5c1d99642c1
1ebe36a439886d7bf60978c2c5c25c973cc6bf3c 29-Mar-2016 Pirama Arumuga Nainar <pirama@google.com> Update bcc's whitelist with convert_halfN(halfN) variants

Bug: http://b/27529996
Change-Id: I7824eaccb9e0d4c7e4557510ded5ba0516872620
enderscript/RSStubsWhiteList.cpp
caf07a3fa4977b23194de43db3bac6488ecf75df 29-Mar-2016 Pirama Arumuga Nainar <pirama@google.com> Update bcc's whitelist with native_distance for half

Bug: http://b/27547875
Change-Id: Idf34df2d3ba9ebcfc1ff2c7d1d77550dac1c28d1
enderscript/RSStubsWhiteList.cpp
19eeecb82f25cd25032b8c9c35acb5b299ef0937 29-Mar-2016 Pirama Arumuga Nainar <pirama@google.com> Update bcc's whitelist with native_distance for half

Bug: http://b/27547875
Change-Id: Idf34df2d3ba9ebcfc1ff2c7d1d77550dac1c28d1
enderscript/RSStubsWhiteList.cpp
3785f67a69a6f45d9a441e710def9abe70644f63 29-Mar-2016 Pirama Arumuga Nainar <pirama@google.com> Enable +fp16 feature for ARM code generation on AArch64 device
am: ae3184b

* commit 'ae3184b98e2ff4a786979423e59b5c0ae6c16bd5':
Enable +fp16 feature for ARM code generation on AArch64 device
8ca13573dee07254c95067d05476a82980d8fd6f 21-Mar-2016 David Gross <dgross@google.com> Preserve generalized reduction combiner function for use by driver.

This is needed for multithreaded execution of a reduction kernel.

Bug: 27299475

Change-Id: Id94606f73eea3462232a7f7473fa7a3324f536c6
ore/Compiler.cpp
enderscript/RSKernelExpand.cpp
ae3184b98e2ff4a786979423e59b5c0ae6c16bd5 24-Mar-2016 Pirama Arumuga Nainar <pirama@google.com> Enable +fp16 feature for ARM code generation on AArch64 device

Bug: http://b/27512382

On AArch64, 'asimd' feature in /proc/cpuinfo signals the presence of
hardware half-precision conversion instructions. 'asimd' in this
feature list is parsed and translated to the "neon" feature in LLVM's
getHostCPUFeatures. Enable the "+fp16" feature if "neon" is in the
feature list, to signal the ARM backend that hardware fp16 support is
present.

Change-Id: If6a7db8f39b044fe262ac6953ab41535184973e4
upport/CompilerConfig.cpp
8e9089377848628813a697b972773e969b942c3b 07-Mar-2016 Pirama Arumuga Nainar <pirama@google.com> Update libbcc for LLVM rebase to r256229

http://b/26987366

(cherry picked from commit f229c40f0d2da19985e68955aef1a06ce4121e63)

Change-Id: I3d89bb15d0c3e7d64f74656365ed1d472e7de4c7
ore/Android.mk
ore/Compiler.cpp
ore/Source.cpp
enderscript/Android.mk
enderscript/RSAddDebugInfoPass.cpp
enderscript/RSCompilerDriver.cpp
enderscript/RSKernelExpand.cpp
enderscript/RSScriptGroupFusion.cpp
enderscript/RSX86CallConvPass.cpp
upport/CompilerConfig.cpp
upport/Initialization.cpp
f229c40f0d2da19985e68955aef1a06ce4121e63 07-Mar-2016 Pirama Arumuga Nainar <pirama@google.com> Update libbcc for LLVM rebase to r256229

http://b/26987366

Change-Id: Ib5459acda9c4e612948290d0f68456dd4dc414af
ore/Android.mk
ore/Compiler.cpp
ore/Source.cpp
enderscript/Android.mk
enderscript/RSAddDebugInfoPass.cpp
enderscript/RSCompilerDriver.cpp
enderscript/RSKernelExpand.cpp
enderscript/RSScriptGroupFusion.cpp
enderscript/RSX86CallConvPass.cpp
upport/CompilerConfig.cpp
upport/Initialization.cpp
38293eceefdba4641cab76f8fb9d40c0107c05d1 06-Mar-2016 Pirama Arumuga Nainar <pirama@google.com> Remove stale generate-whitelist.sh

The whitelist is generated by the API generator in frameworks/rs. This
file is no longer necessary.

Change-Id: I295a6d06f8e3846f5035b382419d0a41419abc57
enderscript/generate-whitelist.sh
396817338a976fd926221f9d8c3df8e743ecd587 18-Feb-2016 David Gross <dgross@google.com> Merge "Remove dead argument from RSCompilerDriver()."
ea79b56be9bb01d85958c1b44078a76a00315b30 18-Feb-2016 Pirama Arumuga Nainar <pirama@google.com> Update RSStubsWhiteList with some vector f16 functions

http://b/23536224

Auto-generated from spec file udpate in
https://android-review.googlesource.com/#/c/203325/.

Change-Id: I41f4e488ac0b682f252761009488273dfdf43c97
(cherry picked from commit 88c2cbd86222d268f51e50d23e45611790aa506c)
enderscript/RSStubsWhiteList.cpp
efe14344d7fbe0456358285aa043cb9f9d3dd2a1 18-Feb-2016 David Gross <dgross@google.com> Remove dead argument from RSCompilerDriver().

Change-Id: I4307c10d01bc6886e47789a100845d5b784beb3c
enderscript/RSCompilerDriver.cpp
88c2cbd86222d268f51e50d23e45611790aa506c 18-Feb-2016 Pirama Arumuga Nainar <pirama@google.com> Update RSStubsWhiteList with some vector f16 functions

http://b/23536224

Auto-generated from spec file udpate in
https://android-review.googlesource.com/#/c/203325/.

Change-Id: I41f4e488ac0b682f252761009488273dfdf43c97
enderscript/RSStubsWhiteList.cpp
6e66918a08f3c4819f3d266a718214525b883645 18-Feb-2016 Pirama Arumuga Nainar <pirama@google.com> Update copyright date in RSStubsWhiteList.cpp

http://b/23536224

Change-Id: Iae17f757efaea5321ce381eab8b0eb2e3ae1d033
(cherry picked from commit 0fe574d1ff0ea823911f5d5a19fcafb84e6d47c2)
enderscript/RSStubsWhiteList.cpp
0fe574d1ff0ea823911f5d5a19fcafb84e6d47c2 18-Feb-2016 Pirama Arumuga Nainar <pirama@google.com> Update copyright date in RSStubsWhiteList.cpp

http://b/23536224

Change-Id: Iae17f757efaea5321ce381eab8b0eb2e3ae1d033
enderscript/RSStubsWhiteList.cpp
7a9a96766a6636218b516d61fbe47a99dea8afc4 25-Nov-2015 Dean De Leo <dean@codeplay.com> Avoid doing symbol internalization when compiling with -O0.

Don't call the symbol internalization pass when compiling with -O0.
This will allow all RenderScript library functions to be available to
lldb, so the developer can call these builtin functions from lldb's
command line.

(cherry picked from commit 688cf3ffb7efe543fb1c47b581b1f36a346dfb7c)

Change-Id: I38a57edda0366a7f54cbd066d21e6aadc7e4eab7
ore/Compiler.cpp
2351f9290cb9de67e5afb79b2afc7408bf4eb926 25-Nov-2015 Dean De Leo <dean@codeplay.com> Improvements to the RSAddDebugInfo pass.

This change makes the RSAddDebugInfo pass generate much more complete
debug information than before.

Newly implemented features and changes:
* Debug info for each of the expanded kernel arguments is now generated.
This allows the debugger to inspect kernel invocation size,
current outer loop indices ('y' and 'z') and other useful information.
* Adds debug info for the expanded kernel loop index variable.
This allows the debugger to access the current thread index along the
'x' axis.
* Pass now uses MetadataExtractor to get the list of kernel functions
instead of relying on naming conventions.
* Various code improvements.

(cherry picked from commit 9d009b0a25bf7eea6f2da2521107dc37acea9acc)

Change-Id: I4d6ee8f1bd2844ed85ccd933ead0fb479d716aae
enderscript/RSAddDebugInfoPass.cpp
ba1a8f1e6f3eb5b7069e9ba1575f16e393c84c23 25-Nov-2015 Dean De Leo <dean@codeplay.com> Make RSKernelExpand use memory rather than registers.

The RSKernelExpand pass generates a loop around the main kernel body.
This patch changes it to use LLVM memory with loads and stores rather
than generating the SSA directly. This is required in order to be able
to attach debugging information to the memory location associated with
the loop iteration index variable, enabling the debugger to inspect
current thread coordinate. The regular SSA form of LLVM IR doesn't allow
this to be done efficiently.

If optimizations are enabled, the subsequent passes promote memory back
to registers, avoiding potential performance regressions.

(cherry picked from commit 4165d29822fc7caf81e435995ff6189608fc0323)

Change-Id: Ic394c2876e72a4b3c7e1fe888f2369510fdd3d33
enderscript/RSKernelExpand.cpp
16516c6e73f0d89fcd05a0c6f9fc456888004c2a 18-Dec-2015 Verena Beckham <verena@codeplay.com> Add quaternion functions to the stubs white list.

Update the stubs white list, which is generated by
frameworks/rs/api/generate.sh, after changes in the
rs_quaternion.spec file in
https://android-review.googlesource.com/188730/.
This also relies on https://android-review.googlesource.com/178432/
to generate the right signatures.

Signed-off-by: Verena Beckham <verena@codeplay.com>

(cherry picked from commit 2a3e5deca5c064be6a339e99ed5dcca81d727edf)

Change-Id: Ia5d88f5398b1c90e6b7dfda3071598b1e384ef77
enderscript/RSStubsWhiteList.cpp
c545d6f10fa4827de235b5f85b58e803eba725bc 08-Feb-2016 David Gross <dgross@google.com> General reduction initializer and outconverter functions must not be internalized.

Requires corresponding frameworks/compile/slang change.

Now that the front end is no longer adding these functions to
@llvm.used, we must ensure that they do not get deleted -- they
are needed by the CPU reference driver.

Note that it is not necessary for bcc to explicitly delete:
- the UNexpanded accumulator functions
- the @.rs.reduce_fn.* dummy variables created by slang to ensure that
the general reduction constituent functions survive front-end
compilation
The existing internalization and unreferenced symbol removal logic
takes care of this.

Bug: 23535724
(cherry picked from commit 79a19cec3bb00583edc55e2afa2a96b408268545)

Change-Id: I7d7a613e36ff7a1357cb9b5a75d4961c35edd09d
ore/Compiler.cpp
b4fe63d379bff326c2b94f913500962346ae4f5a 11-Feb-2016 David Gross <dgross@google.com> Merge "Refine comment describing RSKernelExpandPass."
388e0ac19f2ec741abd0d1c1f75a510f9090fbba 11-Feb-2016 David Gross <dgross@google.com> Merge "General reduction initializer and outconverter functions must not be internalized."
797b51672914cbe3f3b75e99df7ee7c25560dab7 10-Feb-2016 David Gross <dgross@google.com> Refine comment describing RSKernelExpandPass.

Bug: 23535724
Change-Id: I5b9a6b485132b10a4b972c536f944d656583fcb4
enderscript/RSKernelExpand.cpp
0c5cfaeeb30135efe5e21d1aa9c858965c3019a6 10-Feb-2016 Ewan Crawford <ewan.codeplay@googlemail.com> Use RenderScript DWARF tag for bcc generated code.

Patch sets the debug info source language to DW_LANG_GOOGLE_RenderScript
for the compile unit generated by BCC. A more suitable tag than
C99 since this pass is explicitly for RenderScript.

Change-Id: I14ba260928069fe0589bf42fd32d59abfa285c4c
Signed-off-by: Ewan Crawford <ewan.codeplay@googlemail.com>
enderscript/RSAddDebugInfoPass.cpp
688cf3ffb7efe543fb1c47b581b1f36a346dfb7c 25-Nov-2015 Dean De Leo <dean@codeplay.com> Avoid doing symbol internalization when compiling with -O0.

Don't call the symbol internalization pass when compiling with -O0.
This will allow all RenderScript library functions to be available to
lldb, so the developer can call these builtin functions from lldb's
command line.

Change-Id: I30660312a0327e314b6297ec1bfbbd0d2b41a59a
ore/Compiler.cpp
9d009b0a25bf7eea6f2da2521107dc37acea9acc 25-Nov-2015 Dean De Leo <dean@codeplay.com> Improvements to the RSAddDebugInfo pass.

This change makes the RSAddDebugInfo pass generate much more complete
debug information than before.

Newly implemented features and changes:
* Debug info for each of the expanded kernel arguments is now generated.
This allows the debugger to inspect kernel invocation size,
current outer loop indices ('y' and 'z') and other useful information.
* Adds debug info for the expanded kernel loop index variable.
This allows the debugger to access the current thread index along the
'x' axis.
* Pass now uses MetadataExtractor to get the list of kernel functions
instead of relying on naming conventions.
* Various code improvements.

Change-Id: I0c792f153ea1b3caeecbed76196b21b1e5d63063
enderscript/RSAddDebugInfoPass.cpp
4165d29822fc7caf81e435995ff6189608fc0323 25-Nov-2015 Dean De Leo <dean@codeplay.com> Make RSKernelExpand use memory rather than registers.

The RSKernelExpand pass generates a loop around the main kernel body.
This patch changes it to use LLVM memory with loads and stores rather
than generating the SSA directly. This is required in order to be able
to attach debugging information to the memory location associated with
the loop iteration index variable, enabling the debugger to inspect
current thread coordinate. The regular SSA form of LLVM IR doesn't allow
this to be done efficiently.

If optimizations are enabled, the subsequent passes promote memory back
to registers, avoiding potential performance regressions.

Change-Id: Ic458e4f14537ff3a4fdd5123276aab0c75c04154
enderscript/RSKernelExpand.cpp
79a19cec3bb00583edc55e2afa2a96b408268545 08-Feb-2016 David Gross <dgross@google.com> General reduction initializer and outconverter functions must not be internalized.

Requires corresponding frameworks/compile/slang change.

Now that the front end is no longer adding these functions to
@llvm.used, we must ensure that they do not get deleted -- they
are needed by the CPU reference driver.

Note that it is not necessary for bcc to explicitly delete:
- the UNexpanded accumulator functions
- the @.rs.reduce_fn.* dummy variables created by slang to ensure that
the general reduction constituent functions survive front-end
compilation
The existing internalization and unreferenced symbol removal logic
takes care of this.

Bug: 23535724
Change-Id: Ie8ea77c17d0a057442b30c461e2882b78de2fe0e
ore/Compiler.cpp
4d0aa47a4ebd8ee432ca3f3f88616d23cbb43a10 06-Feb-2016 Pirama Arumuga Nainar <pirama@google.com> Update bcc whitelist with a few more math functions for half

http://b/23536224

Auto-generated from API specification change
https://android-review.googlesource.com/#/c/201420/.

(cherry picked from commit 23b23462f46866c079362870c2cb9a720b732006)

Change-Id: I39fd3a82f4d88041c8f19c7b3521a907606e253c
enderscript/RSStubsWhiteList.cpp
2434eaed2443f21228a0dcdd14b4469b854781d7 08-Feb-2016 Pirama Arumuga Nainar <pirama@google.com> Merge "Update bcc whitelist with a few more math functions for half"
2aa2d00b744b367483492cddaceebd800f3962bb 08-Feb-2016 Stephen Hines <srhines@google.com> Merge "Add quaternion functions to the stubs white list."
23b23462f46866c079362870c2cb9a720b732006 06-Feb-2016 Pirama Arumuga Nainar <pirama@google.com> Update bcc whitelist with a few more math functions for half

http://b/23536224

Auto-generated from API specification change
https://android-review.googlesource.com/#/c/201420/.

Change-Id: I0860291d04c478096ac76ad2a6f689c6a968e9a2
enderscript/RSStubsWhiteList.cpp
3491f318da4557bffb8c98c22c794964fcf6b734 04-Feb-2016 Pirama Arumuga Nainar <pirama@google.com> Update bcc whitelist with a few math functions for half

http://b/23536224

Auto-generated from API specificat change
https://android-review.googlesource.com/#/c/200910/.

Change-Id: I1e453c86c322215614ed21dfb3336a6041c7ba20
enderscript/RSStubsWhiteList.cpp
10f2a8f1d60724c306d01cdd0682e38122637502 04-Feb-2016 Pirama Arumuga Nainar <pirama@google.com> Don't internalize __truncxfhf2 for x86

http://b/26165616

As a WAR for this bug, we define __truncxfhf2 in
frameworks/rs/driver/runtime. Don't internalize this function for x86,
so that a script can find and link against it.

Change-Id: I6ad2feeeda0a26139782346344c403cf597d469b
ore/Compiler.cpp
0abb9a039922ee3043de7a276b947b961ee54a31 31-Jan-2016 Stephen Hines <srhines@google.com> Merge "Add matrix functions to the stubs white list."
69619e0a59ee5d571596dda0ffe560cb148c94fa 31-Jan-2016 Stephen Hines <srhines@google.com> Merge "Add fract(float) functions to the stubs white list."
09c7a41f73602bec33e9d392cc959d78931f73c4 25-Nov-2015 Dean De Leo <dean@codeplay.com> Initial version of debug info pass for RS.

This introduces a new LLVM pass into libbcc called
RSAddDebugInfoPass. Its purpose is to add debug information metadata
to LLVM constructs generated by the other parts of libbcc. The
generated code generally lacks sufficient debugging information as it
has not been processed by the clang-based front-end.

The initial version of RSAddDebugInfoPass provides the following:
1. It annotates the expanded function generated by RSExpandKernel pass
with debug information, stating the name of the function and
source file indicating that the function has been generated.
2. It annotates the instructions of the *.expand function with
filename/line indicating that the function code has been generated.

The source file of both the generated function definition and
the instructions that make up the function is mapped to the source
location of /opt/renderscriptdebugger/1/generated.rs:1. That might be
source-mapped by the debugger to an appropriate file in the SDK, the
contents of which clearly indicate that the user is dealing with
generated code (i.e. one without a "physical" source file).

Change-Id: I2e566160a448d7bfbb3f8d16680e09e43c845693
ore/Compiler.cpp
ore/Source.cpp
enderscript/Android.mk
enderscript/RSAddDebugInfoPass.cpp
1e321862daea867b44700360c4827bcb7b97968a 25-Nov-2015 Dean De Leo <dean@codeplay.com> Split the libbcc pass manager into two phases.

This is to prevent unintended interactions between passes as the
ordering of side effects is different when running inside of a pass
manager when compared to running passes one by one. For example, the
LLVM object file writer pass outputs some parts of the debug information
to the target file on pass initialization. If a pass that
is scheduled before the object file writer pass modifies the debug
info metadata in the pass run phase, the alterations will be
reflected in the resultant LLVM module but NOT in the output file.

Change-Id: I4dba6a5acb5535205f1208f94de7211db50644e4
ore/Compiler.cpp
2fd449f29f32572f6721d9cb1a7aa966005508c7 30-Jan-2016 Stephen Hines <srhines@google.com> Merge "Fix code-generation on x86 targets"
e32af52d4be2bb80783404d99fa338b1143dbc9a 15-Jan-2016 David Gross <dgross@google.com> Support for general reduction kernels.

Bug: 23535724
Change-Id: I28b6b8fafab3fe9f5d09beb990791843875e1f26
enderscript/RSGlobalInfoPass.cpp
enderscript/RSKernelExpand.cpp
79e1a05f704ada1bb12749fe3f8b9b69309be9e5 11-Jan-2016 David Gross <dgross@google.com> Metadata support for general reduction.

Needs corresponding change in frameworks/rs: The driver and bcinfo
need to remain precisely in sync with regard to metadata format in
order for RenderScript to work at all.

Also fixed memory leak in MetadataExtractor.

Bug: 23535724
Change-Id: I6857f605c79139bdce362a7aeef73c91fc502ff6
ore/Compiler.cpp
enderscript/RSEmbedInfo.cpp
21d3858d67ac99fe38d58b29088aa5a6c60191c1 18-Dec-2015 Verena Beckham <verena@codeplay.com> Add matrix functions to the stubs white list.

Update the stubs white list, which is generated by
frameworks/rs/api/generate.sh, after changes in the
rs_matrix.spec file in
https://android-review.googlesource.com/188731/.

Change-Id: I0bc6c617569959aaa798e6b348e1cb98a93a8dd8
Signed-off-by: Verena Beckham <verena@codeplay.com>
enderscript/RSStubsWhiteList.cpp
80711a41336ada9628e09224a640dad08acc90b3 18-Dec-2015 Verena Beckham <verena@codeplay.com> Add fract(float) functions to the stubs white list.

Update the stubs white list, which is generated by
frameworks/rs/api/generate.sh, after changes in the
rs_math.spec file in
https://android-review.googlesource.com/188740/.

Change-Id: Ib87b98f0c5d4b76c07d87f785a1dbb797c60bd30
Signed-off-by: Verena Beckham <verena@codeplay.com>
enderscript/RSStubsWhiteList.cpp
2a3e5deca5c064be6a339e99ed5dcca81d727edf 18-Dec-2015 Verena Beckham <verena@codeplay.com> Add quaternion functions to the stubs white list.

Update the stubs white list, which is generated by
frameworks/rs/api/generate.sh, after changes in the
rs_quaternion.spec file in
https://android-review.googlesource.com/188730/.
This also relies on https://android-review.googlesource.com/178432/
to generate the right signatures.

Change-Id: Iac49b666884b715bc9514ee65b5f3ad5eed9a062
Signed-off-by: Verena Beckham <verena@codeplay.com>
enderscript/RSStubsWhiteList.cpp
9774f5028b0d2d22a903de03a810c9ea4a6071bc 10-Dec-2015 Pirama Arumuga Nainar <pirama@google.com> Update whitelist with f16 math functions.

Automatically generated from the spec file change in
https://android-review.googlesource.com/#/c/186324/

Bug: 23536224
Bug: 26099915

Change-Id: Ia5e849e2adb90655f965a59923a5e9210df897a7
enderscript/RSStubsWhiteList.cpp
02c61f6dbe389424a97b2ffd333bcfc6e1e952c1 19-Nov-2015 Yang Ni <yangni@google.com> Updated whitelist and a fix for target x86_64

Updated whitelist for new rsForEachInternal signature.

Correctly handles RS object parameters of rsForEachInternal for the
x86_64 target.

Change-Id: I1b53861083b87c51c5bdaeaec2be469dc7af7a0a
enderscript/RSStubsWhiteList.cpp
enderscript/RSX86CallConvPass.cpp
3c05a9cabc73640febb331e3df1d8f2e565c9e30 11-Nov-2015 Luke Drummond <luke.drummond@codeplay.com> Fix code-generation on x86 targets

- bcc code generation on x86 devices was generating invalid code in
unoptimized builds due to missing CPU detection in ``bcc::CompilerConfig``
- CPU type and code models properly belongs in compilerConfig.
- CompilerConfig: existing feature strings were being overwritten
instead of appending to existing configured CPU feature config list:

```cpp
if (HasF16C())
mFeatureString = "+f16c";
```

- Moved hardcoded compile-time SSE3/4.1/4.2 features in
bcc/tools/Main.cpp. These checks (if any) belong in
`bcc::CompilerConfig`.
upport/CompilerConfig.cpp
49321872ca618ae314f7b6985b9d11368b408692 12-Oct-2015 Pirama Arumuga Nainar <pirama@google.com> Whitelist allocation-creation functions in libbcc

Automatically generated from
https://android-review.googlesource.com/#/c/175582/

Change-Id: Ic68c3c425e1c7b0d3d73a56c5de46f11ea7495b8
enderscript/RSStubsWhiteList.cpp
71335657996062f03dd754b2cdde461f9d167a4c 29-Oct-2015 Yang Ni <yangni@google.com> Launch options & multi inputs for single-source RS

Bug: 23535985

Updated bcc whitelist with the new rsForEach mangled function name.

Change-Id: Ibc22bd5e9585a4471b15920ef60fe1fe2312de49
enderscript/RSStubsWhiteList.cpp
bb8b06af6d01c01958c35b0b1e9d8cc41c7f44be 18-Sep-2015 Yang Ni <yangni@google.com> Whitelisting rsForEachInternal calls

Bug: 23535985

Auto generated from frameworks/rs/api/rs_for_each.spec

Change-Id: I6e2cf3db868f426aa8e0b9a77732b66c1e6b9f03
enderscript/RSStubsWhiteList.cpp
ed775d37de029c48798c6e3f489bca10e0d93ab3 23-Sep-2015 Stephen Hines <srhines@google.com> Remove unused sha1.h.

Bug: 22199552
Change-Id: Ie03f73baf64c31cf9ac628a9db1a73192c866749
upport/sha1.h
c31e101bed9d58be0388fead9c7344624978f580 26-Aug-2015 Stephen Hines <srhines@google.com> Fix invalid read of literal (anonymous) structure names on assertion builds.

Bug: 22926131

This change adds support for using libbcc with an assertion-enabled
build of LLVM via the FORCE_BUILD_LLVM_DISABLE_NDEBUG define. It also
restricts the use of getName() on literal structures. Although a
separate patch to frameworks/rs that makes our RS object types not just
typedefs of anonymous structs can fix this safely going forward, our
release builds will need to be able to read legacy bitcode that uses
anonymous literal structure types. Thus, we need the ability to call
getName() on all structures for release builds. In the case of assertion
builds, we will enforce that we are using the updated compiler + headers
so that the structures are not anonymous. If an older compiler + headers
are used in the host compile, the bcc compilation will fail with an
appropriate error message.

Change-Id: Ic2910aed069235b40a31c22b006a4db5c1b9e06c
enderscript/RSCompilerDriver.cpp
6af50b75fc0132a9957f19a11357c446b4836b16 19-Aug-2015 Dan Willemsen <dwillemsen@google.com> Stop using HOST_OS, whitelist windows modules

Bug: 23566667
Change-Id: I7ef9d73b897788ed4c8a8d8ca9a582cc08af15f9
ore/Android.mk
enderscript/Android.mk
upport/Android.mk
9436c894e7d71d0665023f609fe0b823d1c604b7 22-Aug-2015 Stephen Hines <srhines@google.com> Merge "RSKernelExpand: Remove loads of instep and outstep values in new-style forEach kernel expansion."
3bc475b206c3fa249a212b90fe989fdcda4d75f9 13-Aug-2015 Matt Wala <wala@google.com> RSKernelExpand: Remove loads of instep and outstep values in new-style
forEach kernel expansion.

InStep and OutStep are not used by expanded new-style forEach kernels.
Instead, the strides are inferred from the type information available
to the kernel expansion pass.

Change-Id: Ieb3dc46ac4fdcd19d7e26f6d84b7356479b9984e
enderscript/RSKernelExpand.cpp
005666078051a3f8e1e0ff59678635f3c501cde8 21-Aug-2015 Jean-Luc Brouillet <jeanluc@google.com> Restore missing min and max API.

min(float2/3/4, float) and max(float2/3/4, float) were defined in our
headers in K. In L, they were removed by mistake. This continued to
work however because a float would be auto converted by the compiler to
a float4.

In M, we started validating for unexpected external references, which
_Z3minDv4_ff is. This can prevent programs compiled with K from running
on M.

This CL fixes the whitelist.

Bug:23389429

Change-Id: I21f59521b3744d0c5b6fd75dbf1810493e9c1d84
enderscript/RSStubsWhiteList.cpp
dfde70a8ae9b77bbf0e8d9d22a55e1d1fda7d64d 19-Aug-2015 Stephen Hines <srhines@google.com> Remove ambiguous parse to fix mingw build breakage.

Change-Id: I5f30aaa1669dc9a1dfb019e94df261c5eafa5a1f
enderscript/RSKernelExpand.cpp
4e7a50685ae18a24087f6f2a51c604e71fab69e2 31-Jul-2015 Matt Wala <wala@google.com> Expand reduce-style kernels.

Bug: 22631253

Rename the RSForEachExpand pass / source file to RSKernelExpand. In
addition to already being responsible for expanding foreach-style
kernels, RSKernelExpand now expands reduce-style kernels from

define foo @func(foo %a, foo %b)

into

define void @func.expand(i8* %inBuf, i8* %outBuf, i32 len)

The expanded function reduces a sub-range of its input.

Change-Id: I518fa9367b57111a2f2a1b23903ff870c421beeb
ore/Compiler.cpp
enderscript/Android.mk
enderscript/RSEmbedInfo.cpp
enderscript/RSForEachExpand.cpp
enderscript/RSKernelExpand.cpp
fe0de789385f766e2dacbcfdb05fa57509db874e 13-Aug-2015 Elliott Hughes <enh@google.com> Lose HAVE_ANDROID_OS from frameworks/compile/libbcc.

Change-Id: I445c64c3a3e571380d2efff39829a8d6cf48b329
enderscript/RSCompilerDriver.cpp
b971e8c886bf751bd10959cba9857ec50c89c5b3 06-Aug-2015 David Gross <dgross@google.com> Merge "Clean up Compiler::runPasses()."
9296edce10caec9c901f24b65e7d54c8ffe9131c 06-Aug-2015 Matt Wala <wala@google.com> Fix alias metadata issues.

Bug: 22804168

(1) Remove the used of alias.scope metadata. This was not being used
correctly and had no effect.

(2) Fix the use of TBAA. Ensure that the temporary alloca used for
passing pointers to the kernel (if the kernel takes a pointer
parameter) does not get annotated with the RenderScript TBAA, because
this can conflict with existing TBAA metadata in the kernel.

Change-Id: I27018f809a33f213c6d4cc720b18b844f28b2d6f
enderscript/RSForEachExpand.cpp
5aefc98db2dc14a703ce3d4f134565b834686552 04-Aug-2015 David Gross <dgross@google.com> Clean up Compiler::runPasses().

Flatten out call tree rooted at Compiler::runPasses(), to make it
easier to understand.

Bug: 22801527

Change-Id: I680f9443bba3328c4c0da73a2358d4cd12094d20
ore/Compiler.cpp
ddcac09de5bc3174f9cafe535a900bc0afeae5d6 05-Aug-2015 Stephen Hines <srhines@google.com> Merge "Avoid cpu mismatch to ARM during cross compiling"
efb3af3ba00e8dc9a10130ec66727ebd8c11a2ed 29-Jul-2015 Stephen Hines <srhines@google.com> Fix missing call to setLinkRuntimeCallback() from compat path.

Bug: 22809453

This call was missing from the buildForCompatLib() path, leading to
potential problems with GPGPU drivers that depend on that callback.

Change-Id: I236cf9f6e067d243977fbcce154e79953c9e33aa
enderscript/RSCompilerDriver.cpp
083ef3c3d1991e9fa443ff76065ec6528dd4730c 23-Jul-2015 Matt Wala <wala@google.com> RSForEachExpand: Improve getelementptr instruction generation.

(1) The old pattern, when accessing fields of the driver info
structure, was:

%base = gep %DriverInfo *%info, 0, <base array index>
%addr = gep [N x i8*]* %base, 0, <index>

This change folds the above into:

%addr = gep %DriverInfo *%info, 0, <base array index>, <index>

which simplifies both way that we generate the GEP instructions as
well as the resulting bitcode.

(2) In addition, GEPs of input pointers and instep sizes can be
hoisted out of the loop body.

(3) Finally, mark all GEPs into the DriverInfo structure as inbounds,
because we know they are.

Change-Id: Icfabbdb464af8865c2a4623d967bbb63ef711680
enderscript/RSForEachExpand.cpp
d8563169c10620e696106542e517f9fbd65984d2 20-Jul-2015 Yong Chen <yong.a.chen@intel.com> Avoid cpu mismatch to ARM during cross compiling

Change-Id: I80ebcdbd433e5bbbcf9c9d3a7bda6743037c0aad
Signed-off-by: Yong Chen <yong.a.chen@intel.com>
upport/CompilerConfig.cpp
656325bdb4751d5606f9e53d8f417bd727032c31 17-Jul-2015 Stephen McGroarty <stephen@codeplay.com> Stopped bcc from ignoring optimization level

Added in a constructor for RSScript which takes in the compiler
config and derives the optimization level from that rather than
defaulting it to opt level 3. Also added in a statement to catch
a null pointer for the case where the llvm-rs-cc produced bitcode
fails verification.

Change-Id: I6efdab6280a9c389268b5a40dc4a50eb9bc24370
Signed-off-by: Stephen McGroarty <stephen@codeplay.com>
enderscript/RSCompilerDriver.cpp
enderscript/RSScript.cpp
767dd80cb44a9e973405672d0beb54d741382592 15-Jul-2015 Stephen Hines <srhines@google.com> Merge "Fix a bug where kernels could modify the input allocation."
28c17995669687cecc96eaba232eecd3b65f5bbf 08-Jul-2015 David Gross <dgross@google.com> Fix rs_kernel_context_t type mismatch in call to kernel.

The kernel function context argument (if any) is a pointer to an
opaque user-visible type (rs_kernel_context_t) that differs from
the RsExpandKernelDriverInfoPfx type used in the wrapper
function (although the two types represent the same thing).
Therefore, we must introduce a pointer cast when generating a
call to the kernel function.

Bug: 21812992
Change-Id: I7680676a159cf052e2761b4f670f67891c3d6c1b
enderscript/RSForEachExpand.cpp
d96c9fae6bcbaa7d8bee0dab2d75beb8400248ff 07-Jul-2015 Matt Wala <wala@google.com> Fix a bug where kernels could modify the input allocation.

Bug: 22236496

A large struct in an input Allocation, passed by reference in AArch64,
was not being properly copied into a temporary location as the calling
convention requires. As a result, the kernel could have modified the
input allocation if it made any modifications to the argument.

Fix by copying the struct to a stack location before passing it to the
kernel.

Change-Id: I5089f9e5e27cd0d4ff249cbdc21f0c6ae186f189
enderscript/RSForEachExpand.cpp
81f3dd38a551ae31716e9f5f7e73d7b8e7eed5b7 02-Jul-2015 Pirama Arumuga Nainar <pirama@google.com> Merge "Remove use of llvm::TargetOptions::NoFramePointerElim"
963b333a3a28635e70e6abbab2da11306e3ce01a 02-Jul-2015 Pirama Arumuga Nainar <pirama@google.com> Merge " Soft-float cleanup"
e2423780bf482d2eeefa9a958b4793f865cba845 30-Jun-2015 Matt Wala <wala@google.com> Fix static object construction.

allocPointersExposed() maintains a static vector to hold a table of
function names. Unintentionally, the size of the table could grow with
each function call because the entries were being added by appending to
the existing object.

This can be fixed by using an initialization list instead of a
sequence of appends. Also, mark the table as const to ensure the code
doesn't try to modify it.

Change-Id: I0da0f99928e1614c945befff550b039d4f21e171
enderscript/RSForEachExpand.cpp
887fc99c435df92c4dcba8790431628b5e875657 30-Jun-2015 Pirama Arumuga Nainar <pirama@google.com> Remove use of llvm::TargetOptions::NoFramePointerElim

Bug: 22210139

This flag is removed from upstream. Removing its use will enable frame
pointer elimination by default. After the rebase, we need to add back
the ability to disable frame pointer elimination (b/22210139).

Commit c0554e25638bec2462daf1a66ed0270a60aec8ea disables frame pointer
elimination for x86 and x86_64. The reason behind this seems to be
lost. Removing the flag implicitly enables this optimization for x86
and doesn't cause any CTS failures on AOSP.

Change-Id: Ia051651adc132583bb6703513dd3eb5ec0b200d9
upport/CompilerConfig.cpp
86e5c863d609de41b03033fd7e81ca41dbb181c8 01-Jul-2015 Pirama Arumuga Nainar <pirama@google.com> Soft-float cleanup

- UseSoftFloat target option is removed from upstream. Remove its use
and update the comment on how to skip FPU and use software
floating-point.
- Cleanup comment and remove a stale TODO about auto-detecting the
presence of hardware FPU. It is unlikely that any processor doesn't
have an FPU these days.

Change-Id: Ib0c0efc7e9dbd3a525aa714c8771247e2d96f9f2
upport/CompilerConfig.cpp
f1eeeb14d117a67c5f35b72e866890bd8d1d694f 29-Jun-2015 Yang Ni <yangni@google.com> bcc kernel fusion: Fixed checks and added better error messages

b/21949580

Need to increment the slot iterator only after checking if the slot
is first in batch.

Succeeding kernel input data type has to strictly match the return
type of the preceding kernel.

Give error messages on all error exits, with better messages.

Change-Id: Icc50b85377e820333b13e57389e53363d4a7e89f
(cherry picked from commit 531d08c85971e47f58aedc093fbe83f1b909703e)
enderscript/RSScriptGroupFusion.cpp
0768d387bf665e6430d0ffa05f7f1228050047ad 20-Jun-2015 Yang Ni <yangni@google.com> Check kernels before fusing

b/21958851

Kernel fusion for a Script Group expects kernels to be chained up
via outputs (return values) and first arguments.
Check this condition during fusion. Otherwise, BCC may crash on
broken invariants.

Change-Id: I013558c77dc3f79d6e42986121927dd6c695f27e
(cherry picked from commit 8c12d615b4ed4b1d782722a125dd1d43bc44a71b)
enderscript/RSScriptGroupFusion.cpp
23c2bfe96698091f2886d1959435d8949f76c46b 22-Jun-2015 David Gross <dgross@google.com> Fix cases where RSInvariant pass might miss marking some loads as invariant.

llvm-rs-cc and bcc can add numeric suffixes to structure type names; we need
to tolerate this when looking for the context structure by name.

Bug: 21815112
Change-Id: If5ef169245f8d43affdc43abb2298c7015568dd0
enderscript/RSInvariant.cpp
d7fc8037f075e1fa797bdf49aee4e096643981ed 19-Jun-2015 Jean-Luc Brouillet <jeanluc@google.com> Merge "Update RSStubsWhiteList.cpp with a generated list"
bb066cb45575eabcdb5bad9d3f3bd48f3b9b6b94 19-Jun-2015 Jean-Luc Brouillet <jeanluc@google.com> Merge "Screen bitcode for non-RS functions before linking with runtime lib"
150eef4097c996e14b50b7f58184265385c44713 19-Jun-2015 Pirama Arumuga Nainar <pirama@google.com> Fix check for literal types

In my previous commit on "Get struct names only for non-literal structs"
I got the check for literal structs reversed. This commit fixes that.

Change-Id: I7b1b35d4ad85bdfde65a2d68fa39cf2cb8bde9cb
enderscript/RSInvariant.cpp
ebff2ead4ad622ff1bd3f3c108790cead62fe7c7 22-May-2015 Pirama Arumuga Nainar <pirama@google.com> Screen bitcode for non-RS functions before linking with runtime lib

Bug: 19425238
Bug: 20894432

Perform the screening of non-RenderScript functions in the script before
linking against the runtime lib. Previously, this used to be done after
linking with the runtime lib, LTO passes and just before code
generation.

This allows vendors to link against a different runtime library that may
not have all the functions as the CPU reference driver and add new
builtins specific to their driver.

Moreover, symbols introduced by LLVM optimizations no longer need any
special handling.

Change-Id: I5628aa15547a9d56ef7e6550fcb45e8ffa821ade
ore/Compiler.cpp
enderscript/RSCompilerDriver.cpp
1997f70e65091cfe8695324c12d2cefbfb784fd6 15-Jun-2015 Pirama Arumuga Nainar <pirama@google.com> Update RSStubsWhiteList.cpp with a generated list

Bug: 19425238
Bug: 20894432

Use the automated mangled-name generation added in
https://android-review.googlesource.com/#/c/154754 to update libbcc's
whitelist.

Change-Id: I06ad3e1a0e71497cbd4c097a2fabec81f94ab8e2
enderscript/RSStubsWhiteList.cpp
0ef3c2c1f34aa61541c0b67833821eb0adfdf198 12-Jun-2015 Pirama Arumuga Nainar <pirama@google.com> Merge "Get struct names only for non-literal structs"
e8b9f0607d59e991d984302d790b8b16e3623cc3 12-Jun-2015 Pirama Arumuga Nainar <pirama@google.com> Get struct names only for non-literal structs

Bug 19545955

While marking loads as invariant, test that a struct parameter is
not a literal struct before comparing/testing its name.

Change-Id: I92fb234b42306859ecad87c83321f9a8fe1a210b
enderscript/RSInvariant.cpp
721414ca0d1f1d6a1f98b5f16c5766cfa001d784 10-Jun-2015 Matt Wala <wala@google.com> RSGlobalInfoPass: Fix types in global info tables

Bug: 20306487

With LLVM asserts enabled, the code that builds .rs.global_names and
.rs.global_addresses triggered an assertion because the table entries
were not void pointers.

Fix by casting the inputs appropriately.

Change-Id: I21310d8da46150dcf7590faf398d11b3b72a692b
enderscript/RSGlobalInfoPass.cpp
70e3dcff9f0450b13f8ccb8db3fba76653993e35 07-Apr-2015 Pirama Arumuga Nainar <pirama@google.com> bcc changes for fp16

Bug: 7342860

Add fp16-specific attributes ("fp16" for ARM and "f16c" for x86) to the
compiler feature string. The attribute is not added on host versions of
the tools.

Change-Id: I7f0783d7228dccc5828c8d5900fceeec04b5a7c2
upport/CompilerConfig.cpp
284149ecc3e91659ab206d1a40de70c1b4d62739 30-May-2015 David Gross <dgross@google.com> Merge "Replace assert() with project-specific version."
c2ca742d7d0197c52e49467862844463fb42280f 29-May-2015 David Gross <dgross@google.com> Replace assert() with project-specific version.

Our convention is to use our own form of assertion (bccAssert,
rsAssert, slangAssert) rather than C standard assertion (assert)
because the latter is disabled for the Android build process.
However, a few instances of assert() somehow made it through.

Bug 21444723

Change-Id: I6702268d452317bf0d78304f112fbfafefe3d5b9
ore/Compiler.cpp
enderscript/RSCompilerDriver.cpp
enderscript/RSForEachExpand.cpp
166b8d08b66d7feb8262b31bc65fb297070b4700 08-May-2015 Yong Chen <yong.a.chen@intel.com> X86_64: Set small CodeModel if use PIC_ relocation

Change-Id: Idf0be1ae1d3ed1d0505cdeaac8023b4c7e1ccb85
Signed-off-by: Yong Chen <yong.a.chen@intel.com>
upport/CompilerConfig.cpp
abfa7852d33391671d972614bb21990c5f32ee2b 23-May-2015 Stephen Hines <srhines@google.com> Fix x86_64 issue with a missing "." in structure names.

Bug: 21375248

This patch refactors RSX86CallConvPass.cpp a little bit so that it uses
our latest utility functions for determining the Type of a given Value.
The prior implementation could miss structures that didn't have a
suffixed dot + number appended to them (i.e. struct.rs_allocation.17
worked fine, but struct.rs_allocation would go undetected). This
resulted in missing conversions for the parameter types on x86_64
compiles (and thus crashes in CTS for reference counting, etc.).

Change-Id: Ic437754399514d201d2fb69f6efb03badc5f535d
enderscript/RSX86CallConvPass.cpp
d6dba60912f3eb9b6257ebe97daf63d4600fbb51 23-May-2015 Stephen Hines <srhines@google.com> Merge "Provide additional information about global variables."
fb81ec1a875d13d9750006313b9123903336101d 19-May-2015 Stephen Hines <srhines@google.com> Provide additional information about global variables.

Bug: 20306487

This patch extends our global information pass to include details about the
type of a global variable, whether or not it is static, constant, or a
pointer. It also refactors code that deals with conversion between
RenderScript's internal data types and LLVM's type system. A subtle bug
has also been fixed with respect to the RSInvokeHelperPass. The previous
version could ignore an rs_* object that did not have a numeric suffix.
The new helper function properly addresses cases like this.

Change-Id: If9c933a885bf6a9063b7edec3f0873e1b144188d
ore/Compiler.cpp
enderscript/RSEmbedInfo.cpp
enderscript/RSGlobalInfoPass.cpp
enderscript/RSInvokeHelperPass.cpp
b23dd6fc362a88c20f4e783eb122884be2e7cb75 22-May-2015 Pirama Arumuga Nainar <pirama@google.com> Merge "Add missing functions to RenderScript whitelist"
9503a5a087fc6021813d6b3ae5f22acffdd3d6b1 21-May-2015 Pirama Arumuga Nainar <pirama@google.com> Add missing functions to RenderScript whitelist

bug 20894432

Some functions can be present in our compiled module because they
are absent from vendor-specific RS runtime libraries. These functions
need to be added to our whitelist so bcc doesn't report them as errors.

Change-Id: I98e8bbac9f111f81fcf5cf99a859feebc708e309
enderscript/RSStubsWhiteList.cpp
cf8b2d0d2fcd7acf9769b3e1f26ac6e3a0a9b6e7 19-May-2015 David Gross <dgross@google.com> Sanitize Module's target information.

We have always used a command line specified triple when instantiating
TargetMachine, rather than the triple from the Module. Now sanitize
the Module by installing this same triple in the Module, and installing
the TargetMachine's data layout in the Module; this way, the Module and
the TargetMachine will be consistent.

Change-Id: I07480ba2c6effbabe15f72755d9d5792ed494fb0
ore/Compiler.cpp
e57fde54a4145a85439545f79bd8747682f86ded 15-May-2015 Pirama Arumuga Nainar <pirama@google.com> Merge "Update libbcc for rebase to LLVM r235153"
98137cca7eebca946b869b010fef2821c9bf4971 06-May-2015 Pirama Arumuga Nainar <pirama@google.com> Update libbcc for rebase to LLVM r235153

Some changes related to GEP may impact us in the future:
- GEP constructors take an additional argument - the pointee type of the
resulting pointer. Update bitcode readers accordingly. They take
nullptr for now. This behavior should be retained at least for 3.x.
- Likewise, CreateStructGEP and CreateConstInBoundsGEP2_32 need the
pointee type argument. Passing nullptr for the extra argument for
now. According to commit message in r233938, passing nullptr may not
work in the future. Unlike the BitcodeReaders, we can pass the right
pointee type here. b/20886457 is created to track this issue.

Change-Id: I2450da1c36470fb9defd387d74360480c3e4bd2f
ore/Compiler.cpp
enderscript/RSForEachExpand.cpp
750ee65e129a2baef2dc5bb9ad210b45c9184926 17-Apr-2015 Stephen Hines <srhines@google.com> Provide a pass that creates information about global variables in RS.

Bug: 20306487

This change implements RSGlobalInfoPass, which is an optional LLVM pass that
adds several new global variables to a given Module. These variables contain
information about the other RenderScript global variables that are present.

Change-Id: I671013c11c7a528254edad5c66f2858953c0f5c4
ore/Compiler.cpp
enderscript/Android.mk
enderscript/RSCompilerDriver.cpp
enderscript/RSGlobalInfoPass.cpp
enderscript/RSScript.cpp
e1c7d298e3e38ffff294ce57c37ab43827a67ee5 15-Apr-2015 Stephen Hines <srhines@google.com> Make better use of getStringOperand() for MetadataExtractor.

This change also cleans up some of the code from a prior rebase.
It also captures two additional broken metadata cases (from corrupt
object slot and/or pragma metadata).

Change-Id: I61e161d2b0e211349683e36160d564493d802a12
ore/Compiler.cpp
enderscript/RSEmbedInfo.cpp
enderscript/RSForEachExpand.cpp
enderscript/RSScriptGroupFusion.cpp
upport/Initialization.cpp
65fb05fec8ddb25b4e32dbb2e1fabda771749fb7 15-Apr-2015 Yang Ni <yangni@google.com> Merge "Embed a real chesksum in script group .so"
8c24f8d1d75b619130e8bfce204ed9695362d4a1 17-Mar-2015 Pirama Arumuga Nainar <pirama@google.com> Undo AArch64 pass-by-pointer for X86-64

bug 19779488

AArch64's calling convention passes large objects by pointer/reference.
Consequently, RS functions exported in the driver need special handling
for x86-64. This patch creates a new pass to libbcc that identifies
pointer arguments created due to the AArch64 convention and marks them
as pass-by-value.

Change-Id: I2e24edd9704e843b118f4c445cfd92f61f9de909
ore/Compiler.cpp
enderscript/Android.mk
enderscript/RSX86CallConvPass.cpp
60b76aa2d6161b36f30b6042cc54a70c41b9798c 10-Apr-2015 Pirama Arumuga Nainar <pirama@google.com> Merge "Update libbcc for LLVM rebase to r233350."
0a3df6528dfba4f417582d51b52f34946dee3f3f 10-Apr-2015 Jean-Luc Brouillet <jeanluc@google.com> Merge "Remove obsolete entry points."
a8adba16f2d9c91568598b0244840a2a1056b10a 09-Apr-2015 Jean-Luc Brouillet <jeanluc@google.com> Remove obsolete entry points.

Change-Id: I79c9f94dc4d5e8f498222b3d5a490f0ba4b63ba3
enderscript/RSStubsWhiteList.cpp
186d2f34573eb20de197d8eb8e08bcadd031a9bd 07-Apr-2015 Yang Ni <yangni@google.com> Embed a real chesksum in script group .so

Change-Id: Icf2f37867692f94e344a292fa15f8b85e0fc30a5
enderscript/RSCompilerDriver.cpp
5cb1f3949c5bdd43c84647920d147a6b8509e256 07-Apr-2015 Stephen Hines <srhines@google.com> Update libbcc for LLVM rebase to r233350.

- Remove direct calls/use of DataLayoutPass.
- Move BitcodeReader.h (declarations) into BitcodeReader.cpp files.
- Fix typed/untyped GEP.
- Add empty materializeMetadata(), since we don't defer it ever.
- Fix longstanding (but insconsequential) difference between
bitc::CST_CODE_INLINEASM and bitc::CST_CODE_INLINEASM_OLD.

Change-Id: I135e494beea2f5992db1cb5c038d52cced991e72
ore/Compiler.cpp
6a91ad088cd8499ef52eb12ef47cf968c8035e59 08-Apr-2015 Jean-Luc Brouillet <jeanluc@google.com> Remove the rs_path APIs from the white list.

CL/141547 and CL/144668 removed rs_path but had not touched this file.

Change-Id: Ic5d6324fa4d1377728bad7e1f89fde2eb7962847
enderscript/RSStubsWhiteList.cpp
354d1c132ad7e1ff6fdb0da95443245848a0601f 04-Apr-2015 Stephen Hines <srhines@google.com> Fix TBAA by using an additional distinct node for swapping.

Bug: 20069947

We now create a distinct TBAA root node, so that we can easily swap the rest
of the RenderScript TBAA subtree into the simple C/C++ TBAA tree. This change
also reenables TBAA for RenderScript, which was disabled during the most recent
LLVM rebase. RAUW is only applicable to ReplaceableMetadata, which general
MDNodes (like those constructed for TBAA) are not. Fortunately,
replaceOperandWith() can be used for MDNodes with existing operands, which is
why we need to add an additional layer to the hierarchy.

Change-Id: I9f0def0eb109099f12e5292bc1f3a6deafd4aad9
enderscript/RSForEachExpand.cpp
1bd9f627fa0affb457507e86b0b6684c695fe726 18-Mar-2015 Stephen Hines <srhines@google.com> Update libbcc for LLVM rebase to r230699.

Change-Id: If6717d2df5cc74e7daa493a4be7ac891f8e4928f
ore/Android.mk
ore/Compiler.cpp
enderscript/RSForEachExpand.cpp
upport/Initialization.cpp
be42b8a2ef3e5bb7603b974f32dc25caba1bc716 30-Mar-2015 Tim Murray <timmurray@google.com> Merge "Add bitcast to invoke helper pass."
4100e8e25a51279b7586f5678a141fd85e33413f 30-Mar-2015 Tim Murray <timmurray@google.com> Add bitcast to invoke helper pass.

Change-Id: I53ddd68d62f09f83832d844d64e7d3da196863f5
enderscript/RSInvokeHelperPass.cpp
1d93a190e62ec1588b4724ca8759216b2d0b76d7 25-Mar-2015 David Gross <dgross@google.com> Add RSInvariant pass to recognize Load from RsExpandKernelDriverInfo as invariant.

This allows more-aggressive optimization of foreachexp-generated code and of the
rsGet*(rs_kernel_context) API functions. In particular, it facilitates LICM of
Loads out of the wrapper loop in a .expand function.

Bug: 18964628
Change-Id: I77a87b325724ca08c4a04f5a46f316be78a5e0fd
ore/Compiler.cpp
enderscript/Android.mk
enderscript/RSForEachExpand.cpp
enderscript/RSInvariant.cpp
a65fba6fd15b14d930809e64c84fb976a893d038 19-Feb-2015 Pirama Arumuga Nainar <pirama@google.com> Remove RSInfo

bug 19602994

RSInfo is no longer used. Script-specific information is now passed via
.rs.info variable in the object file. This patch removes RSInfo and the
old caching path which was closely tied to RSInfo.

Change-Id: Icb62ed848d1a262dd13d5c49652d034fcd0bb943
enderscript/Android.mk
enderscript/RSCompilerDriver.cpp
enderscript/RSInfo.cpp
enderscript/RSInfoExtractor.cpp
enderscript/RSInfoReader.cpp
enderscript/RSInfoWriter.cpp
enderscript/RSScript.cpp
upport/Android.mk
upport/Sha1Util.cpp
upport/sha1.c
e44a3525b9703739534c3b62d7d1af4c95649a38 13-Mar-2015 David Gross <dgross@google.com> Expect RsExpandKernelDriverInfo not RsExpandKernelParams.

Which is to say: Retire RsExpandKernelParams and expect RsExpandKernelDriverInfo
to be passed to kernel wrapper functions instead.

Requires related change in frameworks/rs.

Also add kernel input count assertion.

Change-Id: I0d47905cc07f5896b6dc0e7887dbe1114f26359f
enderscript/RSForEachExpand.cpp
6da4e253a513feef3405759fef6d0760828808ca 11-Mar-2015 Yang Ni <yangni@google.com> Handle FP precision in kernel fusion

b/19098612

Added a bcc command-line option for the relaxed core lib path.
If the relaxed lib path is provided, it will be used if the merged
module has relaxed FP precision.

Change-Id: I2a641387f0990463887594729a935a5c3f0f856f
enderscript/RSCompilerDriver.cpp
0ab50b835805c75ad164466767c2c212f48954cc 16-Feb-2015 Yang Ni <yangni@google.com> Create one single module for a script group

This changed the way we compile a script group. Instead of compiling
each batch into a seperate module, we now compile the whole script
group into one single module, with each batch as a function (of fused
kernels) in that module. This allows invoke to (fused) kernel
communication via globals variables.

Added commoand line options "-merge" and "-invoke". The former
accepts fused kernel names, input kernels, while the latter accepts
new invoke name, and the original invoke function.

Additional changes:

- Bail out on encountering any unexpected bits in the foreach
signature of any kernel to fuse
- Made kernel fusion handle kernels without inputs.
If a kernel only takes global allocations but no inputs, bcc
needs to use a different signature for the fused kernel.
- Included in rs info the exported variables for the fused kernel.
- Keep all metadata in merged module from the input modules. This
would help correctly handling FP precision. (b/19098612)
- Handles Z (b/19610223)

Change-Id: I5553f86b2e58325f85649078d48685a38f12d62f
enderscript/Android.mk
enderscript/RSCompilerDriver.cpp
enderscript/RSMetadata.cpp
enderscript/RSScriptGroupFusion.cpp
3b43c366c17620e35c6a4395a13b41ca3e977596 10-Mar-2015 David Gross <dgross@google.com> Merge "Backend support for new special kernel params ctxt and z."
33cda5cf335afc6aa2dbe02062bc9e6649e1f87c 30-Jan-2015 David Gross <dgross@google.com> Backend support for new special kernel params ctxt and z.

Also:
- Modify bcinfo dump to show signature metadata in hex instead of dec.
- Teach LLVM pass manager about (existing) "foreachexp" pass.
- Create MetadataSignatureBitval symbolic names for use by libbcc and slang.

Bug: 18964628

Change-Id: I1737ee0476b2005ec87f30473bbfa35aed5ded38
enderscript/RSForEachExpand.cpp
enderscript/RSScriptGroupFusion.cpp
b9cf06e4bc592ce8bffd1376f97e358e6a671f6a 04-Mar-2015 Pirama Arumuga Nainar <pirama@google.com> Merge "Add a -build-checksum flag to bcc"
51ee77bd31e7d8ca6c89e37b5806c8fc2afcf0dc 20-Feb-2015 Pirama Arumuga Nainar <pirama@google.com> Add a -build-checksum flag to bcc

bug 19216507

Add a flag to bcc to pass a build checksum. The checksum is passed to
RSEmbedInfo pass via LLVM metadata.

The old checksum path is tied to RSInfo. Removing this path can be done
along with RSInfo removal.

Change-Id: I3f21c96ddcfe42c16754fbb7749a72595f90964d
ore/Source.cpp
enderscript/RSCompilerDriver.cpp
enderscript/RSEmbedInfo.cpp
f27f126fd25b9be38753f911e732e668384d969c 23-Feb-2015 Narayan Kamath <narayan@google.com> Track removal of refcounts from FileMap.

Use delete instead of release.

Change-Id: Id8c514a6f0196fdb19fe2bcececcc26519a18c9d
enderscript/RSInfoReader.cpp
upport/FileBase.cpp
e7ba6d07e58252590a00ce929941a1699de59e59 18-Feb-2015 Pirama Arumuga Nainar <pirama@google.com> Add exp2f, sqrtf, fabsf to whitelist

bug 19425238

LLVM constant folding introduces call to unmangled math functions. For
example, pow(2, x) becomes exp2(x). These functions must be added to
our whitelist.

Change-Id: I5dcadafbc821faf3e98d4a7d2106c082c8c09f63
enderscript/RSStubsWhiteList.cpp
7f59b5f76c7149b42ff6d4910c6f6165b3358e72 12-Feb-2015 Tim Murray <timmurray@google.com> Disable autovectorization for now because of a scalarizer bug.

bug 19324423

Change-Id: I7e15d66ff5cad7c53dc23384a2afb47caef5719e
ore/Compiler.cpp
9fe081b8bae8a95d903f8fa8dc0a7590ae706606 27-Jan-2015 Pirama Arumuga Nainar <pirama@google.com> Mark whether a script is threadable

bug 19095896

Add a pass to check for calls to non-threadable functions. We add a
metadata flag to store the result. RSEmbedInfo also adds this
information to .rs.info.

Change-Id: Iba9a41b338d21a3529a1092656a51be985910fca
ore/Compiler.cpp
enderscript/Android.mk
enderscript/RSEmbedInfo.cpp
enderscript/RSIsThreadablePass.cpp
0b104d630427c15f4001a4e6e1a333734c3c2126 26-Jan-2015 Pirama Arumuga Nainar <pirama@google.com> Merge "Embed pragmas into object files"
a99ef646b808e99cf870a8663170a1162851a42f 23-Jan-2015 Pirama Arumuga Nainar <pirama@google.com> Embed pragmas into object files

bug 18322681

RSEmbedInfo pass didn't embed pragmas since it was only used in the
compatibility path where (most) pragmas don't apply. We need to embed
pragmas into .rs.info for the shared library path.

Change-Id: I834c5f492ac5cef13ecc016cf8e5a1c7e5bce753
enderscript/RSEmbedInfo.cpp
77c1d553e5799aef5add08667e71b62b6842ed2e 23-Jan-2015 Tim Murray <timmurray@google.com> Fix -emit-llvm with shared object compilation.

Change-Id: I696f3777a0981a875772d7340970a6cb49581cd7
enderscript/RSCompilerDriver.cpp
a4ded1373d7ad3e503f186e65bccf94126a0f020 18-Nov-2014 Yang Ni <yangni@google.com> Compiler kernel fusion for RenderScript.

This was started by Tobias Grosser during his internship at Google in 2013.
This CL includes his original changes and generalization to make it work with
the new proposed ScriptGroup API and made the ImageProcessing processing work
with this.
An enabling CL is needed in the RenderScript runtime, which I will post
seperately.

Change-Id: Ia73ea917a126a5055ec97f13d90a5feaafd6a2f5
ore/Source.cpp
enderscript/Android.mk
enderscript/RSCompilerDriver.cpp
enderscript/RSMetadata.cpp
enderscript/RSScriptGroupFusion.cpp
107f50d54d9606e495187d0e89225d3d9fdc1fa9 20-Jan-2015 Stephen Hines <srhines@google.com> Remove linkloader from frameworks/compile/libbcc.

Bug: 18322681

Now that we have switched completely to the new shared library object
loading path, we can safely remove the legacy linkloader path.

In frameworks/compile/libbcc, this removes all of libbccExecutionEngine,
since the loader is now self-contained in libRScpu_ref (similar to the
support library's shared object loader). We also remove support for
all symbol resolvers and the gdb JIT interface (which was already
unmaintained).

Change-Id: Ie5cc152d93f5e75383f7c21a4523579cfae8823f
ore/Compiler.cpp
xecutionEngine/Android.mk
xecutionEngine/ELFObjectLoaderImpl.cpp
xecutionEngine/ELFObjectLoaderImpl.h
xecutionEngine/GDBJIT.cpp
xecutionEngine/GDBJITRegistrar.cpp
xecutionEngine/ObjectLoader.cpp
xecutionEngine/ObjectLoaderImpl.h
xecutionEngine/SymbolResolverProxy.cpp
xecutionEngine/SymbolResolvers.cpp
enderscript/Android.mk
enderscript/RSCompilerDriver.cpp
enderscript/RSExecutable.cpp
c754d49ee856be620e041348a9f2b3d5610a5a26 09-Jan-2015 Stephen Hines <srhines@google.com> Add proper getAnalysisUsage() implementations to each Pass.

Change-Id: I2db9201dbfe5e8d705a873212f1f69f1fb7b5c20
enderscript/RSEmbedInfo.cpp
enderscript/RSForEachExpand.cpp
enderscript/RSInvokeHelperPass.cpp
enderscript/RSScreenFunctionsPass.cpp
c46a3f5370364ad5698756d5da5b8845be9970d0 08-Jan-2015 Tim Murray <timmurray@google.com> Fix bcc initialization and shutdown issues.

Actually call the correct LLVM init functions.

Change-Id: I883ebe70ae0bb4a535a9bc0536a517dab0cb3ebb
upport/Initialization.cpp
50f5eb4b27ce6dd2a02cf389ac2acfa95c6939f1 10-Dec-2014 Tim Murray <timmurray@google.com> Enable autovectorization.

Change-Id: Ic35548c3875e5a078e46b594aae7accee79e47b6
ore/Compiler.cpp
enderscript/RSForEachExpand.cpp
5db508c73e6177eb306bac4725616b7c001587c4 06-Jan-2015 Stephen Hines <srhines@google.com> Fix a few bugs in RSScreenFunctionsPass.

Bug: 18322681

This patch fixes a few small issues:
1) The debug context runtime stubs had a few minor name mangling errors.
2) The verification of functions needs to be done after we have stripped
away any unused code. Without this, there are issues with debug contexts,
because they have unused references to rsOffset()/rsOffsetNs().
3) We don't actually need to maintain a separate status return for the pass,
since llvm::report_fatal_error() will do the right thing in the case of
an illegal function being called.

Change-Id: I0afe7cf58148cd132f9356268d5ad8acdce1a02d
ore/Compiler.cpp
enderscript/RSScreenFunctionsPass.cpp
enderscript/RSStubsWhiteList.cpp
upport/Initialization.cpp
1e0557ae75ae780352845bd2ba0f4babdc5ae4e6 03-Dec-2014 Pirama Arumuga Nainar <pirama@google.com> BCC updates to handle linkloader removal

Bug: 18322681

- Add -fPIC and -embedRSInfo flags to bcc. fPIC generates relocatable
object code and -embedRSInfo embeds RS symbol information into the
.rs.info variable in the object file.

- PIC_ relocation in x86_64 also entails that the CodeModel must be
small. Otherwise, we end up with TEXTRELs in the shared library.

- Add an LLVM pass to screen functions visibile in RS.
lib/RenderScript/generate-whitelist.sh is used to automatically
generate the stubbed functions to the whitelist.

Change-Id: Ib0a16b7e7aff89490ac631885ffa97dd31c184ce
ore/Compiler.cpp
enderscript/Android.mk
enderscript/RSScreenFunctionsPass.cpp
enderscript/RSStubsWhiteList.cpp
enderscript/RSStubsWhiteList.h
enderscript/generate-whitelist.sh
579361346abc6696c805e3904a18178ebce4e4a3 26-Nov-2014 Stephen Hines <srhines@google.com> Update libbcc for LLVM rebase to r222494.

Change-Id: Idebd60a98bbe62007086386e5497d1df7d901e3d
ore/Compiler.cpp
ore/Script.cpp
ore/Source.cpp
enderscript/RSInvokeHelperPass.cpp
enderscript/RSScript.cpp
bb73b74a9f6ad26c2ab30557bfe6916a44ed75f6 04-Nov-2014 Tim Murray <timmurray@google.com> Modify RSForEachExpand to move casting of pointer types outside the inner loop.

This makes autovectorization work in some limited cases.

bug 18071147

Change-Id: If9f08760310b90f62e88dfce257575205b3cb5b2
ore/Compiler.cpp
enderscript/RSForEachExpand.cpp
b7bce7436876884dfd78ec41d147ddbe47e37cbd 04-Nov-2014 Tim Murray <timmurray@google.com> generate calls to rsSetObject inside .helper invoke functions

bug 18071147

Change-Id: I0ff00b3a86cd799cdb1eebcd1000b74070ee0cdf
ore/Compiler.cpp
enderscript/Android.mk
enderscript/RSInvokeHelperPass.cpp
b4447cd2b14f53efd9102d28da48000be7b2d4fd 20-Aug-2014 Chris Wailes <chriswailes@google.com> De-cruft the libbcc compiler infrastructure.

This patch removes the RSCompiler subclass of Compiler and moves most of its
functionality over to the original Compiler class. Methods and variables are
re-named to make the code clearer. In addition, unused functions have been
removed.

Change-Id: I121463df6309c377496cebea8cbb82bb49624ed1
ore/Compiler.cpp
enderscript/Android.mk
enderscript/RSCompiler.cpp
4d93866172cdeeda20c78faade9b934f75f2033e 14-Nov-2014 Stephen Hines <srhines@google.com> Merge "[MIPS] Set default MIPS64 ISA revision to R6"
429d94acbc64480d4f75233b66b4824cdc8b19c0 30-Oct-2014 Tim Murray <timmurray@google.com> Disable step opt for 12-byte structs on 64-bit.

bug 17663411

Change-Id: I21c67f95704e8aeb63f72bd371b1b5a5cc6e569d
(cherry picked from commit 4839c9acf4e935dab0b3de3fac0e315d00c3a369)
enderscript/RSForEachExpand.cpp
d426b8ad4fb4a37accf3625072a8bda55df9c0fa 08-Nov-2014 Stephen Hines <srhines@google.com> Merge "Fix format-string-related warnings for size of various types."
4cb4c555b4d339644fe9d13cdc45093721d0896e 07-Nov-2014 Stephen Hines <srhines@google.com> Fix format-string-related warnings for size of various types.
xecutionEngine/ELFObjectLoaderImpl.cpp
b70f27af63b60e36b922dad19056103003bb3506 06-Nov-2014 Stephen Hines <srhines@google.com> am 4c94acac: Merge "Revert "Fix format-string-related warnings for size of various types.""

* commit '4c94acac3192ebaf86d1d3f6b650bb2c29255010':
Revert "Fix format-string-related warnings for size of various types."
741d9e1a0bc4bc1d8d4a5c25429c206428b134e8 06-Nov-2014 Stephen Hines <srhines@google.com> am 8b63df9e: Merge "Fix format-string-related warnings for size of various types."

* commit '8b63df9eed7c5a2bc8b05bb4d604739dde34a888':
Fix format-string-related warnings for size of various types.
288ad8e7a4e1ef9be741290af39eaeabec1ff21c 06-Nov-2014 Stephen Hines <srhines@google.com> Revert "Fix format-string-related warnings for size of various types."

This reverts commit 4418cf185eac9e82ba912e3f5ee3b80d518bf3da.

Change-Id: Iff80917cddc3a240d9fffa5d23cb2d67c1413da3
xecutionEngine/ELFObjectLoaderImpl.cpp
4418cf185eac9e82ba912e3f5ee3b80d518bf3da 05-Nov-2014 Stephen Hines <srhines@google.com> Fix format-string-related warnings for size of various types.

Change-Id: Iac94c2925919c729810d842f4251fbe90304fb84
xecutionEngine/ELFObjectLoaderImpl.cpp
4171e69c678ee2590f1b8670d5be85e24ab1f635 17-Oct-2014 Petar Jovanovic <petar.jovanovic@imgtec.com> [MIPS] Set default MIPS64 ISA revision to R6

MIPS64 Android defaults to MIPS64R6, so set the CPU for it.

Change-Id: I0d286382de7ddd26a976d02bcd1a0dc0cc6fd0a7
upport/CompilerConfig.cpp
14ed738d702861137663653cf0301fd680e8ae15 11-Sep-2014 Stephen Hines <srhines@google.com> Merge "Ensure that we only compile the proper bitwidth bitcode for an architecture."
2e946870e2238553be39853c6e795ebb2020f641 11-Sep-2014 Dan Albert <danalbert@google.com> am 5c7849c8: Merge "Fix some broken debug statements and asserts."

* commit '5c7849c834cd11cbbe13ef27761590aadc708ba4':
Fix some broken debug statements and asserts.
81c6c7e980616fb2dd3da36acab11c3ada840a46 10-Sep-2014 Stephen Hines <srhines@google.com> am 10ee6af6: Ensure that we only compile the proper bitwidth bitcode for an architecture.

* commit '10ee6af612d585301c6f2b2f0f04e9bc80b338bb':
Ensure that we only compile the proper bitwidth bitcode for an architecture.
ab2e6c314a666ad53fc3dcd9cade5756b64d00a2 10-Sep-2014 Stephen Hines <srhines@google.com> Ensure that we only compile the proper bitwidth bitcode for an architecture.

Bug: 16031597

Prior to this change, it was possible to compile 32-bit bitcode for a 64-bit
architecture and/or 64-bit bitcode for a 32-bit architecture. This change
enforces that the target architecture's pointer width matches the pointer
width of the individual RS triples that we work with.

Change-Id: Ida65582875fb061911fc6a92cd99454f1ab6c5e6
(cherry picked from commit 10ee6af612d585301c6f2b2f0f04e9bc80b338bb)
ore/Compiler.cpp
10ee6af612d585301c6f2b2f0f04e9bc80b338bb 10-Sep-2014 Stephen Hines <srhines@google.com> Ensure that we only compile the proper bitwidth bitcode for an architecture.

Bug: 16031597

Prior to this change, it was possible to compile 32-bit bitcode for a 64-bit
architecture and/or 64-bit bitcode for a 32-bit architecture. This change
enforces that the target architecture's pointer width matches the pointer
width of the individual RS triples that we work with.

Change-Id: Ida65582875fb061911fc6a92cd99454f1ab6c5e6
ore/Compiler.cpp
f1568f8f926cf8b194bf4c3197b28429b9905550 20-Jul-2014 Dan Albert <danalbert@google.com> Fix some broken debug statements and asserts.

Change-Id: I1d88009cf8a3283f055bea93107ba84f1214d6d4
enderscript/RSInfo.cpp
enderscript/RSInfoExtractor.cpp
8cb6cc6baed0e2739b1dc23a62626484594b3069 22-Aug-2014 Stephen Hines <srhines@google.com> am ea6b1c5a: Merge "Replace NULL macros with nullptr literals."

* commit 'ea6b1c5af978698f266f352c8a6f00ec3677e7e5':
Replace NULL macros with nullptr literals.
ffb7afb76188e0ef366a9712aa95c7c9823e5391 21-Aug-2014 Stephen Hines <srhines@google.com> am def585e3: Merge "Replace android::String8 with std::string in libbcc"

* commit 'def585e3621d073fe2f2b747cd1f0556d62c6656':
Replace android::String8 with std::string in libbcc
900c6c1f08f7c572125d7d39abe0f0f9eafbfa14 14-Aug-2014 Chris Wailes <chriswailes@google.com> Replace NULL macros with nullptr literals.

Change-Id: Id2311cda59dd42c74b3ed54d3ff6cfd509012738
ore/BCCContext.cpp
ore/Compiler.cpp
ore/Source.cpp
xecutionEngine/ELFObjectLoaderImpl.cpp
xecutionEngine/ELFObjectLoaderImpl.h
xecutionEngine/GDBJITRegistrar.cpp
xecutionEngine/ObjectLoader.cpp
xecutionEngine/SymbolResolverProxy.cpp
xecutionEngine/SymbolResolvers.cpp
enderscript/RSCompiler.cpp
enderscript/RSCompilerDriver.cpp
enderscript/RSEmbedInfo.cpp
enderscript/RSExecutable.cpp
enderscript/RSForEachExpand.cpp
enderscript/RSInfo.cpp
enderscript/RSInfoExtractor.cpp
enderscript/RSInfoReader.cpp
enderscript/RSScript.cpp
upport/CompilerConfig.cpp
upport/Disassembler.cpp
upport/FileBase.cpp
upport/Initialization.cpp
upport/InputFile.cpp
upport/OutputFile.cpp
23431e84c891fb87b64100b0f1587c7fca313e53 21-Aug-2014 Stephen Hines <srhines@google.com> am 963a73ca: Merge "Replaced android::Vector with std::vector."

* commit '963a73ca7b5df2cb67bf025274ea0fb972f0446a':
Replaced android::Vector with std::vector.
35978e7a7e87b7147789ff3ca9c3a6bf7dd165b0 11-Aug-2014 Chris Wailes <chriswailes@google.com> Replace android::String8 with std::string in libbcc

Change-Id: Ic384d60f3e2af0ba02990c904212f77cb1493e90
enderscript/RSCompilerDriver.cpp
enderscript/RSExecutable.cpp
enderscript/RSInfo.cpp
e3fef7a10ab2c71740bf3bb6900401184e736d69 19-Aug-2014 Stephen Hines <srhines@google.com> am 9330a6ab: Merge "Remove the instep parameter from expanded kernels."

* commit '9330a6ab1affdd7bccdd341c4aa4737cdedaa09e':
Remove the instep parameter from expanded kernels.
5e7d876f8bae477a97606afee93066849a798844 26-Jul-2014 Chris Wailes <chriswailes@google.com> Replaced android::Vector with std::vector.

Change-Id: I9bcf36d088d423246312d97e2a87a05e90f6617d
xecutionEngine/ELFObjectLoaderImpl.cpp
xecutionEngine/ELFObjectLoaderImpl.h
xecutionEngine/ObjectLoader.cpp
xecutionEngine/ObjectLoaderImpl.h
xecutionEngine/SymbolResolverProxy.cpp
enderscript/RSExecutable.cpp
enderscript/RSInfoExtractor.cpp
enderscript/RSInfoReader.cpp
5010f641d1df6bc3447646ca7ef837410fb9b3dc 26-Jul-2014 Chris Wailes <chriswailes@google.com> Remove the instep parameter from expanded kernels.

Change-Id: I059db548a57702c576963f6b17a002b2ee393cdb
enderscript/RSForEachExpand.cpp
d41d21731fd5a277076df2de588e9fe36c2a2c04 18-Aug-2014 Stephen Hines <srhines@google.com> am 5d312ea1: Merge "Collapse the code paths for single- and multi-input kernels."

* commit '5d312ea145a587b6ab25b11475a677b40a489568':
Collapse the code paths for single- and multi-input kernels.
e10b8641813c701159c6615faaa58dd1a9b31ce5 15-Jul-2014 Chris Wailes <chriswailes@google.com> Collapse the code paths for single- and multi-input kernels.

This patch removes the distinction between single- and multi-input kernels in
libbcc. The same code is now gerenated regardless of the number of inputs for
both old- and new-style kernels.

Change-Id: Id70a223ea5e3aa2b0b935b2b7f9af933339ae8a4
enderscript/RSForEachExpand.cpp
4cea01fa3b2185c3b398fbea9df576e42f500aec 13-Aug-2014 Tim Murray <timmurray@google.com> resolved conflicts for merge of 2f2f7737 to lmp-dev-plus-aosp

Change-Id: Idb5df78dabb0bc93505bb9a2f7cf5d7d0c1504d7
326d02a9f3cfe30caa21e5c2aecbd4c85112b363 01-Aug-2014 Chris Wailes <chriswailes@google.com> Fixes AArch64 struct calling convention issue.

Cherry-pick of c43e1ba9cf40277dd496fe503e777906d2755251

Change-Id: I9a760c1238ff8b30e0a29a2cd11a030b17b283e2
enderscript/RSForEachExpand.cpp
d94735a5d8afcc1d8d44282cd1489efdf2dc9d88 13-Aug-2014 Stephen Hines <srhines@google.com> am 0fff908e: Merge "Enable MIPS64 triples"

* commit '0fff908e90f8a063ed513aa0224366ae1b425cf9':
Enable MIPS64 triples
27f734fc0298fb896651588e6ca0a9124e91a914 13-Aug-2014 Stephen Hines <srhines@google.com> Merge "Revert "Collapse the code paths for single- and multi-input kernels.""
efcede6546a85d4b93088c99f330c8871ddd39a3 13-Aug-2014 Stephen Hines <srhines@google.com> Revert "Collapse the code paths for single- and multi-input kernels."

This reverts commit 4ca0fbf10c1b36f821dafd3dcf0c91d6329582dc.

Change-Id: Ib21cc25657ee738dc39ddda52d5ead9524cb4da9
enderscript/RSForEachExpand.cpp
e47cc8ff93fd5ccf90f5b2acf39d8639fc9adb53 13-Aug-2014 Stephen Hines <srhines@google.com> Merge "Collapse the code paths for single- and multi-input kernels."
0fff908e90f8a063ed513aa0224366ae1b425cf9 13-Aug-2014 Stephen Hines <srhines@google.com> Merge "Enable MIPS64 triples"
4ca0fbf10c1b36f821dafd3dcf0c91d6329582dc 15-Jul-2014 Chris Wailes <chriswailes@google.com> Collapse the code paths for single- and multi-input kernels.

This patch removes the distinction between single- and multi-input kernels in
libbcc. The same code is now gerenated regardless of the number of inputs for
both old- and new-style kernels.

Change-Id: I77e4b155cc7ca1581b05bf901c70ae53a9ff0b12
enderscript/RSForEachExpand.cpp
ec190b93405b36298a739cda70624b70c570447e 04-Aug-2014 Chris Wailes <chriswailes@google.com> am c43e1ba9: Fixes AArch64 struct calling convention issue.

* commit 'c43e1ba9cf40277dd496fe503e777906d2755251':
Fixes AArch64 struct calling convention issue.
c43e1ba9cf40277dd496fe503e777906d2755251 01-Aug-2014 Chris Wailes <chriswailes@google.com> Fixes AArch64 struct calling convention issue.

Change-Id: I9a760c1238ff8b30e0a29a2cd11a030b17b283e2
enderscript/RSForEachExpand.cpp
590257e4a7a42b5ad8962a813a36833f038aac97 25-Jul-2014 Stephen Hines <srhines@google.com> am 3fc91521: Merge "Re-do the layout of the RsForEachKernelStruct."

* commit '3fc91521640692f844aece8b1743c4df702d1c66':
Re-do the layout of the RsForEachKernelStruct.
f21590eae009b4f596d7e448d0b8e142c46fc382 16-Jul-2014 Stephen Hines <srhines@google.com> Update libbcc for LLVM rebase to r212749.

Change-Id: I40304090ada740c2451d32e01c7deed4f4c8c409
ore/Compiler.cpp
ore/Source.cpp
upport/FileBase.cpp
upport/OutputFile.cpp
3fc91521640692f844aece8b1743c4df702d1c66 25-Jul-2014 Stephen Hines <srhines@google.com> Merge "Re-do the layout of the RsForEachKernelStruct."
5a9ed45b8b7de93e55f9fd5fa5d059610d271fb6 24-Jul-2014 Stephen Hines <srhines@google.com> am 4566d155: Merge "Update libbcc for LLVM rebase to r212749."

* commit '4566d155a7e7ae122986c8e11f40dd1c43fea312':
Update libbcc for LLVM rebase to r212749.
4566d155a7e7ae122986c8e11f40dd1c43fea312 24-Jul-2014 Stephen Hines <srhines@google.com> Merge "Update libbcc for LLVM rebase to r212749."
539e29852f2c47f037cf2702e6aab913c8fc51d3 17-Jul-2014 Jean-Luc Brouillet <jeanluc@google.com> am 0dd6efbc: Merge "Deprecate rs_fp_imprecise."

* commit '0dd6efbce461336f96ccec7ac0e5040199709a44':
Deprecate rs_fp_imprecise.
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.cpp
d0993af5b1337f8186dd9aedea2e138a919e02e9 16-Jul-2014 Stephen Hines <srhines@google.com> Update libbcc for LLVM rebase to r212749.

Change-Id: I40304090ada740c2451d32e01c7deed4f4c8c409
ore/Compiler.cpp
ore/Source.cpp
upport/FileBase.cpp
upport/OutputFile.cpp
8d254fd40df498a21ca540cb355ee8c6a9250ac0 15-Jul-2014 Tim Murray <timmurray@google.com> Add override to force the CPU variant.

Change-Id: I5bed6d1c064c0e48b370acd3e9d3c2a5e39ffea4
upport/CompilerConfig.cpp
097ca14d8b6908d0e5b7f8f38011cad4fb94bc26 09-Jul-2014 Chris Wailes <chriswailes@google.com> Re-do the layout of the RsForEachKernelStruct.

This patch changes libbcc to reflect the new layout of RsForEachKernelStruct
as defined in frameworks/rs/cpu_ref/rsCpuCore.h. It also introduces some
macros to eliminate the use of magic numbers.

Change-Id: I7788ef754add44463b17a6b571c7cde6e73b9712
enderscript/RSForEachExpand.cpp
55e11789bded7217aea270d5c60c0cf32b2a70c2 10-Jul-2014 Petar Jovanovic <petar.jovanovic@imgtec.com> Enable MIPS64 triples

Enable mips64 triples if PROVIDE_MIPS64_CODEGEN is defined, and apart
from acknowledging it, do nothing for the time being.

Change-Id: I46128e5698888bf327a32c08107cf23868b6c0b3
upport/CompilerConfig.cpp
5f2e6b9bc70956fc30a9a6d1679f587e4a729884 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.cpp
6fe275e6c4a093e1cac3bf48814db642839a58fd 08-Jul-2014 Stephen Hines <srhines@google.com> Merge "Adds support for multi-input kernels to libbcc."
881cda4f5b793a1e7f7d33cf4a31efc3fdbba4fd 23-Jun-2014 Chris Wailes <chriswailes@google.com> Adds support for multi-input kernels to libbcc.

This patch modifies libbcc in the following ways:
* Adjusted the data-layout of the LLVM version of RsForEachStubParamStruct to
accommodate a pointer to an array of input allocations and a pointer to an
array of stride sizes for each of these allocations.
* Changed how some LLVM values are stored in ExpandKernel.
* Causes expanded multi-input kernels to extract input allocation base pointers
from a field in the param strcut and load values from these allocations
appropriately.
* Causes expanded multi-input kernels to use the provided dynamic input stride
sizes if no appropriate static type information is present.
* Modified bitinfo to support a new development API target which is used to
version gate support for multi-input kernels.

Change-Id: I46d2834c37075b2a2407fd8b010546818a4540d1
enderscript/RSForEachExpand.cpp
2df3448de56c84bb9d6dddb81aa916702c5cfc97 01-Jul-2014 Jean-Luc Brouillet <jeanluc@google.com> Merge "Fix 64 bit issue in sha1.c"
73775bb7859ad9a326de3508a579c553c4dec6ce 01-Jul-2014 Jean-Luc Brouillet <jeanluc@google.com> Fix 64 bit issue in sha1.c

Use uint32_t instead of unsigned long. Changed unsigned char to uint8_t for consistency.

Note that the length is still a 32 bit value. At some point, we could change it to a 64 bit value.

Change-Id: Ia3126ee46741d7ec5f6a249fd60b9951a416e929
upport/sha1.c
upport/sha1.h
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.cpp
enderscript/RSInfo.cpp
enderscript/RSInfoExtractor.cpp
enderscript/RSInfoReader.cpp
c5e607adff80a66bc5420baffd299862abdf368d 19-Jun-2014 Jean-Luc Brouillet <jeanluc@google.com> Change cache dependency tracking.

Remove the fix dependencies and make it depend only on the source
hash. More changes coming soon to add dependencies on the Android
build fingerprint and the command line used to compile.

Change-Id: I8964044affccf52326ce286f879307eca79d0b24
enderscript/RSCompilerDriver.cpp
enderscript/RSInfo.cpp
enderscript/RSInfoExtractor.cpp
enderscript/RSInfoReader.cpp
enderscript/RSInfoWriter.cpp
enderscript/RSScript.cpp
ca5135eb0f6aa12c28433f66249e218479e5d6dc 19-Jun-2014 Tim Murray <timmurray@google.com> Merge "Fix build break caused by missing ifdefs."
37dc23b9917dcb997ee144936b2b27d3881942eb 19-Jun-2014 Tim Murray <timmurray@google.com> Fix build break caused by missing ifdefs.

Change-Id: I29e8e1c58b9702873a2a4b932794720ee279492e
enderscript/RSInfoExtractor.cpp
enderscript/RSScript.cpp
fd3f8c64f5ff70660f9760dbc61064849905f1de 18-Jun-2014 Tim Murray <timmurray@google.com> Merge "Don't require libclcore_neon.bc on AArch64."
c1c2e6ff7d8e5ff0f28d9082e68a8ea8ea981475 17-Jun-2014 Dan Albert <danalbert@google.com> Merge "Don't use bionic's sha1 functionality."
18f5eb94759bb0ded32472ff7499815119bb9701 17-Jun-2014 Dan Albert <danalbert@google.com> Don't use bionic's sha1 functionality.

Bionic is getting rid of its SHA1 in favor of openssl's.

Change-Id: Ia64e1f6bb9633fccdb5bb61c0d6e4af599b8c938
upport/Android.mk
bdbff6e600b0d834e4770f65c7d2df93d7ef305c 13-Jun-2014 Chris Wailes <chriswailes@google.com> Simple cleanups in RSForEachExpand.cpp

Re-named single character variable names.
Re-named some variables for clarity.
Factored out type construction code to only occur once every time the pass is
run on a module.
Removed unnecessary temporary vectors.
Removed a check for an invariant guaranteed by another function.
Added some assertions.

Change-Id: I0debcc301ed28f4ecaf7dadcaada604e3eff9830
enderscript/RSForEachExpand.cpp
a5b1343e0db3eaf41ced3d9978cd72b8cf4cda1f 14-Jun-2014 Tim Murray <timmurray@google.com> Don't require libclcore_neon.bc on AArch64.

Change-Id: Ieb4eea41f74917c201a07aa8b246816430fcac5c
enderscript/RSInfo.cpp
d66c04c23fc97bd09a53a2d432d0f6f8bb936484 03-Jun-2014 Tim Murray <timmurray@google.com> Merge "Update libbcc for ARM64."
a630078b32eb37a8de91ae09e26babf235d4fc9f 29-May-2014 Stephen Hines <srhines@google.com> Update libbcc for LLVM 3.5 rebase (r209713).

Change-Id: I0e882c84176d462958db05e4c9c10bfe995b8ed1
ore/Compiler.cpp
ore/Source.cpp
a16a9161fd71ea0316bbb741df2da6f433d68b20 30-May-2014 Stephen Hines <srhines@google.com> Only force MIPS to static relocation if they were using the default.

Change-Id: Iddb83158f8862087cccea97e3ebcec980b8f044a
upport/CompilerConfig.cpp
4f7fdd47da5135a508bdfca445347fae5e8898ba 28-May-2014 Tim Murray <timmurray@google.com> Update libbcc for ARM64.

Properly sets NEON/VFP on ARM64. Begins to remove cache from libbcc.

Change-Id: I66f50fa20d606c38d5e7af0a6fa8c6e73b2aff32
enderscript/RSInfoReader.cpp
373f5e7baf1567fa32f6a3033788641ab445a28c 28-May-2014 Tim Murray <timmurray@google.com> Fix foreach func vector resize issue.

Change-Id: Ie446319900558bbf5ecb30ee1b874c260197080b
enderscript/RSCompiler.cpp
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.cpp
060bd2d6771e781ddbf5424c50af149fd0d80432 20-May-2014 Stephen Hines <srhines@google.com> Fix missing include of Config.h.

Without this include, we actually fail to configure a non-default
target backend. This results in the ARM target never selecting
NEON code (even when it is possible to use it).

Change-Id: I8891461709ac6a8d174afc5c1def5648b83e6226
upport/CompilerConfig.cpp
350d9a6c1b5bdb701b707f989db6dae57c64cece 19-May-2014 Stephen Hines <srhines@google.com> Remove unused define from makefile.

Change-Id: Ie8a17e90f058c85c19dc2bc5c5dff2b256de8c02
xecutionEngine/Android.mk
bde1a2599780d6eaebbc284976ceb690492f6abd 16-May-2014 Stephen Hines <srhines@google.com> Remove unnecessary inheritance for CompilerConfig, as we switch to offline bcc.

Change-Id: Id4a5be7b2b4627bfa7ef6279eb3b5b8e75915a7d
enderscript/RSCompilerDriver.cpp
upport/Android.mk
upport/CompilerConfig.cpp
upport/TargetCompilerConfigs.cpp
1ae3fd6e2290fe1635bafe91a65e0e88e641b6fc 15-May-2014 Stephen Hines <srhines@google.com> Fix some minor issues picked up by valgrind.

Standalone bcc was leaking memory due to misuse of OwningPtr.
RSInfo was not clearing a buffer before using only part of it. The
whole buffer was being written out in the resulting file, however.

Change-Id: Icd455748f81a06d022f1e5ed83a2ab1cae3fef09
enderscript/RSInfo.cpp
25eb586bb055ae07c7e82a2b1bdbd6936641580c 09-May-2014 Stephen Hines <srhines@google.com> Switch RSForEachExpandPass to use MetadataExtractor.

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

Change-Id: Iabef9abb1c770ffe1e753cfd2fac808f60c19d8a
enderscript/RSCompiler.cpp
enderscript/RSEmbedInfo.cpp
2d201e547f1d32140ff8ead1818c169f441cf5fb 09-May-2014 Stephen Hines <srhines@google.com> Refactor RSEmbedInfo pass.

This change separates out the creation of the InfoString from the actual
embedding within the object file. This is important because we want to reuse
the InfoString for caching metadata.

Change-Id: I2524d39dc25c48fc968108e82c6aa01c1920ff1d
enderscript/RSEmbedInfo.cpp
1c4d30c707afbc2068b966d2ae6caefbb101f8ff 10-May-2014 Stephen Hines <srhines@google.com> ARCH_ARM_HAVE_NEON should be consistent for aarch64 targets.

Change-Id: I54979e9215f2a2cbc98641a841a24e32beb417b4
enderscript/RSInfo.cpp
c37e97ebd687460a3b263a59cbb26bc539ad856e 07-May-2014 Stephen Hines <srhines@google.com> Use ARCH_ARM_HAVE_NEON define instead of cpuinfo to detect NEON support.

Bug: 14595818

Without this, an ARM64 device may be picked up incorrectly as not having NEON
available when running in 32-bit mode.

Change-Id: Icddad4d5388022012b392020e15605ec5d601d5f
upport/TargetCompilerConfigs.cpp
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
ore/Android.mk
xecutionEngine/Android.mk
enderscript/Android.mk
upport/Android.mk
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.cpp
c2074caf075818abb6d3689ad924ca09f4a5ba1f 09-Apr-2014 Tim Murray <timmurray@google.com> Update libbcc for 64-bit support.

Change-Id: I369a82eb6730a33c46b6700408952fe34020ca51
ore/Compiler.cpp
ore/Source.cpp
xecutionEngine/ELFObjectLoaderImpl.cpp
enderscript/Android.mk
enderscript/RSInfo.cpp
upport/Android.mk
upport/Initialization.cpp
e524a6fede773ad8ea7d4a3ca11976585002387a 04-Apr-2014 WeiTang <wei.a.tang@intel.com> Enable 64bit elf object handling.

Change-Id: Ib952abf882fd9bd0d5cadaa3b204a100bd71aa1e
xecutionEngine/ELFObjectLoaderImpl.cpp
xecutionEngine/ELFObjectLoaderImpl.h
70a7671e4e107ad52aba0629f9b29ff01941c496 17-Apr-2014 Tim Murray <timmurray@google.com> Merge "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.cpp
enderscript/RSScript.cpp
c6e6ee4392390c0888f808220adf33334e1f64a4 07-Apr-2014 Tim Murray <timmurray@google.com> Add DISABLE_LLVM_DEVICE_BUILDS to libbcc.

Change-Id: Iaad7b2ea8eea6c89c1c1a3d0e145bbb7bf60c6b9
ore/Android.mk
xecutionEngine/Android.mk
enderscript/Android.mk
upport/Android.mk
8f7345d68d2595ddf3d7c2aae01a29d0530afb92 22-Mar-2014 Colin Cross <ccross@android.com> libbcc: disable more modules for arm64

Disable building libbccSupport and libbccRenderscript for 64-bit

Change-Id: Ied29b4eb129f42b1d3ad0a6d71a683d28b3e14be
enderscript/Android.mk
upport/Android.mk
3cd3ec8f9d30d219cecd30ce8b221241a79a74d9 18-Mar-2014 Jean-Luc Brouillet <jeanluc@google.com> Fix incorrect memcmp in RSInfoReader.

modified: RSInfoReader.cpp

Change-Id: I669cfaeb0eb5354402410b3742f590cfc593d0ba
enderscript/RSInfoReader.cpp
14588cf0babf4596f1bcf4ea05ddd2ceb458a916 19-Feb-2014 Logan Chien <logan.chien@mediatek.com> Fix TBAA: Set path tag metadata to instruction.

This commit replace the old createTBAANode() with the
struct-path TBAA introduced after LLVM 3.3.

This should fix the possible regression after merging LLVM 3.4.

Change-Id: Ie21fe4616784bad467b0f20226fce48da3afb2bd
enderscript/RSForEachExpand.cpp
9c5263e00d89dfdd25d3a1706eb319e8529ec604 12-Feb-2014 Stephen Hines <srhines@google.com> Provide a flag to disable TBAA for RS (and disable TBAA temporarily).

Bug: 12977065

This is currently blocking the LLVM 3.4 rebase, since our TBAA pass is causing
NULL pointers to be dereferenced.

Change-Id: I51cd9d0efc331150970c3054a9cd26f55aa2eb0d
enderscript/RSForEachExpand.cpp
b316f58fd790ad302b72f569af3e89734ae09db7 15-Aug-2013 Tobias Grosser <grosser@google.com> Run verifier on RenderScript .bc modules

Verify the bitcode to abort gracefully on invalid .bc modules instead of
crashing randomly. This patch will not detect all problems with the bitcode
writing, but it is likely to catch attribute breakages such as Bug 9503142. It
also prevents us from crashing on the incorrect debug info found in Bug
1031440.

Change-Id: I2bf626b7aae173dc7238a499b2a0474301197cbe
ore/Source.cpp
045558bd401d0af58a0b57594d75d45ff3035dc9 18-Feb-2014 Stephen Hines <srhines@google.com> Fix disabling global merge option with standalone bcc.

mConfig will be set before entering setConfig so
EnableGlobalMerge needs to be refreshed every time.

Change-Id: Ia51e706e717636ea7a87f625256d21bb050da6db
enderscript/RSCompilerDriver.cpp
be07e239b10f91169f795cbe602552792d4d0415 30-Jan-2014 Ian Rogers <irogers@google.com> Fix a pointer cast for 64bit.

Change-Id: I502f46e41a1089bd6f1cd84ddee8e92c35e6ef61
xecutionEngine/ELFObjectLoaderImpl.cpp
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
77e2f0f3756897029811726095c0be16e2a4f397 15-Aug-2013 Jun Tian <jun.j.tian@intel.com> DO NOT MERGE: Refactor the libbcc runtime for x86 platform

This patch refactors the libbcc runtime code to support x86 platform.
It removed the redundant x86 code and added the missing functions in
libclcore_x86.bc.

It resolved the RenderScript failures on the x86 platform.

Bug: 9961583

Change-Id: Ieed97e90c7c7691185a88dc425a2dd8c68aeb806

Signed-off-by: Yong Chen <yong.a.chen@intel.com>
enderscript/runtime/Android.mk
enderscript/runtime/arch/dot_length.c
enderscript/runtime/arch/generic.c
enderscript/runtime/arch/sqrt.c
enderscript/runtime/arch/x86_clamp.ll
enderscript/runtime/arch/x86_dot_length.ll
enderscript/runtime/arch/x86_generic.c
enderscript/runtime/arch/x86_math.ll
enderscript/runtime/arch/x86_sse2.ll
enderscript/runtime/arch/x86_sse3.ll
enderscript/runtime/build_bc_lib.mk
enderscript/runtime/rs_cl.c
enderscript/runtime/rs_sample.c
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.cpp
enderscript/RSScript.cpp
enderscript/runtime/Android.mk
enderscript/runtime/arch/generic.c
enderscript/runtime/arch/x86_sse2.ll
enderscript/runtime/arch/x86_sse3.ll
enderscript/runtime/build_bc_lib.mk
enderscript/runtime/rs_cl.c
acf9c9eeb5a07535dbed5b272c7f22cc1b050a40 27-Sep-2013 Stephen Hines <srhines@google.com> resolved conflicts for merge of b9a4701b to klp-dev

Change-Id: I9f7924c489d36913e130fd5e7617e3a96e65f1a1
c9cdca6e9d7c0e4973c7c5f4fcbf1483b06c674d 26-Sep-2013 Stephen Hines <srhines@google.com> Fix windows line ending bug.

http://code.google.com/p/android/issues/detail?id=60327

Change-Id: I578bab2f41347ac2e43b7d4dc1f206c5f91aeae5
enderscript/RSCompilerDriver.cpp
bc9a422c75a3b69d018ec37b153edeeeb76a2d86 26-Nov-2012 Pavel Chupin <pavel.v.chupin@intel.com> DO NOT MERGE - x86_64/x32: Add targets

This change allows to continue other project builds and avoid early exit
from make. This project is required real porting to x86_64/x32 and assemblies
rewritten.

Change-Id: I83e6cf8fe51ee24f0d6d090f7a97cd9314b02b03
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
ndroidBitcode/Android.mk
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.cpp
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.cpp
b441caf2915b86a93a0e195290980416da9e8307 15-Aug-2013 Jun Tian <jun.j.tian@intel.com> DO NOT MERGE: Refactor the libbcc runtime for x86 platform

This patch refactors the libbcc runtime code to support x86 platform.
It removed the redundant x86 code and added the missing functions in
libclcore_x86.bc.

It resolved the RenderScript failures on the x86 platform.

Bug: 9961583

Change-Id: Ieed97e90c7c7691185a88dc425a2dd8c68aeb806

Signed-off-by: Yong Chen <yong.a.chen@intel.com>
enderscript/runtime/Android.mk
enderscript/runtime/arch/dot_length.c
enderscript/runtime/arch/generic.c
enderscript/runtime/arch/sqrt.c
enderscript/runtime/arch/x86_clamp.ll
enderscript/runtime/arch/x86_dot_length.ll
enderscript/runtime/arch/x86_generic.c
enderscript/runtime/arch/x86_math.ll
enderscript/runtime/arch/x86_sse2.ll
enderscript/runtime/arch/x86_sse3.ll
enderscript/runtime/build_bc_lib.mk
enderscript/runtime/rs_cl.c
enderscript/runtime/rs_sample.c
0784365a38fd5a9c08dd484f9ba549328d4dff97 16-Aug-2013 Stephen Hines <srhines@google.com> resolved conflicts for merge of 8607272a to klp-dev

Change-Id: Ic9b996432bfcd228ae8a45f75bc9c564a3a66a31
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
ore/Source.cpp
enderscript/RSCompilerDriver.cpp
d7a95265621a788a6de8c0c3a27a588d7c466f79 09-Aug-2013 Stephen Hines <srhines@google.com> Remove locking code on Windows builds.

Change-Id: Ia5656cf4feec3206e73ecc3e3b504146b0c66707
enderscript/RSCompilerDriver.cpp
c1567c07c7ffd7371b295964177743488bde008a 07-Aug-2013 Stephen Hines <srhines@google.com> Merge "Decode RenderScript kernel signatures using bcinfo::MetadataExtractor."
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.
d88177580db4ddedf680854c51db333c97eabc59 03-Aug-2013 Stephen Hines <srhines@google.com> Decode RenderScript kernel signatures using bcinfo::MetadataExtractor.

Change-Id: I9472d0c36e23a1e0d583fc823c986ee7a1bb05ed
enderscript/RSForEachExpand.cpp
18a38a3fc6fad8355891b771dd3c6537fa8699ec 27-Jul-2013 Tobias Grosser <grosser@google.com> Annotate allocations with Renderscript TBAA metadata

We extend the RSForEachExpand pass to emit Renderscript TBAA metadata.
This allows us to prove the absence of aliasing between accesses to to
allocations and other data accesses. This is especially useful as it enables
the compiler often to hoist loop invariant globals out of the compute loop.

Change-Id: Ic993c85b56ecf79b9cd5241fe3d961ace2b23935
enderscript/RSForEachExpand.cpp
d06574b6d2114b0c00fdf9e3fd292211031571b1 01-Aug-2013 Stephen Hines <srhines@google.com> Use BUILD instead of HOST for bcc_strip_attr.

Change-Id: Ifeea47994e36d29f690bd77af812500f7e023db1
enderscript/runtime/build_bc_lib.mk
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
xecutionEngine/SymbolResolvers.cpp
enderscript/RSInfo.cpp
upport/FileBase.cpp
upport/OutputFile.cpp
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
ore/Android.mk
ore/Linker.cpp
upport/Android.mk
upport/Initialization.cpp
upport/LinkerConfig.cpp
upport/TargetLinkerConfigs.cpp
d5a0f131fcd068c87024a6cf917e34151d4bb114 05-Jun-2013 Stephen Hines <srhines@google.com> Remove ABCC and associated components.

Change-Id: I93f1c2918ca68268d09fac5249e8ba24d6d76dd8
ndroidBitcode/ABCCompiler.cpp
ndroidBitcode/ABCCompilerDriver.cpp
ndroidBitcode/ABCExpandVAArgPass.cpp
ndroidBitcode/ARM/ARMABCCompilerDriver.cpp
ndroidBitcode/ARM/ARMABCCompilerDriver.h
ndroidBitcode/ARM/ARMABCExpandVAArg.cpp
ndroidBitcode/Android.mk
ndroidBitcode/Mips/MipsABCCompilerDriver.cpp
ndroidBitcode/Mips/MipsABCCompilerDriver.h
ndroidBitcode/Mips/MipsABCExpandVAArg.cpp
ndroidBitcode/X86/X86ABCCompilerDriver.cpp
ndroidBitcode/X86/X86ABCCompilerDriver.h
ndroidBitcode/X86/X86ABCExpandVAArg.cpp
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
ore/Compiler.cpp
enderscript/RSCompiler.cpp
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
ore/Compiler.cpp
c06cd06078a8c866d5cecbf897326092b55a8955 12-Jul-2013 Stephen Hines <srhines@google.com> Only support EnableGlobalMerge on ARM architectures.

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

Change-Id: I92dff2a208c821722f057dd8c26bd12a1cb5a794
enderscript/RSCompilerDriver.cpp
acde6013e9c448547e59eed04afd2adbd9681a3a 02-Jul-2013 Tobias Grosser <grosser@google.com> ForEach: Not all kernels are expanded

Bug: 9674197

There may be some graphics root functions that are not expanded
and can consequently not be marked as internal linkage.

Change-Id: I643a2c82b91ba94fbd30598402698173ca2307ab
enderscript/RSForEachExpand.cpp
cd5b657c39a348bd7652a19c5be5035e9df44a42 02-Jul-2013 Tobias Grosser <grosser@google.com> ForEach: Set internal linkage for kernel functions

The expanded function is the external visible interface. Setting internal
linkage will influence the cost function of the inliner. Specifically, the
inliner knowns that no external users will use the unexpanded kernel function,
which means it will inline it and remove the original function.

This gives a 22% speedup on the colorcube 3D, 19% on convolve3x3
as well as minor speedups on fisheye.

Change-Id: I9770c92d24dfc7978145e694d1a35829c5432264
enderscript/RSForEachExpand.cpp
2f6103bb820139d19f709e687f5bf4f86226057e 01-Jul-2013 Tobias Grosser <grosser@google.com> Remove manually inlined populateLTOPassManager()

Instead of copying the content of
llvm::PassManagerBuilder::populateLTOPassManager() we just call it.
This does not only reduce code duplication, but also ensures that we do not
miss anything. Specifically, the previous code did not run any alias analysis
at all. After this change we now always run tbaa and basicaa. This does not
give any benefits at the moment, but is a prerequisite for upcoming changes to
our alias analysis.

Change-Id: I01b352255e958cbc1c996d934a519f5ab71f9f24
ore/Compiler.cpp
4102bec56151fb5d9c962fb298412f34a6eacaa8 27-Jun-2013 Tobias Grosser <grosser@google.com> ForEach: No IntToPtr casts for ptr kernel inputs

Instead we replace the calculation of the pointer offsets with an explicit
getElementPointer instruction.

Change-Id: I95bedfa1b17b839a122548f4d855d6ec40c7467b
enderscript/RSForEachExpand.cpp
ae937ec9658c219a38d9d631d2569f19e21b50c0 27-Jun-2013 Tobias Grosser <grosser@google.com> ForEach: No IntToPtr casts for byvalue kernel inputs

Instead we replace the calculation of the pointer offsets with an explicit
getElementPointer instruction.

Change-Id: I4e31fe42382cd0f37ed582d62795555482186d96
enderscript/RSForEachExpand.cpp
02f3cd69a4103f91a51a2f988f2179c885d734b5 27-Jun-2013 Tobias Grosser <grosser@google.com> ForEach: No IntToPtr casts for ptr outputs

Instead we replace the calculation of the pointer offsets with an explicit
getElementPointer instruction.

Change-Id: I350cacd132d97dc620fe3c1c3ca89d1028677965
enderscript/RSForEachExpand.cpp
7b6629024395bf085ca64fcd5c69d2ded95e8d18 22-Jun-2013 Tobias Grosser <grosser@google.com> ForEach: No IntToPtr casts for byvalue outputs

Instead we replace the calculation of the pointer offsets with
an explicit getElementPointer instruction.

Change-Id: I814a18d4d48e3e0bd13ca93697ad049fa0ed8c4c
enderscript/RSForEachExpand.cpp
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
ore/Compiler.cpp
enderscript/RSCompilerDriver.cpp
e87a0518647d1f9c5249d6990c67737e0fb579e9 26-Jun-2013 Tobias Grosser <grosser@google.com> ForEachExpand: Use consistently unsigned integers in loop

Previously we used an signed compare in the loop exit condition, but claimed
the absence of unsigned integer wrapping. We now use an unsigned comparison
reflecting that our integers are interpreted as unsigned values.

Change-Id: I3d77402e93dac625b3688078d5a1a826a32a9dac
enderscript/RSForEachExpand.cpp
e4a73f68e1b338881adf682c458e0b4b92ecd91e 22-Jun-2013 Tobias Grosser <grosser@google.com> ForEachExpand: Construct loop in a separate function

When expanding the loading/unloading of parameter values as well as the
creation of the implicit loop where mangled together. We now separate
them. This reduces code duplication and makes the difference between
the two ways of expanding a kernel more clear.

We also add some documentation and a FIXME that highlights the
surprising use of NUW during code generation.

The only functional change included here is that we switch to using PHI-nodes
instead of loading/storing the loop iterator to memory.

Change-Id: I8c28f3054eb00a73b8b754057625e52140c04405
enderscript/RSForEachExpand.cpp
806075b3a54af826fea78490fb213d8a0784138e 21-Jun-2013 Tobias Grosser <grosser@google.com> ForEachExpand: Create a complete function

In createEmptyExpandedFunction() we now create a complete function containing a
single basic block that directly returns. The advantage of creating a complete
function is that it allows us to maintain valid LLVM-IR throughout the whole
expansion process. This makes testing easier as commenting out later code does
not yield invalid LLVM-IR.

No functional change intended.

Change-Id: I0af12ec491f879be127461ff2a5a2c38543c8532
enderscript/RSForEachExpand.cpp
802f65931852d925bbe2e478bafe422b4002e7c4 20-Jun-2013 Tobias Grosser <grosser@google.com> ForEachExpand: Name arguments at the time the ForEachStub is created

This also removes code duplication.

No functional change intended.

Change-Id: Ie01d0578a70219909cac3c77e3b184589c371845
enderscript/RSForEachExpand.cpp
357b58691936bef425bd315c13a2d8019d7e9c7e 20-Jun-2013 Tobias Grosser <grosser@google.com> ForEachExpand: Factor out creation of ForEachStub function

This also removes code duplication.

No functional change intended.

Change-Id: I60f2d1d7017db33303ae1bffaa54f578a2276585
enderscript/RSForEachExpand.cpp
8ae4607d2dc5bc655d0c9225565d36ce2ebfc798 20-Jun-2013 Tobias Grosser <grosser@google.com> ForEachExpand: Create ForEachStub type in separate function

This also removes code duplication.

No functional change intended.

Change-Id: If00fced7db10c37306879fa633aa4453e84d98f0
enderscript/RSForEachExpand.cpp
d0304d59215f8b065332facf6db11d2aec0eb97c 20-Jun-2013 Stephen Hines <srhines@google.com> Merge "Switch to using full pathnames for cached information."
7b980e1717f3cf418f7bc4e40597004bc1139b8b 20-Jun-2013 Tobias Grosser <grosser@google.com> bcc: Add option -emit-llvm

Change-Id: I98470c6573b216518f77d338f4659d5b9fbcc3d3
enderscript/RSCompilerDriver.cpp
5eea973c91f1d202c6ecc4f753aa65893a5773a6 20-Jun-2013 Stephen Hines <srhines@google.com> Switch to using full pathnames for cached information.

Bug: 7342767
Change-Id: I8997f4d2834fd607bcfc3bb7db81d8e90b4e4f37
enderscript/RSCompilerDriver.cpp
bae0ae1794b07482c85211c3b4d8f5e8e4da8f69 15-Jun-2013 Stephen Hines <srhines@google.com> Don't dlclose things that haven't been dlopen-ed.

Change-Id: I48ee73f3ca48d4345b976bcdbb08733f60ecdcfe
xecutionEngine/SymbolResolvers.cpp
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
ore/Android.mk
ore/Linker.cpp
upport/Android.mk
upport/Initialization.cpp
upport/LinkerConfig.cpp
upport/TargetLinkerConfigs.cpp
88f8c52abea50f411c3774c935a6a1e04d17c182 13-Jun-2013 Stephen Hines <srhines@google.com> Update libbcc for LLVM merge to r183849.

Remove unused param to readBytes().
Path.h -> PathV1.h
Remove ability to load/run files from bcc tool.

Change-Id: I07d735fb86638412f01c4f8285d56f45ca35b672
enderscript/RSCompilerDriver.cpp
285ad4db939511982817556d90aea520a90c7da8 11-Jun-2013 Tobias Grosser <grosser@google.com> Detect NEON availability at run-time

Change-Id: I75f408fc46be2f29c39d8c82e1c57ad4603b331b
upport/TargetCompilerConfigs.cpp
124296a1e203dac97e1ab792e0dee3eb8a66dbfe 07-Jun-2013 Stephen Hines <srhines@google.com> Merge "Further separate build (compile) and load in libbcc."
7709e034814bf07556a05a26d3f9118efdbe654c 25-May-2013 Tobias Grosser <grosser@google.com> Allow rs to tune for specific ARM CPUs

This feature can be disabled with by setting 'debug.rs.arm-no-tune-for-cpu'.

Change-Id: I61f9a170edfc514347fc88f5f515d1ba5cb812d9
upport/TargetCompilerConfigs.cpp
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/TargetCompilerConfigs.cpp
47f0d5a8d9ed629a6d58d3e69891f2c7fdee44d9 05-Jun-2013 Stephen Hines <srhines@google.com> Further separate build (compile) and load in libbcc.

Bug: 7342767

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

Change-Id: I93f1c2918ca68268d09fac5249e8ba24d6d76dd8
ndroidBitcode/ABCCompiler.cpp
ndroidBitcode/ABCCompilerDriver.cpp
ndroidBitcode/ABCExpandVAArgPass.cpp
ndroidBitcode/ARM/ARMABCCompilerDriver.cpp
ndroidBitcode/ARM/ARMABCCompilerDriver.h
ndroidBitcode/ARM/ARMABCExpandVAArg.cpp
ndroidBitcode/Android.mk
ndroidBitcode/Mips/MipsABCCompilerDriver.cpp
ndroidBitcode/Mips/MipsABCCompilerDriver.h
ndroidBitcode/Mips/MipsABCExpandVAArg.cpp
ndroidBitcode/X86/X86ABCCompilerDriver.cpp
ndroidBitcode/X86/X86ABCCompilerDriver.h
ndroidBitcode/X86/X86ABCExpandVAArg.cpp
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.cpp
enderscript/RSExecutable.cpp
enderscript/RSInfo.cpp
bc7576df5896d4c97034ca1427c240af19d12481 30-May-2013 Stephen Hines <srhines@google.com> Move RS runtime to frameworks/rs.

Bug: 7342767
Change-Id: I2c5e75a7324d9b7c1a89c81f377bf0718e96b463
enderscript/Android.mk
enderscript/runtime/Android.mk
enderscript/runtime/arch/clamp.c
enderscript/runtime/arch/dot_length.c
enderscript/runtime/arch/generic.c
enderscript/runtime/arch/neon.ll
enderscript/runtime/arch/sqrt.c
enderscript/runtime/arch/x86_clamp.ll
enderscript/runtime/arch/x86_dot_length.ll
enderscript/runtime/arch/x86_generic.c
enderscript/runtime/arch/x86_math.ll
enderscript/runtime/build_bc_lib.mk
enderscript/runtime/build_clcore.sh
enderscript/runtime/convert.ll
enderscript/runtime/math.ll
enderscript/runtime/matrix.ll
enderscript/runtime/rsClamp.ll
enderscript/runtime/rs_allocation.c
enderscript/runtime/rs_cl.c
enderscript/runtime/rs_core.c
enderscript/runtime/rs_element.c
enderscript/runtime/rs_matrix.c
enderscript/runtime/rs_mesh.c
enderscript/runtime/rs_program.c
enderscript/runtime/rs_sample.c
enderscript/runtime/rs_sampler.c
enderscript/runtime/rs_structs.h
1435ae32704fd7e9cfbabca07c274e636e872210 29-May-2013 Jason Sams <jsams@google.com> Implement vector clamp for all types.

Change-Id: I4a1612d691a3f393a3d0e171aec9d8efb8c5ab8e
enderscript/runtime/Android.mk
enderscript/runtime/arch/clamp.c
enderscript/runtime/arch/generic.c
enderscript/runtime/arch/neon.ll
enderscript/runtime/build_bc_lib.mk
b81d697ec617be24494b622a3532f1c465264415 22-May-2013 Nick Kralevich <nnk@google.com> Renderscript: Don't call property_get on host

Accessing system properties only makes sense on the target, not
on the host.

This change is needed to remove host support for properties.

Change-Id: I41a34bdeae6a1e9a1481f2ecc80e69ead3bd0556
enderscript/RSCompilerDriver.cpp
enderscript/RSInfo.cpp
1d96bc8f1612656f1abe9a48feba4a9f819de419 17-May-2013 Stephen Hines <srhines@google.com> Take absolute value of value for fast_length().

Bug: 9018865
Change-Id: I46b23e0df4ae0b1e5c238f353d0b6de539887e9b
enderscript/runtime/rs_cl.c
fb6e5cb2606552ace0da9f0a47c8bfbf2707d53a 11-May-2013 Tim Murray <timmurray@google.com> am 3128f6cd: am c89f78b4: Remove extraneous logging.

* commit '3128f6cdffb4205de7897aa8fb8b6a768aaac376':
Remove extraneous logging.
c89f78b40e7823eb2d08e7129794c9f6f1992c08 09-May-2013 Tim Murray <timmurray@google.com> Remove extraneous logging.

bug 8888887

Change-Id: Ief798e6e139fd4971ce53f090004478f4e036a03
enderscript/RSCompilerDriver.cpp
enderscript/RSExecutable.cpp
c0ca2aad83f9ad188170a2398fc66a45192047e0 08-May-2013 Stephen Hines <srhines@google.com> Merge "Adapt libbcc for LLVM/Clang/mclinker update."
86e4506416f974d3c717deaca2b17b0792cc2d49 07-May-2013 Stephen Hines <srhines@google.com> Adapt libbcc for LLVM/Clang/mclinker update.

Change-Id: I80260f41b3c80e4cd260480ff32ee35a9215e39a
ore/Linker.cpp
upport/Initialization.cpp
upport/LinkerConfig.cpp
upport/TargetLinkerConfigs.cpp
cba9daefa053c8231971613d250832c298fbaaed 02-May-2013 Stephen Hines <srhines@google.com> am cb64b9aa: am b837262a: Disable NEON on cortex-a15 temporarily.

* commit 'cb64b9aa5a72fe1041ec0da6fff2a7a15ca67331':
Disable NEON on cortex-a15 temporarily.
3e785087c1758881c67d11d7c1fae3b335949a96 02-May-2013 Stephen Hines <srhines@google.com> Merge "Add support for inline assembly parsing with libbcc."
b837262a9648128ed708d50c27b0d501baf90cfd 02-May-2013 Stephen Hines <srhines@google.com> Disable NEON on cortex-a15 temporarily.

Bug: 8530053
Change-Id: I4a13638fbdbefe5bb8063981a7bc3b08c972edbc
enderscript/runtime/Android.mk
d793ca93d75fe8f1d29ceab8f9bf0432f0f63565 01-May-2013 Stephen Hines <srhines@google.com> Add support for inline assembly parsing with libbcc.

Change-Id: I9ca727aabaf99436abcd305d7c6b4d3ea7232d60
upport/Initialization.cpp
39cbda33297e33ae172b3cad28596c2ee497412a 30-Apr-2013 Jason Sams <jsams@google.com> cleanup rsSample

Change-Id: I8147696b993dd90b6ab07c6c12dd421870092c51
enderscript/runtime/rs_sample.c
2a8abe7dc51c247f8abda8bd818c14d4d570d1ac 23-Apr-2013 Stephen Hines <srhines@google.com> Fix issues with 3D rs(Set|Get)ElementAt function.

Bug: 8680826
Change-Id: Ica91b4c9727f2424a29ea5b1f91dbc08d25f4873
enderscript/runtime/rs_allocation.c
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.cpp
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.cpp
enderscript/RSInfoExtractor.cpp
enderscript/runtime/Android.mk
enderscript/runtime/build_bc_lib.mk
enderscript/runtime/rs_allocation.c
8be0c88be431c96fca1fa8488067fd7c458b124e 06-Apr-2013 Jason Sams <jsams@google.com> Implement YUV functions

Provide special functions for retrieving U and V components


Change-Id: Ifa891f598079071c223d6ef54885721d931c5f46
enderscript/runtime/rs_allocation.c
bd447fb85869020951ee5724898be5c6b1c8cf54 03-Apr-2013 Jason Sams <jsams@google.com> Merge "Add support for debug get/set element" into jb-mr2-dev
43a5b59bc8b5bf677c4f2cbc174e48b8a33dc9af 03-Apr-2013 Jason Sams <jsams@google.com> Add support for debug get/set element

This fixes the per ABI issues of the previous
debug work.

Fix debug for vector types.

Change-Id: I884bff978a1000f2e93dbfa8bc7d3d99afd24df4
enderscript/runtime/rs_allocation.c
enderscript/runtime/rs_core.c
1d48ddc4f61fc80da96582c6a259a3ee024fecf4 03-Apr-2013 Stephen Hines <srhines@google.com> Update field offsets due to DebugHelper.

Change-Id: I90d804cc59b64cbb630011e012f42aa49cc4a2cd
enderscript/runtime/rs_structs.h
4b88f340840ad4e10f78ef51bef8ef69408ac73d 02-Apr-2013 Jason Sams <jsams@google.com> Merge "overhaul rs_sampler" into jb-mr2-dev
61c5f57b97d7306e36ec9f580f8d72562a791763 28-Mar-2013 Jason Sams <jsams@google.com> overhaul rs_sampler

Change-Id: I8c446e8266fb4200d6afe3f9765d58496bfa2162
enderscript/runtime/rs_sample.c
1531487e04ef5f61949bea7a3e2977279b38b0c2 27-Mar-2013 Tim Murray <timmurray@google.com> Revert "rsSampler work"

This reverts commit ee883164d3fec165134b17e52c75cc90f3980269.
enderscript/runtime/rs_sample.c
enderscript/runtime/rs_structs.h
c3dceb11d9bfc0b741f993958e84edbaed552aff 25-Mar-2013 Stephen Hines <srhines@google.com> Merge "Fix header location for LLVMContext.h." into jb-mr2-dev
fce15a42406e17de62b5b6f0734e4eefba6642c2 25-Mar-2013 Stephen Hines <srhines@google.com> Fix header location for LLVMContext.h.

Change-Id: I9a7da713925cfe4150658e426d58671eff40f3bc
upport/Disassembler.cpp
ee883164d3fec165134b17e52c75cc90f3980269 22-Mar-2013 Jason Sams <jsams@google.com> rsSampler work

Change-Id: Idc16805320ea5af631cb5fa60e7ad9f10ef05e1a
enderscript/runtime/rs_sample.c
enderscript/runtime/rs_structs.h
826be465ebb0c786d83c61ddeec012fca88a49a7 20-Mar-2013 Jason Sams <jsams@google.com> Merge "Fix copy and paste error in matrix function names." into jb-mr2-dev
e47a15d07705d60ee14eb2cf116945c9b78dca3e 20-Mar-2013 Jason Sams <jsams@google.com> Fix copy and paste error in matrix function names.

bug 8426471

Change-Id: I20062263ae999fb660fa6e742d47d05724afb996
enderscript/runtime/rs_matrix.c
f424bce72e64899fe74cf73f10f0f4e105547549 19-Mar-2013 Stephen Hines <srhines@google.com> Move abs/clz into proper shared code space.

Previously these were only available to our generic implementation.
Machine-specific implementations would be missing these functions (which
can result in missing link-time dependencies).

Change-Id: I606848427d55a50d0ec6022007fa4ce2c88adc31
enderscript/runtime/arch/generic.c
enderscript/runtime/rs_cl.c
6231e390c0e174f7797b6bf09159e1a8d3cd864d 18-Mar-2013 Stephen Hines <srhines@google.com> Fix missing BCC_STRIP_ATTR dependency.

Change-Id: I602c2eb2df3d0b1013ae31c427ef35d0c6c25c6b
enderscript/runtime/build_bc_lib.mk
2187acafbd83fbf29f5b1d436a5a633dd35a628f 18-Mar-2013 Stephen Hines <srhines@google.com> Simpler build rules for running bcc_strip_attr.

Bug: 8383531
Change-Id: I0ae6415e9a2ba16155916df95a2bb07bf4067081
enderscript/runtime/build_bc_lib.mk
5c3e8c021224e5000c20988f668059dcb7539e74 18-Mar-2013 Stephen Hines <srhines@google.com> Merge "Revert "Build rules for running bcc_strip_attr."" into jb-mr2-dev
1a361253d8f2fa4cd271d8ccd5dfe5a11c7edbbe 18-Mar-2013 Stephen Hines <srhines@google.com> Revert "Build rules for running bcc_strip_attr."

This reverts commit 2c2a59e44baf98ba15ff7f85a67ab1747ae957f7

Change-Id: I4f9f96a58327c46d38bf6a956560555e9a38a5ce
enderscript/runtime/build_bc_lib.mk
2cb9d2c8f43c61ecfacc3f85a56cd558dde7514c 18-Mar-2013 Stephen Hines <srhines@google.com> Merge "Build rules for running bcc_strip_attr." into jb-mr2-dev
6ac532e01b532653ee2c89142109406b08ca2b39 18-Mar-2013 Tim Murray <timmurray@google.com> Remove __attribute((overloadable)) from rsUnpackColor8888.

Change-Id: I12e8af774a0a61bd8571c31406894779a443c300
enderscript/runtime/rs_core.c
2c2a59e44baf98ba15ff7f85a67ab1747ae957f7 15-Mar-2013 Stephen Hines <srhines@google.com> Build rules for running bcc_strip_attr.

Bug: 8383531
Change-Id: I15ffbb17e800efeadaac2047c182632c48ca194a
enderscript/runtime/build_bc_lib.mk
4d93e8dec63500a62ea72ea1d1c47a7c7ea5f358 15-Mar-2013 Jason Sams <jsams@google.com> Migrate atomics to .bc

Change-Id: I7792c2dad9d308b8fc5333d272a784277db8cb09
enderscript/runtime/rs_core.c
21f837b6d745abb375909b26020719bafd522c8c 12-Mar-2013 Jason Sams <jsams@google.com> Math lib opts

Change-Id: I77cfc17633a2a69a4445aa073d16dfd3b7c38876
enderscript/runtime/rs_cl.c
enderscript/runtime/rs_matrix.c
d9bf9445c59d57d6da66ef6f50bce667c10522d8 12-Mar-2013 Stephen Hines <srhines@google.com> Merge "Move generic function calls to rs_matrix.c." into jb-mr2-dev
450a8849b5675194b79719ef05cab92fb6ae38d2 12-Mar-2013 Stephen Hines <srhines@google.com> Move generic function calls to rs_matrix.c.

Change-Id: I9aa7c347f9d2c59a22e575ce04e1ea9e59067f2b
enderscript/runtime/arch/generic.c
enderscript/runtime/arch/neon.ll
enderscript/runtime/rs_matrix.c
3469783d5fc3a5594da8d10c42540dd5f4455143 12-Mar-2013 Jason Sams <jsams@google.com> Clamp rsPackPixel

Change-Id: Ideaf339c51677780e6267e4ac1b8de902fc1d353

Conflicts:
lib/Renderscript/runtime/arch/neon.ll
enderscript/runtime/Android.mk
enderscript/runtime/arch/generic.c
enderscript/runtime/arch/neon.ll
enderscript/runtime/pixel_packing.ll
9112850375c24d3ffb8ced3835f878b08c1297ab 12-Mar-2013 Jason Sams <jsams@google.com> Move simple matrix ops to the on device lib.

Change-Id: I2cd23cc2dab32c54f341e8e0cfbfbcaf1585c401
enderscript/runtime/Android.mk
enderscript/runtime/arch/generic.c
enderscript/runtime/arch/neon.ll
enderscript/runtime/rs_core.c
enderscript/runtime/rs_matrix.c
229c99b4290e30047678a79910722c628fb2602e 07-Mar-2013 Stephen Hines <srhines@google.com> Turn off +neonfp since it only hurts NEON performance.

Also get rid of an unused define.

Change-Id: I84a07f2f6269d701a5ce00aa0ce95cf8916db937
upport/TargetCompilerConfigs.cpp
56cfa8160b5c855bf908ecb92491f953c9816963 05-Mar-2013 Jason Sams <jsams@google.com> am 25b7205e: Merge "Add more X86/SSE2+ optimized functions"

* commit '25b7205e16e422469da74f88e74ad79e7c284ac7':
Add more X86/SSE2+ optimized functions
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
25b7205e16e422469da74f88e74ad79e7c284ac7 05-Mar-2013 Jason Sams <jsams@google.com> Merge "Add more X86/SSE2+ optimized functions"
e323991d04284925ff7aea8387bc55c1ed57a061 05-Mar-2013 Jason Sams <jsams@google.com> Merge "Start to add X86/SSE2+ optimized clcore library"
d805eacc8086e387ab25d3d502db8113281b3d9d 26-Feb-2013 Jason Sams <jsams@google.com> Apply eSize optimization to getElementAt

Implement 3D versions of the typed get/set functions

Performance improves 2-4% in most benchmarks that use these.

Change-Id: I6c752b3381d9b3c866b50039c33767fef46b2d20
enderscript/runtime/rs_allocation.c
bb05edd21dc3d886c154b0677b6bc87ae75019ee 19-Feb-2013 Stephen Hines <srhines@google.com> Merge "Add LinkRuntimeCallback() and supporting functions to RS compiler."
903fc4929eba894513b7bc27d011ebdfc8999022 16-Feb-2013 Tim Murray <timmurray@google.com> Merge "Add MIRRORED_REPEAT."
fac184e6598ec9eca40c13aa546498db7137c857 15-Feb-2013 Tim Murray <timmurray@google.com> Add MIRRORED_REPEAT.

Change-Id: I31c3f24728cf55b983377e20edc7022d104b6ddc
enderscript/runtime/rs_sample.c
06731a6150ae8014d37258d5f32ef8bc14a3db63 13-Feb-2013 Stephen Hines <srhines@google.com> Add LinkRuntimeCallback() and supporting functions to RS compiler.

Change-Id: I7745406a94ba74896ee98752a3de106d2672159d
ore/Source.cpp
enderscript/RSCompilerDriver.cpp
enderscript/RSScript.cpp
enderscript/runtime/rs_structs.h
41d8dcca655fc21072b3d898b3ea5bfd6b90e96d 14-Feb-2013 Elliott Hughes <enh@google.com> libbcc should know that ARCH_ARM_HAVE_THUMB_SUPPORT is always true.

Change-Id: I96ae70fed98d1bc4b6d67b1f9c869cff2f6eecc7
upport/TargetCompilerConfigs.cpp
3ab9da1e1b3d7794994393af086d096397fb84db 02-Feb-2013 Stephen Hines <srhines@google.com> Fix bcc_compat symbol resolution with libcompiler_rt.so.

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

And remove libbcc's long outdated compiler-rt.

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

Change-Id: I64b3d4ba80343bc592fa0df72242b33b2d2ae0ed
enderscript/RSCompilerDriver.cpp
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.cpp
enderscript/RSInfoExtractor.cpp
f0e8fdad566043d8ead4d2211c1060d2d5b4c355 25-Jan-2013 Jason Sams <jsams@google.com> Implement fast log and pow

Change-Id: I5f8f697378c6b72d67eeabe0ebd098a2daf3771f
enderscript/runtime/rs_cl.c
b730e239619a546d93e5926ea92d698ab77ec7f6 10-Jan-2013 Stephen Hines <srhines@google.com> Updates for LLVM merge to r171906 on 20130108.

Change-Id: I096cb90103b19e3110ea562d60e5eb8ad48d9b67
ndroidBitcode/ABCCompiler.cpp
ndroidBitcode/ABCCompilerDriver.cpp
ndroidBitcode/ABCExpandVAArgPass.cpp
ndroidBitcode/ARM/ARMABCExpandVAArg.cpp
ndroidBitcode/Mips/MipsABCExpandVAArg.cpp
ndroidBitcode/X86/X86ABCExpandVAArg.cpp
ore/BCCContextImpl.h
ore/Compiler.cpp
ore/Source.cpp
enderscript/RSCompiler.cpp
enderscript/RSEmbedInfo.cpp
enderscript/RSForEachExpand.cpp
enderscript/RSInfoExtractor.cpp
enderscript/runtime/build_bc_lib.mk
enderscript/runtime/build_clcore.sh
8c03b80ea520d971321100d4a5f7f301a7510fc9 19-Jan-2013 Tim Murray <timmurray@google.com> Merge "remove fabs LLVM intrinsic"
38fce22487e1a816a1e703f20e5400c634060f56 19-Jan-2013 Stephen Hines <srhines@google.com> Merge "Remove the fract(float) implementation."
54f9bf50c643a163d5dc48959e3cd64fe3532d21 18-Jan-2013 Jason Sams <jsams@google.com> Merge "Implement fast native_exp*"
28e2dd65d5781d5bbb98bde8a3dd54f85969158f 18-Jan-2013 Jason Sams <jsams@google.com> Implement fast native_exp*

Change-Id: I0989527a7993023131f991ba260c7bf9d9eae51c
enderscript/runtime/rs_cl.c
db64973c80058c0a6e685d1ca8e7a96cc48a405c 17-Jan-2013 Stephen Hines <srhines@google.com> Remove the fract(float) implementation.

Change-Id: I09df57618748eb33c7a233f6f6c59e21d0072107
enderscript/runtime/rs_cl.c
385a61565c8b30fea0bc0f8bccff1848aa94936e 16-Jan-2013 Stephen Hines <srhines@google.com> Merge "rs_matrix types are not 16-byte aligned, so we have to load them as align 4."
65cd36f9052a317bab961fd86415e4faa55d00d0 16-Jan-2013 Stephen Hines <srhines@google.com> rs_matrix types are not 16-byte aligned, so we have to load them as align 4.

Change-Id: I30742a23fe87db7cb68d2c97bc022f7ee418ef82
enderscript/runtime/matrix.ll
ded8c7237bfd3cc3df93c4aecfd446f21a3d7f32 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

cherry-picked from internal master.

Change-Id: Ia00295cee23f1af3dacff4fcdf612b312897327c
xecutionEngine/Android.mk
1e1c46c6e13dbef9f8bab33afd1b78e686f41156 15-Jan-2013 Ben Cheng <bccheng@google.com> Merge "Add HAS_HW_DIV to control the compilation of __udivsi3."
ee1571e8ad198c01af7817dd068f552ccf822093 15-Jan-2013 Tim Murray <timmurray@google.com> remove fabs LLVM intrinsic

Change-Id: Ifc1dd2ac25ad0682cc5b1f682b0f524f74ebb26a
enderscript/runtime/math.ll
enderscript/runtime/rs_cl.c
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
xecutionEngine/Android.mk
ca4f96c0f1fcf7a2bdc5a432b751befff149f73d 03-Jan-2013 Shih-wei Liao <sliao@google.com> Apply changes to migrate on MCLinker 2.0.2-1.

Change-Id: I8b25ad23c257e8a98069611dde525cc6d37e06e9
ore/Linker.cpp
upport/LinkerConfig.cpp
upport/TargetLinkerConfigs.cpp
fb32f0d150ae43e6c6c4c92fe13a92ead3f5e065 09-Jan-2013 Jason Sams <jsams@google.com> Update allocation headers for yuv.

Change-Id: I341ce90c06cbd358d8da4b62d5947b07b3f7c6c2
enderscript/runtime/rs_allocation.c
enderscript/runtime/rs_structs.h
f887657c2f07b86fab4b190e599e7d004e204d13 20-Oct-2012 Michael Liao <michael.liao@intel.com> Add more X86/SSE2+ optimized functions

- SSSE3 optimized length() is added by using HADDPS
- SSSE3 optimized dot() is added by using HADDPS
- scalar exp() and pow() is translated into LLVM intrinsics to allow
backend to schedule insn around them to reduce register pressure or
improve code scheduling. They eventually will be lowered into standard
C math library call.

Change-Id: Ife462352e15d1762ba46829165a3d02b3b1be858
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: 66242
enderscript/runtime/Android.mk
enderscript/runtime/arch/dot_length.c
enderscript/runtime/arch/x86_dot_length.ll
enderscript/runtime/arch/x86_math.ll
enderscript/runtime/rs_cl.c
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.cpp
enderscript/RSScript.cpp
enderscript/runtime/Android.mk
enderscript/runtime/arch/sqrt.c
enderscript/runtime/arch/x86_clamp.ll
enderscript/runtime/arch/x86_generic.c
enderscript/runtime/arch/x86_math.ll
enderscript/runtime/rs_cl.c
426db95e17cdbaa9b1ff26eb32d20374681a96c2 03-Jan-2013 Tim Murray <timmurray@google.com> Fix potential bad pointer dereference with fract().

Bug: 7938590

Change-Id: I11c5abc589fa188c0e6790b08c3a6629c4243199
enderscript/runtime/rs_cl.c
56c9751e346dbdf98be57f789e6d70203a465cbe 17-Dec-2012 Tim Murray <timmurray@google.com> Merge "add rsSetElementAt_<type>."
52acbab46d32526a42f9015f175ea9a552426966 17-Dec-2012 Shih-wei Liao <sliao@google.com> Apply changes to migrate on MCLinker 2.0.1.

Change-Id: I6a3a4fac269a7dbec6ecbf06cccfddf08a03251b
ore/Linker.cpp
upport/Initialization.cpp
upport/LinkerConfig.cpp
upport/TargetLinkerConfigs.cpp
0116d8b4247829adfb64b9cb7992eb783a54abd5 13-Dec-2012 Stephen Hines <srhines@google.com> Fix bug in object slot implementation.

The implementation of object slots in RSInfo is different from that in bcinfo.
In particular, this variant uses a bitmask where order does matter, rather
than a list of slot id numbers that are actually objects. I have adjusted
the walk pattern for RSEmbedInfo to take this into account.

Change-Id: I0d587546452411a79e0f20f908b53aeca731ea7c
enderscript/RSEmbedInfo.cpp
688e4c0dd73c273551f517fa85a08b40dd63eacc 13-Dec-2012 Stephen Hines <srhines@google.com> Fix long-standing bug with multiple pragmas.

There is a subtle bug here in that the rs_fp_imprecise setting will always be
clobbered with rs_fp_full due to the "fast return" path. This change also
replaces ::strcmp() with the original implementation's std::string::compare().

Change-Id: I5b309583fed84d09ded091e25f1971fa9e1ec430
enderscript/RSInfo.cpp
d4d0bf5a4ae2aafd1646035fed8b57cdfb617817 12-Dec-2012 Tim Murray <timmurray@google.com> add rsSetElementAt_<type>.

Change-Id: I14390d8186f4fe0d31bdbd9f653671f9eb2fc4f6
enderscript/runtime/rs_allocation.c
5543d490870e2b74c4d674d212ed974abe31d533 12-Dec-2012 Jason Sams <jsams@google.com> Use llvm fabs intrinsic.

Change-Id: I7e593ec2306305bc510c0a18ebc697b18c5992dc
enderscript/runtime/math.ll
enderscript/runtime/rs_cl.c
2965f541bc4fe593b832b8949ccec7ab0d026de0 27-Nov-2012 Jason Sams <jsams@google.com> Merge "Update libbcc for cpu separation."
8b1532ef9c3b60565cadcf3a5fb3816d889bf616 17-Nov-2012 Jason Sams <jsams@google.com> Update libbcc for cpu separation.

Change-Id: I14cdf14cc8a8df42efe960a4aafd9e2b282f509d
enderscript/runtime/rs_allocation.c
enderscript/runtime/rs_sample.c
enderscript/runtime/rs_structs.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/Android.mk
enderscript/RSCompiler.cpp
enderscript/RSCompilerDriver.cpp
enderscript/RSEmbedInfo.cpp
enderscript/RSExecutable.cpp
331310e1f3f86a795f78e42b3f03558a43829f09 27-Oct-2012 Stephen Hines <srhines@google.com> bcc_compat - convert bitcode to shared object files.

BUG: 7419958

Change-Id: Ie81203b460d60425780657b51ba3aba2b2b77e05
enderscript/RSCompilerDriver.cpp
enderscript/RSInfo.cpp
enderscript/RSInfoExtractor.cpp
enderscript/RSScript.cpp
upport/FileBase.cpp
d82c527a2a3b8d5ee165dea3ffeaf643ef6c606e 19-Oct-2012 Stephen Hines <srhines@google.com> am 6f3138bb: Fix missing data for mObjectSlots.

* commit '6f3138bbc93b7105ddb49a803c15c3f98077f533':
Fix missing data for mObjectSlots.
6f3138bbc93b7105ddb49a803c15c3f98077f533 19-Oct-2012 Stephen Hines <srhines@google.com> Fix missing data for mObjectSlots.

The refactored version for metadata extraction skipped actually populating
the mObjectSlots list. This can result in memory leaks in libRS, as well
as having the potential for corruption (since we are now returning an
empty list to a driver that expects legitimate boolean values).

Bug: 7377851
Change-Id: Id67d46232eeb6b1f59904037b0504a5c590874ee
enderscript/RSInfoExtractor.cpp
af0d05f17010986121d6199f247b772a97250227 17-Oct-2012 Tim Murray <timmurray@google.com> Add 1D and 2D rsSetElementAt.

Change-Id: Ied1ffbeaf311541990ecc935915c5c52a1a8b0e6
enderscript/runtime/rs_allocation.c
22ff286d193f0989a39a11cffa822edcae329528 02-Oct-2012 Stephen Hines <srhines@google.com> am 0d6d592c: Fix improper cast for pown on CPU/GPU.

* commit '0d6d592c5c0d28331151e6c4b7fb7d0789b99974':
Fix improper cast for pown on CPU/GPU.
0d6d592c5c0d28331151e6c4b7fb7d0789b99974 01-Oct-2012 Stephen Hines <srhines@google.com> Fix improper cast for pown on CPU/GPU.

Bug: 7256001
Change-Id: I5231c418e19dab6682a2afd806f5068a3eceb3f7
enderscript/runtime/rs_cl.c
f2466a56825cb1b3fa74fc786ba85ec482b33d96 25-Sep-2012 Shih-wei Liao <sliao@google.com> Merge "Pass -z {relro,now,noexecstack} in ABCCompilerDriver."
f0c8a70c572b1f89a998ce9dec1db24ce7bc67cd 25-Sep-2012 Shih-wei Liao <sliao@google.com> Merge "Support -z options in bcc::Linker."
befe61885c4d3c59ade5ebfab3a82de97c94e8fe 25-Sep-2012 Shih-wei Liao <sliao@google.com> Merge "Fix a bug in ABCExpandVAArgPass."
1e5a95136b9947b33b38579b3819a2a78f0b211a 25-Sep-2012 Stephen Hines <srhines@google.com> am ceb4c0f5: Switch to TargetData::getTypeAllocSize().

* commit 'ceb4c0f5fc5f63c6e494fc2fda25e4461d27abb5':
Switch to TargetData::getTypeAllocSize().
ceb4c0f5fc5f63c6e494fc2fda25e4461d27abb5 25-Sep-2012 Stephen Hines <srhines@google.com> Switch to TargetData::getTypeAllocSize().

We were accidentally using 12 for float3 instead of 16, so our pointer
updates would get out of sync.

Bug: 7224526
Change-Id: I0e3f7f52ef3a862d7f60a46755bb22e533ff289d
enderscript/RSForEachExpand.cpp
f9c5b724ae31bf19cb419acb62b2e358a55dc144 24-Sep-2012 Stephen Hines <srhines@google.com> am 74a4b082: Fix pass-by-value when the return type uses pass-by-reference.

* commit '74a4b08235990916911b8fe758d656c1171faf26':
Fix pass-by-value when the return type uses pass-by-reference.
74a4b08235990916911b8fe758d656c1171faf26 22-Sep-2012 Stephen Hines <srhines@google.com> Fix pass-by-value when the return type uses pass-by-reference.

Since we are using a baseline ARM ABI for Renderscript's portable bitcode,
we need to handle the case where a large return value gets passed as a
pointer (it becomes the first argument). This also fixes a small issue
where the first argument could be the return value (i.e. passed by
reference). I also have verified that coerced struct pass-by-value is
now working with this change.

Bug: 7166741

Change-Id: I7c00ff437ad862f9b8b244d87ccbca19e46c5775
enderscript/RSForEachExpand.cpp
d16cf282c82b92062ba28a3d99a96e384f7dad6b 22-Sep-2012 Shih-wei Liao <sliao@google.com> Pass -z {relro,now,noexecstack} in ABCCompilerDriver.

Enable the NX (Never eXecute) bit, relro and bind_now protections in
ABCCompilerDriver.

Change-Id: I0656faec477e8552c6f988267964fe7d26b2f35a
ndroidBitcode/ABCCompilerDriver.cpp
f3eb9b8c5bb3198aff2878de4dae4e70e5ef3900 22-Sep-2012 Shih-wei Liao <sliao@google.com> Support -z options in bcc::Linker.

Change-Id: I1540510e1160177a531906e25ca437b6af62122d
upport/LinkerConfig.cpp
7b15ea3405a02cec9951c8e491abb4688dee57c1 12-Sep-2012 Shih-wei Liao <sliao@google.com> Fix a bug in ABCExpandVAArgPass.

eraseFromParent() invalidates the current iterator.

Change-Id: I969b5bad66410fc4c91d7a39f2674f8b84942185
ndroidBitcode/ABCExpandVAArgPass.cpp
37a2a3266d3091886f9ed452f249644c06ab498c 21-Sep-2012 Jason Sams <jsams@google.com> am 4fdec9b0: Cleanup naming of aprox & half functions. bug 7205089

* commit '4fdec9b00e2643b764c4f9786def10d643818aba':
Cleanup naming of aprox & half functions. bug 7205089
4fdec9b00e2643b764c4f9786def10d643818aba 21-Sep-2012 Jason Sams <jsams@google.com> Cleanup naming of aprox & half functions.
bug 7205089

Change-Id: I73261ae024507b21cfe85dcf2a7ba68de76f0bcf
enderscript/runtime/arch/generic.c
enderscript/runtime/arch/neon.ll
enderscript/runtime/rs_cl.c
c7189f93ccc035067e6c8c2058c3606d4acfa9d5 16-Aug-2012 Shih-wei Liao <sliao@google.com> Support Thumb mode in ARMABCCompilerDriver.

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

Change-Id: Ia6463466504afd94a9cd4a04c9bc7859fbba1ff5
ndroidBitcode/ABCCompilerDriver.cpp
ndroidBitcode/ARM/ARMABCCompilerDriver.cpp
ndroidBitcode/ARM/ARMABCCompilerDriver.h
ndroidBitcode/Android.mk
ndroidBitcode/Mips/MipsABCCompilerDriver.cpp
ndroidBitcode/Mips/MipsABCCompilerDriver.h
ndroidBitcode/X86/X86ABCCompilerDriver.cpp
ndroidBitcode/X86/X86ABCCompilerDriver.h
a1d5d7980254d70dd28f4244a2b73120847b5f15 16-Aug-2012 Shih-wei Liao <sliao@google.com> Introduce ThumbCompilerConfig to compile for Thumb. BUG=6996910

Change-Id: I7e36b4e451520b9e47915b983cad8a3040691829
upport/TargetCompilerConfigs.cpp
7ae3a828fade4e30f7940415949f33ac1f15dc77 15-Sep-2012 Stephen Hines <srhines@google.com> Implement expandKernel() for pass-by-value.

This change implements the libbcc portion of pass-by-value in RS kernels.
The expandKernel() function creates the appropriate loop construct around
the kernel call (thus foo() -> foo.expand()).

Bug: 7166741

Change-Id: I2e4c85b8ac70372dc6d02671e8768381070e9721
enderscript/RSForEachExpand.cpp
1b84ea3be223d95e55965c0d5721d7c91a5a66b9 11-Sep-2012 Stephen Hines <srhines@google.com> am 2e00e3b8: am 89fb60df: Merge "Fix length(float v) issue"

* commit '2e00e3b8648dbc2fc865f14545bff532b75250ee':
Fix length(float v) issue
2fde634e72b6f5744f4fd61391c0a4e6566a9ebf 10-Sep-2012 lianhd <haidong@multicorewareinc.com> Fix length(float v) issue

length(float v) just return v, so it causes length and distance(lhs, rhs) failed.

Change-Id: Ie6d85246739b9b112aecd5ab39b772ed998b12ad
Signed-off-by: lianhd <haidong@multicorewareinc.com>
criptCRT/rs_cl.c
2ac4cb14fd34fff9ed1fede229aea9c84edb6556 29-Aug-2012 Jason Sams <jsams@google.com> Merge "Cache element type in allocation." into jb-mr1-dev
561df916775aa38f9b915889ded8824da02bc03f 29-Aug-2012 Jason Sams <jsams@google.com> Cache element type in allocation.

Change-Id: Ia99e56106fc9bd58282248e803cbf6610eb2cf0c
enderscript/runtime/rs_structs.h
5d29677e179e7accce4924ccd957d7c74de0ddfb 07-Aug-2012 Kevin Schoedel <kevin.p.schoedel@intel.com> Fix class redeclared as struct.

Change-Id: I84935a4e14a24b3388cdfe52612ab4ddd2f02446
Author: Kevin Schoedel <kevin.p.schoedel@intel.com>
Reviewed-by: Tareq A Siraj <tareq.a.siraj@intel.com>
xecutionEngine/Compiler.h
xecutionEngine/Script.h
xecutionEngine/ScriptCompiled.h
4bd259a15900da99869ab97ff107fc32cf8f1506 16-Aug-2012 Stephen Hines <srhines@google.com> Merge "Add approx_atan function" into jb-mr1-dev
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.cpp
ndroidBitcode/ABCCompilerDriver.cpp
ndroidBitcode/ABCExpandVAArgPass.cpp
ndroidBitcode/ARM/ARMABCCompilerDriver.h
ndroidBitcode/ARM/ARMABCExpandVAArg.cpp
ndroidBitcode/Android.mk
ndroidBitcode/Mips/MipsABCCompilerDriver.h
ndroidBitcode/Mips/MipsABCExpandVAArg.cpp
ndroidBitcode/X86/X86ABCCompilerDriver.h
ndroidBitcode/X86/X86ABCExpandVAArg.cpp
3f64f76a827af742d969fe0b699d42a70b069998 16-Aug-2012 Shih-wei Liao <sliao@google.com> A BCCompiler that supports "lowering" (target-defined) before codegen

Change-Id: Iaf327a4867bb00af57c253c9cea13e7a8cb0572e
ndroidBitcode/ABCCompiler.cpp
ndroidBitcode/Android.mk
56de4e825771d5f751f62001b70651e9c177e362 16-Aug-2012 Shih-wei Liao <sliao@google.com> Include the target files according to the config.

Change-Id: I0bdcbe1e79379e2f230974da04bc1762326702c1
ndroidBitcode/ABCCompilerDriver.cpp
ndroidBitcode/ARM/ARMABCCompilerDriver.h
ndroidBitcode/ARMABCCompilerDriver.h
ndroidBitcode/Android.mk
ndroidBitcode/Mips/MipsABCCompilerDriver.cpp
ndroidBitcode/Mips/MipsABCCompilerDriver.h
ndroidBitcode/MipsABCCompilerDriver.cpp
ndroidBitcode/MipsABCCompilerDriver.h
ndroidBitcode/X86/X86ABCCompilerDriver.cpp
ndroidBitcode/X86/X86ABCCompilerDriver.h
ndroidBitcode/X86ABCCompilerDriver.cpp
ndroidBitcode/X86ABCCompilerDriver.h
31b7c5664f33fcc335c29d8533537ad3c50fe467 16-Aug-2012 Shih-wei Liao <sliao@google.com> Separate function list for each target.

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

Change-Id: Ie46a8838c0b911d5dedf82bc09616dcd728c663d
ndroidBitcode/ABCCompilerDriver.cpp
ndroidBitcode/ARMABCCompilerDriver.h
ndroidBitcode/MipsABCCompilerDriver.h
ndroidBitcode/X86ABCCompilerDriver.h
de0d6bf95e1cd4c87bfbcaa122a99e038b773b8b 16-Aug-2012 Rajeev Sharma <rdsharma@google.com> Add approx_atan function

Change-Id: I3a4770ed1634dc5ec541d21acdd181be4d513deb
enderscript/runtime/rs_cl.c
f3a719289eba0d2b47830b9e40858ed4a413d25b 03-Jul-2012 Rajeev Sharma <rdsharma@google.com> LL version of rsClamp. Fix non-vector clamp.

Change-Id: I7107425fa0c535b47ca4233ced05845b872b199f
enderscript/runtime/Android.mk
enderscript/runtime/arch/neon.ll
enderscript/runtime/rsClamp.ll
enderscript/runtime/rs_core.c
539ea206fe36a54de0cb2763244d61c1a8e1ff84 04-Aug-2012 Rajeev Sharma <rdsharma@google.com> Initial version of approx recip, sqrt, and rsqrt

Contains NEON implementations of approximate reciprocal, sqrt, and rsqrt, as
well as generic C implementations of generic sqrt and rsqrt.

Change-Id: I5a0a847c9b80e9aebee7f402ba1cb79b6663ad65
enderscript/runtime/arch/generic.c
enderscript/runtime/arch/neon.ll
enderscript/runtime/rs_cl.c
45445334a11ab825fb8ef03cf24bcfb898e02607 07-Aug-2012 Stephen Hines <srhines@google.com> Revert "Remove unnecessary metadata duplication in Script*."

This reverts commit 74785ec517941989cb9dc51aca3aab58a21bfa10.

It turns out that this information is really necessary for knowing whether
cleanup passes need to be performed during compile().
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/ScriptCompiled.h
03547495b607bb2293a884c0335fe234de49e1dd 03-Aug-2012 Shih-wei Liao <sliao@google.com> Apply changes to migrate on MCLinker 1.4.0-phoenix.

Change-Id: Ib83f08c7bb115a5824ee67e8fd7869641a6a561c
ore/Linker.cpp
upport/LinkerConfig.cpp
8b5be8604307d0dd342235803dd45775830b84c6 03-Aug-2012 Shih-wei Liao <sliao@google.com> Apply changes to migrate to LLVM-160668-20120724.

Change-Id: I515f90ff6b7222f9e69481c21a10173e1b0b40d2
enderscript/RSForEachExpand.cpp
2b04086acbef6520ae2c54a868b1271abf053122 28-Jul-2012 Stephen Hines <srhines@google.com> Use known strides instead of input args when possible.

BUG=6892059

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

Change-Id: Ib8abe1c5c1bd8390fd3b9268f43f6de3c8803560
enderscript/RSForEachExpand.cpp
e198abec6c5e3eab380ccf6897b0a0b9c2dd92dd 28-Jul-2012 Stephen Hines <srhines@google.com> Rename RenderScript -> Renderscript.

Change-Id: I187928033b47f3e3f4cb811a0b3562f479cfe417
enderScript/Android.mk
enderScript/RSCompiler.cpp
enderScript/RSCompilerDriver.cpp
enderScript/RSExecutable.cpp
enderScript/RSForEachExpand.cpp
enderScript/RSInfo.cpp
enderScript/RSInfoExtractor.cpp
enderScript/RSInfoReader.cpp
enderScript/RSInfoWriter.cpp
enderScript/RSScript.cpp
enderScript/runtime/Android.mk
enderScript/runtime/arch/generic.c
enderScript/runtime/arch/neon.ll
enderScript/runtime/build_bc_lib.mk
enderScript/runtime/build_clcore.sh
enderScript/runtime/convert.ll
enderScript/runtime/math.ll
enderScript/runtime/matrix.ll
enderScript/runtime/pixel_packing.ll
enderScript/runtime/rs_allocation.c
enderScript/runtime/rs_cl.c
enderScript/runtime/rs_core.c
enderScript/runtime/rs_element.c
enderScript/runtime/rs_mesh.c
enderScript/runtime/rs_program.c
enderScript/runtime/rs_sample.c
enderScript/runtime/rs_sampler.c
enderScript/runtime/rs_structs.h
enderscript/Android.mk
enderscript/RSCompiler.cpp
enderscript/RSCompilerDriver.cpp
enderscript/RSExecutable.cpp
enderscript/RSForEachExpand.cpp
enderscript/RSInfo.cpp
enderscript/RSInfoExtractor.cpp
enderscript/RSInfoReader.cpp
enderscript/RSInfoWriter.cpp
enderscript/RSScript.cpp
enderscript/runtime/Android.mk
enderscript/runtime/arch/generic.c
enderscript/runtime/arch/neon.ll
enderscript/runtime/build_bc_lib.mk
enderscript/runtime/build_clcore.sh
enderscript/runtime/convert.ll
enderscript/runtime/math.ll
enderscript/runtime/matrix.ll
enderscript/runtime/pixel_packing.ll
enderscript/runtime/rs_allocation.c
enderscript/runtime/rs_cl.c
enderscript/runtime/rs_core.c
enderscript/runtime/rs_element.c
enderscript/runtime/rs_mesh.c
enderscript/runtime/rs_program.c
enderscript/runtime/rs_sample.c
enderscript/runtime/rs_sampler.c
enderscript/runtime/rs_structs.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.cpp
ndroidBitcode/Android.mk
6202dda52b7898340aac05e73adebc4fb9199f4d 27-Jul-2012 Shih-wei Liao <sliao@google.com> Add Source::CreateFromFd(). BUG=6886348.

Change-Id: I70bba15b664d6290931faba0482be1241dcc6ede
ore/Source.cpp
f0407796f0c3e16065db7fd61a2b09e27aaac24d 27-Jul-2012 Shih-wei Liao <sliao@google.com> Remove MCLinker headers dependency.

Change-Id: I265770d4157068a934c9ae9d42fdd621b2683a68
ore/Linker.cpp
upport/LinkerConfig.cpp
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
ore/Linker.cpp
upport/TargetLinkerConfigs.cpp
10a9e6a8fef436602cfec041f0a0381f51c73e4a 24-Jul-2012 Shih-wei Liao <sliao@google.com> Fix Mac build breakage.

Change-Id: Id25a77ccb7caa45c85d4654b47f566842efed1ed
enderScript/RSExecutable.cpp
d7f1bd6a5b27212522a59ce94537ac4431a94794 24-Jul-2012 Shih-wei Liao <sliao@google.com> Use USE_DISASSEMBLER and drop the letters "MC".

Change-Id: Iaae9a7c5a252ca5f70b90d434a342a257168d82b
enderScript/RSCompilerDriver.cpp
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/RSCompilerDriver.cpp
enderScript/RSExecutable.cpp
b2b8c64cd0524f9210218df4738f40409631ea26 23-Jul-2012 Shih-wei Liao <sliao@google.com> Add a flag kAppend in FileBase. BUG=6841435.

Change-Id: I03613029e33867bc0ed731f232d1fc4b21c97dd9
upport/FileBase.cpp
c02eae6f35de7dfd92233d591b27c05f15c2a6a1 23-Jul-2012 Shih-wei Liao <sliao@google.com> Add kTruncate in FileBase. BUG=6841435.

And remove O_TRUNC from the default flags to OutputFile.

Change-Id: Id2ff6d5bac319d8be498e438eb3ef84e85573218
enderScript/RSCompilerDriver.cpp
enderScript/RSExecutable.cpp
upport/FileBase.cpp
upport/OutputFile.cpp
388fec12e6bbf5798281d266cac63630bcaba333 23-Jul-2012 Shih-wei Liao <sliao@google.com> bcc::Disassemble() API. BUG=6841435.

Change-Id: Ie249f47ba2856aac300061e53dfd34b3ada999f7
upport/Android.mk
upport/Disassembler.cpp
upport/Initialization.cpp
9cb69f6bd3b537e895f74325c931c989f3df042e 23-Jul-2012 Shih-wei Liao <sliao@google.com> Include MIPS target disassembler. BUG=6841435.

Change-Id: I1cab64a46d155ed1a95d0e9de68a8decb05e3766
upport/Disassembler.cpp
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/ELFObjectLoaderImpl.cpp
xecutionEngine/ELFObjectLoaderImpl.h
xecutionEngine/ObjectLoader.cpp
xecutionEngine/ObjectLoaderImpl.h
ddef99dbfd1a9747c20cdb3d62baa8895a3a561c 23-Jul-2012 Shih-wei Liao <sliao@google.com> Remove the vestige.

Change-Id: I8061e0cb308176937ddcb79456d987d8ea80dbc6
criptCRT/math.ll
1680fe132a911cadd3180ccc682deb4df1fe8e1e 02-Jun-2012 Stephen Hines <srhines@google.com> Add a property for overriding FP precision.

adb shell setprop debug.rs.precision rs_fp_full
adb shell setprop debug.rs.precision rs_fp_relaxed
adb shell setprop debug.rs.precision rs_fp_imprecise

Change-Id: Ic7dcba631aeab1046ce928fe8b09122747939870
xecutionEngine/Script.cpp
49e6b46052bca8f297d2be362cd1d327185b896d 18-Jul-2012 Shih-wei Liao <sliao@google.com> Fix Mac build breakage: Remove 2nd, redundant including of llvm.

Change-Id: Ic428ff290ffd1be11687d8bf1dfa7bc14bcf6a42
ore/Android.mk
upport/Android.mk
d7034fe692d1cbc11b14973c7f003d10f745ac83 17-Jul-2012 Stephen Hines <srhines@google.com> Merge "Add missing min function to neon.ll"
38a1b85339b73c19c2ecba1d6bd5df676bac0385 17-Jul-2012 Rajeev Sharma <rdsharma@google.com> Merge "Add missing min function to neon.ll"
63257a4bb57a737f16c5193f9eed847dcb8fee83 17-Jul-2012 Rajeev Sharma <rdsharma@google.com> Add missing min function to neon.ll

Change-Id: If543a0c6f2a45593307b775cfe29ca21ad52b387
criptCRT/arch/neon.ll
3097748afa9153181e9630b025a6f2ffca7070bb 17-Jul-2012 Rajeev Sharma <rdsharma@google.com> Fix typo in generic.c.

Change-Id: If1bcef8f3d62d400672ba9683b351b6fe411433e
criptCRT/arch/generic.c
3c6ee0b12d1f2724eb7f78cf4c1419aeb3b53e81 17-Jul-2012 Rajeev Sharma <rdsharma@google.com> Merge "Fix typo in generic.c."
93c8832a6916a54d984764bf83a8a77cbae4143b 16-Jul-2012 Shih-wei Liao <sliao@google.com> Linker funtionality based on MCLinker.

Change-Id: I0c0d105a2538f1f8ccf9f6925c027b32da3c9ca8
ore/Android.mk
ore/Linker.cpp
upport/Android.mk
upport/Initialization.cpp
upport/LinkerConfig.cpp
upport/TargetLinkerConfigs.cpp
e6362661bb058a73c63efb11f4f25a63e77cac8c 16-Jul-2012 Shih-wei Liao <sliao@google.com> Add MCLinker hooks to libbcc.

Change-Id: I3f1260537d719f9501a1d6a140f02c258231b7c2
ore/Android.mk
upport/Android.mk
a27e878feeae07d6a3e68e2931f183080a2e63f3 17-Jul-2012 Rajeev Sharma <rdsharma@google.com> Add missing min function to neon.ll

Change-Id: If543a0c6f2a45593307b775cfe29ca21ad52b387
enderScript/runtime/arch/neon.ll
61fa40b67aed880481e799d6646257076486c016 17-Jul-2012 Rajeev Sharma <rdsharma@google.com> Fix typo in generic.c.

Change-Id: If1bcef8f3d62d400672ba9683b351b6fe411433e
enderScript/runtime/arch/generic.c
223f3fefd33e516b3f10c8755418d5dd6c1d3125 17-Jul-2012 Stephen Hines <srhines@google.com> Properly turn NEON on.

BUG=6830374

Without this patch, we will always crash on scripts that use reduced precision.

Change-Id: If046d1a2a70db41bd1c2df8c57e9d7de713c4dc8
upport/TargetCompilerConfigs.cpp
9c25ed5aa03dedae0d489900cffd94ee6329c453 17-Jul-2012 Stephen Hines <srhines@google.com> am a61b122f: Merge "Wire up LLVM intrinsics for sqrt and pow."

* commit 'a61b122ff984c0651836675b7a76d64ee573464e':
Wire up LLVM intrinsics for sqrt and pow.
cb6dda3031f4f8ad4eb03ff77666706bd1f78a4f 11-Jul-2012 Jason Sams <jsams@google.com> Fix return range for rsSample.

bug 6807206
RS sample was not scaling float to 0-1 range.

Change-Id: I5885561b915cf82611ed6bcd9fd9bb4aec16c707
criptCRT/rs_sample.c
7ea913ce7d1151eb9bf455c2dfbe6b32987444f2 17-Jul-2012 Shih-wei Liao <sliao@google.com> Revert "Add MCLinker hooks to libbcc."

This reverts commit c441933658023404534825b8348f83650c8a15ee.
ore/Android.mk
upport/Android.mk
c441933658023404534825b8348f83650c8a15ee 16-Jul-2012 Shih-wei Liao <sliao@google.com> Add MCLinker hooks to libbcc.

Change-Id: I18117700788b685642498f80bbe0433b2fa2d186
ore/Android.mk
upport/Android.mk
28e661a0b8ce57114ad495283addbcb028cd267f 28-Jun-2012 Rajeev Sharma <rdsharma@google.com> Wire up LLVM intrinsics for sqrt and pow.

Change-Id: I2a893f252bbaf688ae8aeed213f96e45aa77228c
criptCRT/Android.mk
criptCRT/math.ll
2e3a024721463a6353a6371416591594e664ef50 19-Jun-2012 Rajeev Sharma <rdsharma@google.com> Add missing conversion functions to convert.ll

Change-Id: I62fc6407bb3b686bd0be46c553bbce5ae97d86c4
criptCRT/convert.ll
criptCRT/rs_cl.c
43afabe189d74b81d343ff3b6d270715edc2d2cc 19-Jun-2012 Rajeev Sharma <rdsharma@google.com> NEON optimized min and max. Fix single-element fmin and fmax.

Change-Id: I95b68e0ea5e2cdb8c2a480eebb006e3af66ff601
criptCRT/arch/generic.c
criptCRT/arch/neon.ll
criptCRT/rs_cl.c
8f569507c283a080041cc82515dc3b03b96c3683 14-Jul-2012 Shih-wei Liao <sliao@google.com> Fix build. Move math.ll.

Change-Id: I2d22e607a7f98d39048c87e65d230758171937da
enderScript/runtime/math.ll
criptCRT/math.ll
b8f9fb12f2d879f8f83e8dda1f302741a124513d 30-Jun-2012 Shih-wei Liao <sliao@google.com> Link against NEON version of libclcore.bc when possible.

Change-Id: I078f64a7e697bd7f0a65f3dc6f30ae017c4ad8b4
enderScript/RSScript.cpp
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/RSCompilerDriver.cpp
enderScript/RSInfo.cpp
ba4206445e192f4c0fa519eae55c4b84cfb0efee 30-Jun-2012 Shih-wei Liao <sliao@google.com> Refactor linking RS runtime after having RSInfo.

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

Change-Id: If23d3b4950ab3f28f8186313ada18d9eeec0e3e6
enderScript/RSInfo.cpp
enderScript/RSInfoExtractor.cpp
c104ec91f241413c38763cba70c8ed02ee82f5a9 26-Apr-2012 Stephen Hines <srhines@google.com> Fix RSExpandForEach pass.

The bug here is that the c_str() storage of a temporary std::string is not
guaranteed to persist beyond the scope of the std::string. In this case, we
were keeping a const char * to freed memory (and using garbage values to
populate our list of functions to keep).

Change-Id: I6e1bd64bbf302c004a34c926b2f7cd643ed98e76
enderScript/RSCompiler.cpp
3a9bbfb248e1728d89defabb18e037df31e29558 25-Apr-2012 Shih-wei Liao <sliao@google.com> Refactoring into lib/RenderScript/runtime.

Change-Id: Ie53d08736f5128739f3da6753174e672a7116119
enderScript/runtime/clamp.ll
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
ore/Android.mk
ore/bcc.cpp
ore/bcc_internal.h
enderScript/RSCompilerDriver.cpp
enderScript/RSInfo.cpp
enderScript/RSInfoExtractor.cpp
enderScript/RSInfoReader.cpp
enderScript/RSScript.cpp
2665c2f94ed14c1d15925d83b47aa519a11dafe5 25-Apr-2012 Shih-wei Liao <sliao@google.com> Link libclcore.bc for RenderScript by default.

Change-Id: I6278bb4183a13ae3485a2afecb6b87ea849ad01e
ore/bcc.cpp
enderScript/RSInfo.cpp
enderScript/RSInfoExtractor.cpp
enderScript/RSScript.cpp
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
ore/bcc.cpp
enderScript/RSInfo.cpp
enderScript/RSInfoExtractor.cpp
upport/Android.mk
upport/Sha1Helper.cpp
upport/Sha1Util.cpp
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
ore/BCCContext.cpp
ore/Compiler.cpp
ore/Source.cpp
ore/bcc.cpp
xecutionEngine/ELFObjectLoaderImpl.cpp
xecutionEngine/ObjectLoader.cpp
enderScript/RSCompiler.cpp
enderScript/RSCompilerDriver.cpp
enderScript/RSExecutable.cpp
enderScript/RSForEachExpand.cpp
enderScript/RSInfo.cpp
enderScript/RSInfoExtractor.cpp
enderScript/RSInfoReader.cpp
enderScript/RSInfoWriter.cpp
enderScript/RSScript.cpp
upport/CompilerConfig.cpp
upport/Disassembler.cpp
upport/Initialization.cpp
upport/InputFile.cpp
upport/OutputFile.cpp
upport/Sha1Helper.cpp
7a5d423014e1cc95e34764b3ddf8e80ace3509b8 12-Apr-2012 Zonr Chang <zonr.net@gmail.com> Get build information in C++ way.

Change-Id: I5d2d2c18192bf9e5d2b9aa5a2bc1cce331191572
ore/bcc.cpp
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
ore/Android.mk
ore/BCCContext.cpp
ore/BCCContextImpl.cpp
ore/BCCContextImpl.h
ore/Compiler.cpp
ore/Script.cpp
ore/Source.cpp
ore/bcc.cpp
ore/bcc_internal.h
isassembler/Android.mk
isassembler/Disassembler.cpp
isassembler/Disassembler.h
xecutionEngine/Android.mk
xecutionEngine/BCCContext.cpp
xecutionEngine/BCCContext.h
xecutionEngine/BCCContextImpl.cpp
xecutionEngine/BCCContextImpl.h
xecutionEngine/BCCRuntimeSymbolResolver.cpp
xecutionEngine/BCCRuntimeSymbolResolver.h
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
xecutionEngine/CompilerConfig.cpp
xecutionEngine/CompilerConfig.h
xecutionEngine/ELFObjectLoaderImpl.cpp
xecutionEngine/File.h
xecutionEngine/FileBase.cpp
xecutionEngine/FileBase.h
xecutionEngine/FileMutex.h
xecutionEngine/GDBJIT.cpp
xecutionEngine/GDBJIT.h
xecutionEngine/GDBJITRegistrar.cpp
xecutionEngine/GDBJITRegistrar.h
xecutionEngine/Initialization.cpp
xecutionEngine/Initialization.h
xecutionEngine/InputFile.cpp
xecutionEngine/InputFile.h
xecutionEngine/ObjectLoader.cpp
xecutionEngine/ObjectLoader.h
xecutionEngine/ObjectLoaderImpl.h
xecutionEngine/OutputFile.cpp
xecutionEngine/OutputFile.h
xecutionEngine/RSCompiler.cpp
xecutionEngine/RSCompiler.h
xecutionEngine/RSCompilerDriver.cpp
xecutionEngine/RSCompilerDriver.h
xecutionEngine/RSExecutable.cpp
xecutionEngine/RSExecutable.h
xecutionEngine/RSForEachExpand.cpp
xecutionEngine/RSInfo.cpp
xecutionEngine/RSInfo.h
xecutionEngine/RSInfoExtractor.cpp
xecutionEngine/RSInfoReader.cpp
xecutionEngine/RSInfoWriter.cpp
xecutionEngine/RSScript.cpp
xecutionEngine/RSScript.h
xecutionEngine/RSTransforms.h
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/Sha1Helper.cpp
xecutionEngine/Sha1Helper.h
xecutionEngine/Source.cpp
xecutionEngine/Source.h
xecutionEngine/SymbolResolverInterface.h
xecutionEngine/SymbolResolverProxy.cpp
xecutionEngine/SymbolResolverProxy.h
xecutionEngine/SymbolResolvers.cpp
xecutionEngine/SymbolResolvers.h
xecutionEngine/TargetCompilerConfigs.cpp
xecutionEngine/TargetCompilerConfigs.h
xecutionEngine/bcc.cpp
xecutionEngine/bcc_internal.h
enderScript/Android.mk
enderScript/RSCompiler.cpp
enderScript/RSCompilerDriver.cpp
enderScript/RSExecutable.cpp
enderScript/RSForEachExpand.cpp
enderScript/RSInfo.cpp
enderScript/RSInfoExtractor.cpp
enderScript/RSInfoReader.cpp
enderScript/RSInfoWriter.cpp
enderScript/RSScript.cpp
enderScript/runtime/Android.mk
enderScript/runtime/arch/generic.c
enderScript/runtime/arch/neon.ll
enderScript/runtime/build_bc_lib.mk
enderScript/runtime/build_clcore.sh
enderScript/runtime/clamp.ll
enderScript/runtime/convert.ll
enderScript/runtime/matrix.ll
enderScript/runtime/pixel_packing.ll
enderScript/runtime/rs_allocation.c
enderScript/runtime/rs_cl.c
enderScript/runtime/rs_core.c
enderScript/runtime/rs_element.c
enderScript/runtime/rs_mesh.c
enderScript/runtime/rs_program.c
enderScript/runtime/rs_sample.c
enderScript/runtime/rs_sampler.c
enderScript/runtime/rs_structs.h
criptCRT/Android.mk
criptCRT/arch/generic.c
criptCRT/arch/neon.ll
criptCRT/build_bc_lib.mk
criptCRT/build_clcore.sh
criptCRT/convert.ll
criptCRT/matrix.ll
criptCRT/pixel_packing.ll
criptCRT/rs_allocation.c
criptCRT/rs_cl.c
criptCRT/rs_core.c
criptCRT/rs_element.c
criptCRT/rs_mesh.c
criptCRT/rs_program.c
criptCRT/rs_sample.c
criptCRT/rs_sampler.c
criptCRT/rs_structs.h
upport/Android.mk
upport/CompilerConfig.cpp
upport/Disassembler.cpp
upport/FileBase.cpp
upport/Initialization.cpp
upport/InputFile.cpp
upport/OutputFile.cpp
upport/Sha1Helper.cpp
upport/TargetCompilerConfigs.cpp
upport/sha1.c
upport/sha1.h
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
isassembler/Android.mk
xecutionEngine/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
isassembler/Disassembler.cpp
xecutionEngine/Android.mk
xecutionEngine/BCCContext.cpp
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
xecutionEngine/CompilerOption.h
xecutionEngine/MCCacheReader.cpp
xecutionEngine/MCCacheReader.h
xecutionEngine/MCCacheWriter.cpp
xecutionEngine/MCCacheWriter.h
xecutionEngine/RSCompiler.cpp
xecutionEngine/RSCompiler.h
xecutionEngine/RSScript.cpp
xecutionEngine/RSScript.h
xecutionEngine/ScriptCached.cpp
xecutionEngine/ScriptCached.h
xecutionEngine/ScriptCompiled.cpp
xecutionEngine/ScriptCompiled.h
xecutionEngine/bcc.cpp
xecutionEngine/bcc_internal.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
xecutionEngine/Android.mk
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
xecutionEngine/RSForEachExpand.cpp
xecutionEngine/RSScript.h
xecutionEngine/RSTransforms.h
ransforms/Android.mk
ransforms/BCCTransforms.h
ransforms/ForEachExpand.cpp
0fffa7e4adc90079dc0f252359050fe872b360dd 12-Apr-2012 Zonr Chang <zonr.net@gmail.com> Introduce RSCompilerDriver.

RSCompilerDriver hosts a Compiler. It brings all things together.
Given a RSScript and its output path, RSCompilerDriver::build()
either loads the object file from the previous built or runs the
compiler to get one.

Change-Id: I9664ac6c91dc5c023d164956b889da9e89807b65
xecutionEngine/RSCompilerDriver.cpp
xecutionEngine/RSCompilerDriver.h
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
xecutionEngine/Android.mk
xecutionEngine/CompilerConfig.cpp
xecutionEngine/CompilerConfig.h
xecutionEngine/Initialization.cpp
xecutionEngine/Initialization.h
xecutionEngine/TargetCompilerConfigs.cpp
xecutionEngine/TargetCompilerConfigs.h
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
xecutionEngine/Android.mk
xecutionEngine/ELFObjectLoaderImpl.cpp
xecutionEngine/ELFObjectLoaderImpl.h
xecutionEngine/ObjectLoader.cpp
xecutionEngine/ObjectLoader.h
xecutionEngine/ObjectLoaderImpl.h
xecutionEngine/RSExecutable.cpp
xecutionEngine/RSExecutable.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
xecutionEngine/Android.mk
xecutionEngine/MCCacheReader.cpp
xecutionEngine/MCCacheReader.h
xecutionEngine/MCCacheWriter.cpp
xecutionEngine/MCCacheWriter.h
xecutionEngine/RSInfo.cpp
xecutionEngine/RSInfo.h
xecutionEngine/RSInfoExtractor.cpp
xecutionEngine/RSInfoReader.cpp
xecutionEngine/RSInfoWriter.cpp
xecutionEngine/RSScript.cpp
xecutionEngine/RSScript.h
xecutionEngine/bcc.cpp
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
xecutionEngine/Android.mk
xecutionEngine/BCCRuntime.def
xecutionEngine/BCCRuntimeStub.c
xecutionEngine/BCCRuntimeStub.h
xecutionEngine/BCCRuntimeSymbolResolver.cpp
xecutionEngine/BCCRuntimeSymbolResolver.h
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
xecutionEngine/MCCacheReader.cpp
xecutionEngine/MCCacheReader.h
xecutionEngine/Runtime.c
xecutionEngine/Runtime.def
xecutionEngine/Runtime.h
xecutionEngine/RuntimeStub.c
xecutionEngine/RuntimeStub.h
xecutionEngine/SymbolResolverInterface.h
xecutionEngine/SymbolResolverProxy.cpp
xecutionEngine/SymbolResolverProxy.h
xecutionEngine/SymbolResolvers.cpp
xecutionEngine/SymbolResolvers.h
af3f1dd50b486b789dcd7c41fb097fbd02213720 22-Jun-2012 Rajeev Sharma <rdsharma@google.com> Improve existing convert functions (remove unnecessary shuffles/widenings)

Change-Id: I3e1e7c1414ab05410be55ed821087bd1f5484dfb
criptCRT/convert.ll
2c7a6ec23864d13da7cbe12ca863d017d9f63fc4 13-Jun-2012 Rajeev Sharma <rdsharma@google.com> Add NEON fmin and fmax functions. Refactor previous files for clamp into general architecture files.

Change-Id: Icc5a0b78ab46c82b62551ae3c6012d5ae740dce0
criptCRT/Android.mk
criptCRT/arch/generic.c
criptCRT/arch/neon.ll
criptCRT/clamp.c
criptCRT/neon/clamp.ll
criptCRT/rs_cl.c
b4f98eab72d121b58a8775083f12143968db7952 11-Jul-2012 Jason Sams <jsams@google.com> Merge "Fix return range for rsSample."
ee4906849895a5f46ac51c17b4e52fa859ad8725 29-Jun-2012 Jason Sams <jsams@google.com> Fix return range for rsSample.

RS sample was not scaling float to 0-1 range.

Change-Id: I5885561b915cf82611ed6bcd9fd9bb4aec16c707
criptCRT/rs_sample.c
cf77331a017f25c2676f224f13d8df7179b2522a 28-Jun-2012 Rajeev Sharma <rdsharma@google.com> Wire up LLVM intrinsics for sqrt and pow.

Change-Id: I2a893f252bbaf688ae8aeed213f96e45aa77228c
criptCRT/Android.mk
criptCRT/math.ll
c996b870ae40603b477a8d7a50f461b82389aaf1 23-Jun-2012 Shih-wei Liao <sliao@google.com> Fix mesh test.

Module name can't be same as variable name.

Change-Id: I061e64a8e7d4ce1c0ca2c63c6ec3ec9de269bc5e
xecutionEngine/Source.cpp
01b196bb32556be241b9f8702355720eef0a99a0 25-Jun-2012 Rajeev Sharma <rdsharma@google.com> Merge "Add missing conversion functions to convert.ll"
d14994d0c77dbd688d6771f5283554aa0ad55808 05-Jun-2012 Shih-wei Liao <sliao@google.com> Handle GCC 4.2 idiosyncracy on Mac.

Change-Id: I722c14e1674bae802048a48e4c3c6a10d5052790
xecutionEngine/InputFile.cpp
xecutionEngine/OutputFile.cpp
e8b283a0581be19344caf4a29dce538b7d046f9d 23-Jun-2012 Shih-wei Liao <sliao@google.com> Merge "Introduce InputFile/OutputFile and FileMutex."
2b0c7cd8d797da292ffd14d7b2a3875f077f47e7 23-Jun-2012 Shih-wei Liao <sliao@google.com> Merge "Introduce new Script class."
81eb33eb7706360800b55e9c4aa49e58e89248aa 19-Jun-2012 Rajeev Sharma <rdsharma@google.com> Add missing conversion functions to convert.ll

Change-Id: I62fc6407bb3b686bd0be46c553bbce5ae97d86c4
criptCRT/convert.ll
criptCRT/rs_cl.c
4b6da5bb89c284f08d1d9cfa6a988e0d0fb7f8a1 19-Jun-2012 Rajeev Sharma <rdsharma@google.com> NEON optimized min and max. Fix single-element fmin and fmax.

Change-Id: I63fd5178a38afe97835fadeeb00ee071f9d49f2b
criptCRT/arch/generic.c
criptCRT/arch/neon.ll
criptCRT/rs_cl.c
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
xecutionEngine/Android.mk
xecutionEngine/Compiler.cpp
xecutionEngine/File.h
xecutionEngine/FileBase.cpp
xecutionEngine/FileBase.h
xecutionEngine/FileHandle.cpp
xecutionEngine/FileHandle.h
xecutionEngine/FileMutex.h
xecutionEngine/InputFile.cpp
xecutionEngine/InputFile.h
xecutionEngine/MCCacheReader.cpp
xecutionEngine/MCCacheReader.h
xecutionEngine/MCCacheWriter.cpp
xecutionEngine/MCCacheWriter.h
xecutionEngine/OutputFile.cpp
xecutionEngine/OutputFile.h
xecutionEngine/RSScript.cpp
xecutionEngine/Sha1Helper.cpp
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
xecutionEngine/Android.mk
xecutionEngine/MCCacheWriter.cpp
xecutionEngine/MCCacheWriter.h
xecutionEngine/RSScript.cpp
xecutionEngine/RSScript.h
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/ScriptCompiled.h
xecutionEngine/bcc.cpp
xecutionEngine/bcc_internal.h
504f71241a4208258e594900e5a9090efc3439a9 22-Jun-2012 Rajeev Sharma <rdsharma@google.com> Merge "Improve existing convert functions (remove unnecessary shuffles/widenings)"
3ebd16f5f68606363ae395174d2a3be443caa8f9 22-Jun-2012 Rajeev Sharma <rdsharma@google.com> Improve existing convert functions (remove unnecessary shuffles/widenings)

Change-Id: I3e1e7c1414ab05410be55ed821087bd1f5484dfb
criptCRT/convert.ll
89a115c0899c100c1009bf5c2a2b86dd89776457 22-Jun-2012 Stephen Hines <srhines@google.com> Pass +long64 flag when compiling Renderscript's runtime library.

BUG=6690719

Change-Id: I2c7bf2b9dc208b3bdd684fabd654fafe5fe58da6
criptCRT/build_bc_lib.mk
5678001d1868ba53a9cc79fea6c13eac687e5145 22-Jun-2012 Stephen Hines <srhines@google.com> Merge "Provide support for Disassembler again."
d55f9d14066b23c6dc0753255a3a953d9af0ab1c 21-Jun-2012 Stephen Hines <srhines@google.com> Provide support for Disassembler again.

Change-Id: I83296c2304b36823f76ade7e120ee235e710e5a1
isassembler/Disassembler.cpp
3d11147050399e4c208b6f653d5526be77770318 19-Jun-2012 Jean-Baptiste Queru <jbq@google.com> am ca1904d4: am 1957e34d: Merge "Add missed compiler support function for "/" and "%""

* commit 'ca1904d414062a381350f9081089f32ff12b7006':
Add missed compiler support function for "/" and "%"
ca1904d414062a381350f9081089f32ff12b7006 19-Jun-2012 Jean-Baptiste Queru <jbq@google.com> am 1957e34d: Merge "Add missed compiler support function for "/" and "%""

* commit '1957e34d4367bba5ab414ab8097044afcb3e591b':
Add missed compiler support function for "/" and "%"
b4164724bec8964a8424e27ab1898236128ab640 10-Feb-2012 xqian6 <xi.qian@intel.com> Add missed compiler support function for "/" and "%"

i386 does not support div for 64bit integer. Thus llvm will generate
intrinsic call (__udivdi3, __divdi3, __moddi3 and __umoddi3) for "/"
and "%" of 64bit integer.

These intrinsic functions are missed in libbcc intrinsic function table
on i386 platform. It causes symbol missing failure in basic operator
test. This change adds them into the table and fixes the problem.

Change-Id: Iea58dced1776a2dc872ff399c41394bbeca4b04d
xecutionEngine/Runtime.def
xecutionEngine/RuntimeStub.h
ec8e68d5bb2588dcf6b5e389ef592f0f1d0739a6 13-Jun-2012 Jason Sams <jsams@google.com> Add yuv to rgb intrinsics.

Change-Id: I451a5075ea61f9f492f78ebb6d5d1bc74aca0d16
criptCRT/arch/generic.c
criptCRT/arch/neon.ll
606cb796e20c766b347eca2bc3d499fce1fbcc62 13-Jun-2012 Rajeev Sharma <rdsharma@google.com> Merge "Add NEON fmin and fmax functions. Refactor previous files for clamp into general architecture files."
a08e47801f1c220fb4ebbd4e9c046e0d30408c4d 13-Jun-2012 Rajeev Sharma <rdsharma@google.com> Add NEON fmin and fmax functions. Refactor previous files for clamp into general architecture files.

Change-Id: Icc5a0b78ab46c82b62551ae3c6012d5ae740dce0
criptCRT/Android.mk
criptCRT/arch/generic.c
criptCRT/arch/neon.ll
criptCRT/clamp.c
criptCRT/neon/clamp.ll
criptCRT/rs_cl.c
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
xecutionEngine/Android.mk
xecutionEngine/BCCContext.cpp
xecutionEngine/BCCContext.h
xecutionEngine/BCCContextImpl.cpp
xecutionEngine/BCCContextImpl.h
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
xecutionEngine/CompilerOption.h
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/ScriptCompiled.h
xecutionEngine/Source.cpp
xecutionEngine/Source.h
xecutionEngine/SourceInfo.cpp
xecutionEngine/SourceInfo.h
xecutionEngine/bcc.cpp
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
xecutionEngine/Android.mk
xecutionEngine/BCCContext.cpp
xecutionEngine/BCCContext.h
xecutionEngine/BCCContextImpl.h
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/SourceInfo.cpp
xecutionEngine/SourceInfo.h
85d9de7369d2002957ecc93afc9a91d8b59c4683 09-Jun-2012 Jason Sams <jsams@google.com> Merge "Add vector version of angle conversion funcs."
ecdfcd043b94b6b5398fa5b9e2aaead2fce3830b 09-Jun-2012 Jason Sams <jsams@google.com> Add vector version of angle conversion funcs.

Change-Id: Ic9a9dfb49864dd3ca29d727ceb8216849e514d59
criptCRT/rs_cl.c
8fbde10da2bcce8316fd769a5a175218feb1023b 12-Apr-2012 Zonr Chang <zonr.net@gmail.com> Remove USE_LOGGER and DebugHelper.c.

USE_LOGGER is always enabled.

DebugHelper.c is no longer required since liblog which containing
these functions is statically linked into libbcc for the host build.

Change-Id: I9919827b1f8c12c89ead107a546d7d1b9e12a076
xecutionEngine/FileHandle.cpp
e35a905ec5924695a93c0fcb0789a3a82e786ca3 02-Jun-2012 Jason Sams <jsams@google.com> Fix mad performance.

Change-Id: Ia706369deee1efc65e1b2cd2e1eb89db53c0c5cf
criptCRT/rs_cl.c
4db5fa51820a413f1fbdb77d6908003987d71642 07-Jun-2012 Stephen Hines <srhines@google.com> Merge "Add a property for overriding FP precision."
3f0012721afb0f31aed4875f390739c31e09d3c8 02-Jun-2012 Jason Sams <jsams@google.com> Fix mad performance.

Change-Id: Ia706369deee1efc65e1b2cd2e1eb89db53c0c5cf
criptCRT/rs_cl.c
32c56ecf42ad3d99d40e9bf1ac2a097d27f12744 02-Jun-2012 Stephen Hines <srhines@google.com> Add a property for overriding FP precision.

adb shell setprop debug.rs.precision rs_fp_full
adb shell setprop debug.rs.precision rs_fp_relaxed
adb shell setprop debug.rs.precision rs_fp_imprecise

Change-Id: Ic7dcba631aeab1046ce928fe8b09122747939870
xecutionEngine/Script.cpp
cfee7e990e3c2ecad2cb3396c726c5b30fc509d2 15-May-2012 Stephen Hines <srhines@google.com> Remove rsDebug() helpers for float vector types.

This is now able to be handled directly by libRS, since we build it with Clang.

Change-Id: I0df64a363ed42357e758f2a7158a62f8fe85000c
criptCRT/rs_core.c
fc2747709d3628132c31ac3a53bc06d3c18976ca 10-May-2012 Stephen Hines <srhines@google.com> Properly handle turning off NEON on ARM devices.

BUG=6127576

Change-Id: I82880a9ef92a3222b5a15e663104aad4bf508392
xecutionEngine/Compiler.cpp
43b3727e5c4f6bcd03ea4fdfbae1c205ace798a6 09-May-2012 Stephen Hines <srhines@google.com> Support building a NEON-enabled libclcore.bc.

BUG=6127576

Change-Id: Id61e47a7459fcd929217c6c5b53a6222067e4aa9
criptCRT/Android.mk
criptCRT/build_bc_lib.mk
e708ffe612f4566bea20334d2c9dac34db508e6e 04-May-2012 Stephen Hines <srhines@google.com> Update to new llvm::MemoryBuffer::getMemBuffer() interface.

The latest version of this function checks whether the incoming buffer is
NULL-terminated. In the case of bitcode, this is not true, so we need to pass
additional arguments to the function to ensure that the assert doesn't trip.

Change-Id: Iaab9bdea67387dfaa88dde1f408cfcf654a741af
xecutionEngine/SourceInfo.cpp
802d1384b9d2285780fd709222793e33c68c62b2 03-May-2012 Stephen Hines <srhines@google.com> Revert "Remove USE_LOGGER and DebugHelper.c."

This reverts commit 57b933381b96bf9e5a80030aa9693dafabd66783.
xecutionEngine/FileHandle.cpp
274926b0bcde562d51cbcf401a6f4a20cc2ddd70 03-May-2012 Stephen Hines <srhines@google.com> Revert "Add BCCContext."

This reverts commit c09dee62ae85df78e72f77900501a359f4a9fd99.
xecutionEngine/Android.mk
xecutionEngine/BCCContext.cpp
xecutionEngine/BCCContext.h
xecutionEngine/BCCContextImpl.h
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/SourceInfo.cpp
xecutionEngine/SourceInfo.h
ead5ccba05af33df1a061b39847a9be137c00143 03-May-2012 Stephen Hines <srhines@google.com> Revert "Refactor SourceInfo into Source."

This reverts commit 4ce024bcff99bb154f44a73f4cf6201a0fe75917.
xecutionEngine/Android.mk
xecutionEngine/BCCContext.cpp
xecutionEngine/BCCContext.h
xecutionEngine/BCCContextImpl.cpp
xecutionEngine/BCCContextImpl.h
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
xecutionEngine/CompilerOption.h
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/ScriptCompiled.h
xecutionEngine/Source.cpp
xecutionEngine/Source.h
xecutionEngine/SourceInfo.cpp
xecutionEngine/SourceInfo.h
xecutionEngine/bcc.cpp
97c92c2d0604ea9cc4cd878f0f1901efc79c8835 03-May-2012 Stephen Hines <srhines@google.com> Revert "Introduce new Script class."

This reverts commit 19218c0731e8172bd0af476779a57da4c30ec77d.
xecutionEngine/Android.mk
xecutionEngine/MCCacheWriter.cpp
xecutionEngine/MCCacheWriter.h
xecutionEngine/RSScript.cpp
xecutionEngine/RSScript.h
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/ScriptCompiled.h
xecutionEngine/bcc.cpp
xecutionEngine/bcc_internal.h
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
xecutionEngine/Android.mk
xecutionEngine/Compiler.cpp
xecutionEngine/File.h
xecutionEngine/FileBase.cpp
xecutionEngine/FileBase.h
xecutionEngine/FileHandle.cpp
xecutionEngine/FileHandle.h
xecutionEngine/FileMutex.h
xecutionEngine/InputFile.cpp
xecutionEngine/InputFile.h
xecutionEngine/MCCacheReader.cpp
xecutionEngine/MCCacheReader.h
xecutionEngine/MCCacheWriter.cpp
xecutionEngine/MCCacheWriter.h
xecutionEngine/OutputFile.cpp
xecutionEngine/OutputFile.h
xecutionEngine/RSScript.cpp
xecutionEngine/Sha1Helper.cpp
5fb1474ac61aa87a2622661e1708672ef96ec8c0 03-May-2012 Stephen Hines <srhines@google.com> Revert "Introduce SymbolResolver and its subclasses."

This reverts commit ee69009f3590748aac4db17c0f9774252326d6cb.
xecutionEngine/Android.mk
xecutionEngine/BCCRuntime.def
xecutionEngine/BCCRuntimeStub.c
xecutionEngine/BCCRuntimeStub.h
xecutionEngine/BCCRuntimeSymbolResolver.cpp
xecutionEngine/BCCRuntimeSymbolResolver.h
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
xecutionEngine/MCCacheReader.cpp
xecutionEngine/MCCacheReader.h
xecutionEngine/Runtime.c
xecutionEngine/Runtime.def
xecutionEngine/Runtime.h
xecutionEngine/RuntimeStub.c
xecutionEngine/RuntimeStub.h
xecutionEngine/SymbolResolverInterface.h
xecutionEngine/SymbolResolverProxy.cpp
xecutionEngine/SymbolResolverProxy.h
xecutionEngine/SymbolResolvers.cpp
xecutionEngine/SymbolResolvers.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
xecutionEngine/Android.mk
xecutionEngine/MCCacheReader.cpp
xecutionEngine/MCCacheReader.h
xecutionEngine/MCCacheWriter.cpp
xecutionEngine/MCCacheWriter.h
xecutionEngine/RSInfo.cpp
xecutionEngine/RSInfo.h
xecutionEngine/RSInfoExtractor.cpp
xecutionEngine/RSInfoReader.cpp
xecutionEngine/RSInfoWriter.cpp
xecutionEngine/RSScript.cpp
xecutionEngine/RSScript.h
xecutionEngine/bcc.cpp
addca8fc02254162220f6d512c59c84d65f44d2d 03-May-2012 Stephen Hines <srhines@google.com> Revert "Introduce ObjectLoader and RSExecutable."

This reverts commit bf6498ed6b222694ee42c4adda14015d45ca2a3d.
xecutionEngine/Android.mk
xecutionEngine/ELFObjectLoaderImpl.cpp
xecutionEngine/ELFObjectLoaderImpl.h
xecutionEngine/ObjectLoader.cpp
xecutionEngine/ObjectLoader.h
xecutionEngine/ObjectLoaderImpl.h
xecutionEngine/RSExecutable.cpp
xecutionEngine/RSExecutable.h
ffbfa1016fcc7e6cd48528e7b64aaaff191d0202 03-May-2012 Stephen Hines <srhines@google.com> Revert "Introduce CompilerConfig."

This reverts commit 8b2c3e72f7652bd579bf0467b333090ff7730390.
xecutionEngine/Android.mk
xecutionEngine/CompilerConfig.cpp
xecutionEngine/CompilerConfig.h
xecutionEngine/Initialization.cpp
xecutionEngine/Initialization.h
xecutionEngine/TargetCompilerConfigs.cpp
xecutionEngine/TargetCompilerConfigs.h
91efcb0c48885d88f7682d36667d541a342f4a5e 03-May-2012 Stephen Hines <srhines@google.com> Revert "Introduce RSCompilerDriver."

This reverts commit 64a2af1546d6ec98eeb845833e626f87f53d2641.
xecutionEngine/RSCompilerDriver.cpp
xecutionEngine/RSCompilerDriver.h
09ebd17a324628b420f091fd1a05a139c6d07d2b 03-May-2012 Stephen Hines <srhines@google.com> Revert "Merge lib/Transforms into lib/ExecutionEngine."

This reverts commit cd52b55716a2e4d78b0a6609b041c3aeb45b40f2.
xecutionEngine/Android.mk
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
xecutionEngine/RSForEachExpand.cpp
xecutionEngine/RSScript.h
xecutionEngine/RSTransforms.h
ransforms/Android.mk
ransforms/BCCTransforms.h
ransforms/ForEachExpand.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
isassembler/Disassembler.cpp
xecutionEngine/Android.mk
xecutionEngine/BCCContext.cpp
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
xecutionEngine/CompilerOption.h
xecutionEngine/MCCacheReader.cpp
xecutionEngine/MCCacheReader.h
xecutionEngine/MCCacheWriter.cpp
xecutionEngine/MCCacheWriter.h
xecutionEngine/RSCompiler.cpp
xecutionEngine/RSCompiler.h
xecutionEngine/RSScript.cpp
xecutionEngine/RSScript.h
xecutionEngine/ScriptCached.cpp
xecutionEngine/ScriptCached.h
xecutionEngine/ScriptCompiled.cpp
xecutionEngine/ScriptCompiled.h
xecutionEngine/bcc.cpp
xecutionEngine/bcc_internal.h
b8ef690813bf3b32f996afb0ddc048c5bb23c8f5 03-May-2012 Stephen Hines <srhines@google.com> Revert "Refine the makefiles."

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

This reverts commit 80232dd16c0affb2afae01cde6c94abf23ac1ba8.
ore/Android.mk
ore/BCCContext.cpp
ore/BCCContextImpl.cpp
ore/BCCContextImpl.h
ore/Compiler.cpp
ore/Script.cpp
ore/Source.cpp
ore/bcc.cpp
ore/bcc_internal.h
isassembler/Android.mk
isassembler/Disassembler.cpp
isassembler/Disassembler.h
xecutionEngine/Android.mk
xecutionEngine/BCCContext.cpp
xecutionEngine/BCCContext.h
xecutionEngine/BCCContextImpl.cpp
xecutionEngine/BCCContextImpl.h
xecutionEngine/BCCRuntimeSymbolResolver.cpp
xecutionEngine/BCCRuntimeSymbolResolver.h
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
xecutionEngine/CompilerConfig.cpp
xecutionEngine/CompilerConfig.h
xecutionEngine/ELFObjectLoaderImpl.cpp
xecutionEngine/File.h
xecutionEngine/FileBase.cpp
xecutionEngine/FileBase.h
xecutionEngine/FileMutex.h
xecutionEngine/GDBJIT.cpp
xecutionEngine/GDBJIT.h
xecutionEngine/GDBJITRegistrar.cpp
xecutionEngine/GDBJITRegistrar.h
xecutionEngine/Initialization.cpp
xecutionEngine/Initialization.h
xecutionEngine/InputFile.cpp
xecutionEngine/InputFile.h
xecutionEngine/ObjectLoader.cpp
xecutionEngine/ObjectLoader.h
xecutionEngine/ObjectLoaderImpl.h
xecutionEngine/OutputFile.cpp
xecutionEngine/OutputFile.h
xecutionEngine/RSCompiler.cpp
xecutionEngine/RSCompiler.h
xecutionEngine/RSCompilerDriver.cpp
xecutionEngine/RSCompilerDriver.h
xecutionEngine/RSExecutable.cpp
xecutionEngine/RSExecutable.h
xecutionEngine/RSForEachExpand.cpp
xecutionEngine/RSInfo.cpp
xecutionEngine/RSInfo.h
xecutionEngine/RSInfoExtractor.cpp
xecutionEngine/RSInfoReader.cpp
xecutionEngine/RSInfoWriter.cpp
xecutionEngine/RSScript.cpp
xecutionEngine/RSScript.h
xecutionEngine/RSTransforms.h
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/Sha1Helper.cpp
xecutionEngine/Sha1Helper.h
xecutionEngine/Source.cpp
xecutionEngine/Source.h
xecutionEngine/SymbolResolverInterface.h
xecutionEngine/SymbolResolverProxy.cpp
xecutionEngine/SymbolResolverProxy.h
xecutionEngine/SymbolResolvers.cpp
xecutionEngine/SymbolResolvers.h
xecutionEngine/TargetCompilerConfigs.cpp
xecutionEngine/TargetCompilerConfigs.h
xecutionEngine/bcc.cpp
xecutionEngine/bcc_internal.h
enderScript/Android.mk
enderScript/RSCompiler.cpp
enderScript/RSCompilerDriver.cpp
enderScript/RSExecutable.cpp
enderScript/RSForEachExpand.cpp
enderScript/RSInfo.cpp
enderScript/RSInfoExtractor.cpp
enderScript/RSInfoReader.cpp
enderScript/RSInfoWriter.cpp
enderScript/RSScript.cpp
enderScript/runtime/Android.mk
enderScript/runtime/build_clcore.sh
enderScript/runtime/clamp.ll
enderScript/runtime/convert.ll
enderScript/runtime/matrix.ll
enderScript/runtime/pixel_packing.ll
enderScript/runtime/rs_allocation.c
enderScript/runtime/rs_cl.c
enderScript/runtime/rs_core.c
enderScript/runtime/rs_element.c
enderScript/runtime/rs_mesh.c
enderScript/runtime/rs_program.c
enderScript/runtime/rs_sample.c
enderScript/runtime/rs_sampler.c
enderScript/runtime/rs_structs.h
criptCRT/Android.mk
criptCRT/build_clcore.sh
criptCRT/convert.ll
criptCRT/matrix.ll
criptCRT/pixel_packing.ll
criptCRT/rs_allocation.c
criptCRT/rs_cl.c
criptCRT/rs_core.c
criptCRT/rs_element.c
criptCRT/rs_mesh.c
criptCRT/rs_program.c
criptCRT/rs_sample.c
criptCRT/rs_sampler.c
criptCRT/rs_structs.h
upport/Android.mk
upport/CompilerConfig.cpp
upport/Disassembler.cpp
upport/FileBase.cpp
upport/Initialization.cpp
upport/InputFile.cpp
upport/OutputFile.cpp
upport/Sha1Helper.cpp
upport/TargetCompilerConfigs.cpp
upport/sha1.c
upport/sha1.h
aa72a210b0f73671b01984020a74360c10427e31 03-May-2012 Stephen Hines <srhines@google.com> Revert "Get build information in C++ way."

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

This reverts commit b519fe3f1d780873608f41d69316054e05c7e918.
ore/BCCContext.cpp
ore/Compiler.cpp
ore/Source.cpp
ore/bcc.cpp
xecutionEngine/ELFObjectLoaderImpl.cpp
xecutionEngine/ObjectLoader.cpp
enderScript/RSCompiler.cpp
enderScript/RSCompilerDriver.cpp
enderScript/RSExecutable.cpp
enderScript/RSForEachExpand.cpp
enderScript/RSInfo.cpp
enderScript/RSInfoExtractor.cpp
enderScript/RSInfoReader.cpp
enderScript/RSInfoWriter.cpp
enderScript/RSScript.cpp
upport/CompilerConfig.cpp
upport/Disassembler.cpp
upport/Initialization.cpp
upport/InputFile.cpp
upport/OutputFile.cpp
upport/Sha1Helper.cpp
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
ore/bcc.cpp
enderScript/RSInfo.cpp
enderScript/RSInfoExtractor.cpp
upport/Android.mk
upport/Sha1Helper.cpp
upport/Sha1Util.cpp
c4fba3156a3fefef4d5893031d37a5b6b4373896 03-May-2012 Stephen Hines <srhines@google.com> Revert "Link libclcore.bc for RenderScript by default."

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

This reverts commit 170d420231f10d5b914fde505202c58f11f43e27.
ore/Android.mk
ore/bcc.cpp
ore/bcc_internal.h
enderScript/RSCompilerDriver.cpp
enderScript/RSInfo.cpp
enderScript/RSInfoExtractor.cpp
enderScript/RSInfoReader.cpp
enderScript/RSScript.cpp
8709b1e2caaca34a0d8360d62f2a582b58101846 03-May-2012 Stephen Hines <srhines@google.com> Revert "Refactoring into lib/RenderScript/runtime."

This reverts commit 1708c426565e100f9a7adaddb874029adc343d02.
enderScript/runtime/clamp.c
enderScript/runtime/clamp.ll
enderScript/runtime/neon/clamp.ll
criptCRT/clamp.c
criptCRT/neon/clamp.ll
a34cc2aa2a70a4cff57579aea884b3f1227f5f49 03-May-2012 Stephen Hines <srhines@google.com> Fix assert.
enderScript/RSInfoExtractor.cpp
03c5eed1397f13d86675c4566ea96e2d88cca54f 01-May-2012 Jason Sams <jsams@google.com> Fix bug in pixel packing code.

BUG=5878222

Change-Id: I979d8ca1534b31891abf05d0482ea79753d0d9cd
enderScript/runtime/pixel_packing.ll
a624616e99260f7e49f65113cfee5050087d36cf 26-Apr-2012 Stephen Hines <srhines@google.com> Fix RSExpandForEach pass.

The bug here is that the c_str() storage of a temporary std::string is not
guaranteed to persist beyond the scope of the std::string. In this case, we
were keeping a const char * to freed memory (and using garbage values to
populate our list of functions to keep).

Change-Id: I40712471c05dec1847c08dee1d6db13070c3e6ac
enderScript/RSCompiler.cpp
eee91d73534835e42c4011c5e8bb051be86c6694 25-Apr-2012 Shih-wei Liao <sliao@google.com> Fix MAC build. Format requires %zu.

Change-Id: Ic837fa67d12a0de385c2c6f79a8e641434884d72
upport/OutputFile.cpp
cff7ac284b9581d1f4b5cce7f4731308faa4a956 25-Apr-2012 Shih-wei Liao <sliao@google.com> Fix MAC build. Use %zu.

Change-Id: If2b8fd73f86264bf39da3d17c598fec720c5e2f6
upport/InputFile.cpp
1708c426565e100f9a7adaddb874029adc343d02 25-Apr-2012 Shih-wei Liao <sliao@google.com> Refactoring into lib/RenderScript/runtime.

Change-Id: Ie23bc68dd5fda28b7b9ed221771ff901f6d0700d
enderScript/runtime/clamp.c
enderScript/runtime/clamp.ll
enderScript/runtime/neon/clamp.ll
criptCRT/clamp.c
criptCRT/neon/clamp.ll
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
ore/Android.mk
ore/bcc.cpp
ore/bcc_internal.h
enderScript/RSCompilerDriver.cpp
enderScript/RSInfo.cpp
enderScript/RSInfoExtractor.cpp
enderScript/RSInfoReader.cpp
enderScript/RSScript.cpp
0467d9a53b20f8c9069019cde9f035c127acbc9a 25-Apr-2012 Shih-wei Liao <sliao@google.com> Link libclcore.bc for RenderScript by default.

Change-Id: I93eb5a09689373afa973b8c08dd0842152220217
ore/bcc.cpp
enderScript/RSInfo.cpp
enderScript/RSInfoExtractor.cpp
enderScript/RSScript.cpp
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.
ore/bcc.cpp
enderScript/RSInfo.cpp
enderScript/RSInfoExtractor.cpp
upport/Android.mk
upport/Sha1Helper.cpp
upport/Sha1Util.cpp
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.
ore/BCCContext.cpp
ore/Compiler.cpp
ore/Source.cpp
ore/bcc.cpp
xecutionEngine/ELFObjectLoaderImpl.cpp
xecutionEngine/ObjectLoader.cpp
enderScript/RSCompiler.cpp
enderScript/RSCompilerDriver.cpp
enderScript/RSExecutable.cpp
enderScript/RSForEachExpand.cpp
enderScript/RSInfo.cpp
enderScript/RSInfoExtractor.cpp
enderScript/RSInfoReader.cpp
enderScript/RSInfoWriter.cpp
enderScript/RSScript.cpp
upport/CompilerConfig.cpp
upport/Disassembler.cpp
upport/Initialization.cpp
upport/InputFile.cpp
upport/OutputFile.cpp
upport/Sha1Helper.cpp
44d991658dbd5b80648a3944f1760ad19bbcac09 12-Apr-2012 Zonr Chang <zonr.net@gmail.com> Get build information in C++ way.
ore/bcc.cpp
80232dd16c0affb2afae01cde6c94abf23ac1ba8 12-Apr-2012 Zonr Chang <zonr.net@gmail.com> Make libbcc public.

This commit is not expected to change any functionality.
ore/Android.mk
ore/BCCContext.cpp
ore/BCCContextImpl.cpp
ore/BCCContextImpl.h
ore/Compiler.cpp
ore/Script.cpp
ore/Source.cpp
ore/bcc.cpp
ore/bcc_internal.h
isassembler/Android.mk
isassembler/Disassembler.cpp
isassembler/Disassembler.h
xecutionEngine/Android.mk
xecutionEngine/BCCContext.cpp
xecutionEngine/BCCContext.h
xecutionEngine/BCCContextImpl.cpp
xecutionEngine/BCCContextImpl.h
xecutionEngine/BCCRuntimeSymbolResolver.cpp
xecutionEngine/BCCRuntimeSymbolResolver.h
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
xecutionEngine/CompilerConfig.cpp
xecutionEngine/CompilerConfig.h
xecutionEngine/ELFObjectLoaderImpl.cpp
xecutionEngine/File.h
xecutionEngine/FileBase.cpp
xecutionEngine/FileBase.h
xecutionEngine/FileMutex.h
xecutionEngine/GDBJIT.cpp
xecutionEngine/GDBJIT.h
xecutionEngine/GDBJITRegistrar.cpp
xecutionEngine/GDBJITRegistrar.h
xecutionEngine/Initialization.cpp
xecutionEngine/Initialization.h
xecutionEngine/InputFile.cpp
xecutionEngine/InputFile.h
xecutionEngine/ObjectLoader.cpp
xecutionEngine/ObjectLoader.h
xecutionEngine/ObjectLoaderImpl.h
xecutionEngine/OutputFile.cpp
xecutionEngine/OutputFile.h
xecutionEngine/RSCompiler.cpp
xecutionEngine/RSCompiler.h
xecutionEngine/RSCompilerDriver.cpp
xecutionEngine/RSCompilerDriver.h
xecutionEngine/RSExecutable.cpp
xecutionEngine/RSExecutable.h
xecutionEngine/RSForEachExpand.cpp
xecutionEngine/RSInfo.cpp
xecutionEngine/RSInfo.h
xecutionEngine/RSInfoExtractor.cpp
xecutionEngine/RSInfoReader.cpp
xecutionEngine/RSInfoWriter.cpp
xecutionEngine/RSScript.cpp
xecutionEngine/RSScript.h
xecutionEngine/RSTransforms.h
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/Sha1Helper.cpp
xecutionEngine/Sha1Helper.h
xecutionEngine/Source.cpp
xecutionEngine/Source.h
xecutionEngine/SymbolResolverInterface.h
xecutionEngine/SymbolResolverProxy.cpp
xecutionEngine/SymbolResolverProxy.h
xecutionEngine/SymbolResolvers.cpp
xecutionEngine/SymbolResolvers.h
xecutionEngine/TargetCompilerConfigs.cpp
xecutionEngine/TargetCompilerConfigs.h
xecutionEngine/bcc.cpp
xecutionEngine/bcc_internal.h
enderScript/Android.mk
enderScript/RSCompiler.cpp
enderScript/RSCompilerDriver.cpp
enderScript/RSExecutable.cpp
enderScript/RSForEachExpand.cpp
enderScript/RSInfo.cpp
enderScript/RSInfoExtractor.cpp
enderScript/RSInfoReader.cpp
enderScript/RSInfoWriter.cpp
enderScript/RSScript.cpp
enderScript/runtime/Android.mk
enderScript/runtime/build_clcore.sh
enderScript/runtime/clamp.ll
enderScript/runtime/convert.ll
enderScript/runtime/matrix.ll
enderScript/runtime/pixel_packing.ll
enderScript/runtime/rs_allocation.c
enderScript/runtime/rs_cl.c
enderScript/runtime/rs_core.c
enderScript/runtime/rs_element.c
enderScript/runtime/rs_mesh.c
enderScript/runtime/rs_program.c
enderScript/runtime/rs_sample.c
enderScript/runtime/rs_sampler.c
enderScript/runtime/rs_structs.h
criptCRT/Android.mk
criptCRT/build_clcore.sh
criptCRT/convert.ll
criptCRT/matrix.ll
criptCRT/pixel_packing.ll
criptCRT/rs_allocation.c
criptCRT/rs_cl.c
criptCRT/rs_core.c
criptCRT/rs_element.c
criptCRT/rs_mesh.c
criptCRT/rs_program.c
criptCRT/rs_sample.c
criptCRT/rs_sampler.c
criptCRT/rs_structs.h
upport/Android.mk
upport/CompilerConfig.cpp
upport/Disassembler.cpp
upport/FileBase.cpp
upport/Initialization.cpp
upport/InputFile.cpp
upport/OutputFile.cpp
upport/Sha1Helper.cpp
upport/TargetCompilerConfigs.cpp
upport/sha1.c
upport/sha1.h
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.
isassembler/Android.mk
xecutionEngine/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.
isassembler/Disassembler.cpp
xecutionEngine/Android.mk
xecutionEngine/BCCContext.cpp
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
xecutionEngine/CompilerOption.h
xecutionEngine/MCCacheReader.cpp
xecutionEngine/MCCacheReader.h
xecutionEngine/MCCacheWriter.cpp
xecutionEngine/MCCacheWriter.h
xecutionEngine/RSCompiler.cpp
xecutionEngine/RSCompiler.h
xecutionEngine/RSScript.cpp
xecutionEngine/RSScript.h
xecutionEngine/ScriptCached.cpp
xecutionEngine/ScriptCached.h
xecutionEngine/ScriptCompiled.cpp
xecutionEngine/ScriptCompiled.h
xecutionEngine/bcc.cpp
xecutionEngine/bcc_internal.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
xecutionEngine/Android.mk
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
xecutionEngine/RSForEachExpand.cpp
xecutionEngine/RSScript.h
xecutionEngine/RSTransforms.h
ransforms/Android.mk
ransforms/BCCTransforms.h
ransforms/ForEachExpand.cpp
64a2af1546d6ec98eeb845833e626f87f53d2641 12-Apr-2012 Zonr Chang <zonr.net@gmail.com> Introduce RSCompilerDriver.

RSCompilerDriver hosts a Compiler. It brings all things together.
Given a RSScript and its output path, RSCompilerDriver::build()
either loads the object file from the previous built or runs the
compiler to get one.
xecutionEngine/RSCompilerDriver.cpp
xecutionEngine/RSCompilerDriver.h
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().
xecutionEngine/Android.mk
xecutionEngine/CompilerConfig.cpp
xecutionEngine/CompilerConfig.h
xecutionEngine/Initialization.cpp
xecutionEngine/Initialization.h
xecutionEngine/TargetCompilerConfigs.cpp
xecutionEngine/TargetCompilerConfigs.h
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.
xecutionEngine/Android.mk
xecutionEngine/ELFObjectLoaderImpl.cpp
xecutionEngine/ELFObjectLoaderImpl.h
xecutionEngine/ObjectLoader.cpp
xecutionEngine/ObjectLoader.h
xecutionEngine/ObjectLoaderImpl.h
xecutionEngine/RSExecutable.cpp
xecutionEngine/RSExecutable.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.
xecutionEngine/Android.mk
xecutionEngine/MCCacheReader.cpp
xecutionEngine/MCCacheReader.h
xecutionEngine/MCCacheWriter.cpp
xecutionEngine/MCCacheWriter.h
xecutionEngine/RSInfo.cpp
xecutionEngine/RSInfo.h
xecutionEngine/RSInfoExtractor.cpp
xecutionEngine/RSInfoReader.cpp
xecutionEngine/RSInfoWriter.cpp
xecutionEngine/RSScript.cpp
xecutionEngine/RSScript.h
xecutionEngine/bcc.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.
xecutionEngine/Android.mk
xecutionEngine/BCCRuntime.def
xecutionEngine/BCCRuntimeStub.c
xecutionEngine/BCCRuntimeStub.h
xecutionEngine/BCCRuntimeSymbolResolver.cpp
xecutionEngine/BCCRuntimeSymbolResolver.h
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
xecutionEngine/MCCacheReader.cpp
xecutionEngine/MCCacheReader.h
xecutionEngine/Runtime.c
xecutionEngine/Runtime.def
xecutionEngine/Runtime.h
xecutionEngine/RuntimeStub.c
xecutionEngine/RuntimeStub.h
xecutionEngine/SymbolResolverInterface.h
xecutionEngine/SymbolResolverProxy.cpp
xecutionEngine/SymbolResolverProxy.h
xecutionEngine/SymbolResolvers.cpp
xecutionEngine/SymbolResolvers.h
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)
xecutionEngine/Android.mk
xecutionEngine/Compiler.cpp
xecutionEngine/File.h
xecutionEngine/FileBase.cpp
xecutionEngine/FileBase.h
xecutionEngine/FileHandle.cpp
xecutionEngine/FileHandle.h
xecutionEngine/FileMutex.h
xecutionEngine/InputFile.cpp
xecutionEngine/InputFile.h
xecutionEngine/MCCacheReader.cpp
xecutionEngine/MCCacheReader.h
xecutionEngine/MCCacheWriter.cpp
xecutionEngine/MCCacheWriter.h
xecutionEngine/OutputFile.cpp
xecutionEngine/OutputFile.h
xecutionEngine/RSScript.cpp
xecutionEngine/Sha1Helper.cpp
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.
xecutionEngine/Android.mk
xecutionEngine/MCCacheWriter.cpp
xecutionEngine/MCCacheWriter.h
xecutionEngine/RSScript.cpp
xecutionEngine/RSScript.h
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/ScriptCompiled.h
xecutionEngine/bcc.cpp
xecutionEngine/bcc_internal.h
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
xecutionEngine/Android.mk
xecutionEngine/BCCContext.cpp
xecutionEngine/BCCContext.h
xecutionEngine/BCCContextImpl.cpp
xecutionEngine/BCCContextImpl.h
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
xecutionEngine/CompilerOption.h
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/ScriptCompiled.h
xecutionEngine/Source.cpp
xecutionEngine/Source.h
xecutionEngine/SourceInfo.cpp
xecutionEngine/SourceInfo.h
xecutionEngine/bcc.cpp
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
xecutionEngine/Android.mk
xecutionEngine/BCCContext.cpp
xecutionEngine/BCCContext.h
xecutionEngine/BCCContextImpl.h
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/SourceInfo.cpp
xecutionEngine/SourceInfo.h
57b933381b96bf9e5a80030aa9693dafabd66783 12-Apr-2012 Zonr Chang <zonr.net@gmail.com> Remove USE_LOGGER and DebugHelper.c.

USE_LOGGER is always enabled.

DebugHelper.c is no longer required since liblog which containing
these functions is statically linked into libbcc for the host build.
xecutionEngine/FileHandle.cpp
d3095c93cd875794e59230c267255efd88cda89f 16-Apr-2012 Alex Sakhartchouk <alexst@google.com> fixing api rename

Change-Id: I96a9599d0df90da7dc239f00e502748fdc7f9628
criptCRT/rs_element.c
criptCRT/rs_program.c
eb157ab83c105549682b26a8b5c8bb64fdacc212 11-Apr-2012 Stephen Hines <srhines@google.com> Merge "Fix correctness bug for rootn(x, n) with negative x, odd n."
998462c6623277d494dd629a931af944615f5323 11-Apr-2012 Stephen Hines <srhines@google.com> Fix correctness bug for rootn(x, n) with negative x, odd n.

BUG=6319010

Change-Id: Idca9af75c340d994f96e759170a662d5b9b49256
criptCRT/rs_cl.c
17930e17cd48b1d1253a94db58312451f2c9e9e2 11-Apr-2012 Jason Sams <jsams@google.com> Implement optimized clamp.

Provide both generic C impl file and optimized
neon path. Makefile will need switch to build both.

Change-Id: I24cc80de03260a9053eff7dc8e64dc7fe03a92ac
criptCRT/Android.mk
criptCRT/clamp.c
criptCRT/clamp.ll
criptCRT/neon/clamp.ll
criptCRT/rs_cl.c
criptCRT/rs_core.c
08ee60c1d5afc378c3b792958b53ba3783774786 04-Apr-2012 Jason Sams <jsams@google.com> Add sampler support for strides in lod0.

Change-Id: I212c42b1c72f2fb400fd48e389ed8e3cf742a988
criptCRT/rs_sample.c
ce5cb899cf40c3b6d6549410d9cdfcb5712fbf27 04-Apr-2012 Jason Sams <jsams@google.com> Add support for width != stride

BUG=6111812

Change-Id: Ie7e01613051160aa7071ea40431fe2eff1c8ab88
criptCRT/rs_allocation.c
criptCRT/rs_structs.h
74785ec517941989cb9dc51aca3aab58a21bfa10 02-Apr-2012 Stephen Hines <srhines@google.com> Remove unnecessary metadata duplication in Script*.

Change-Id: If29710fc1a2d0a80413b3014bb6933b0f7b40acb
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/ScriptCompiled.h
23999ef39fa4ce48dcb24fd2cb616c3b68e32898 31-Mar-2012 Jason Sams <jsams@google.com> implement nan

BUG=3394801

Change-Id: I59ecbe23570ee66f9c62b5faa4150e108a5c09c2
criptCRT/rs_cl.c
5ba99e45340b8d5380fe957c5b9690931ab649ed 29-Mar-2012 Alex Sakhartchouk <alexst@google.com> Merge "Moving libRS"
a7e5c8f85434e9b8cb0637da302135ba2e2976f5 28-Mar-2012 Stephen Hines <srhines@google.com> resolved conflicts for merge of f46fa664 to master

Change-Id: I073ac3c0f95b3da9567e54c1fc8e8b1b0d69e33f
e784c1bc4a6a758860047a1017ea9868c115efca 28-Mar-2012 Alex Sakhartchouk <alexst@google.com> Moving libRS

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

BUG=4540719

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

Change-Id: Ieb547d38f2ad1c84af30717da9172d0ac928e52d
xecutionEngine/Android.mk
xecutionEngine/Compiler.cpp
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/ScriptCompiled.h
9d0c4ac3620b32c4b312ceec6c3d07612a662870 23-Mar-2012 Jason Sams <jsams@google.com> Add surface texture to keep allocation structure in sync.

Change-Id: I37ff6bf49ab104c81e6ca22ce64787b3d6a79c38
criptCRT/rs_structs.h
2bde5ea65e84c0d86f3329120b9bfee1cbced03e 23-Mar-2012 Alex Sakhartchouk <alexst@google.com> Merge "Adding RS_VERSION to libbcc"
9f545cb1df41c28db558aea8c514fe1d9c58fe25 23-Mar-2012 Alex Sakhartchouk <alexst@google.com> Merge "More renaming."
592adb5f0cfc82c6ffce3109f7b8ca38fcc59dfc 22-Mar-2012 Alex Sakhartchouk <alexst@google.com> Adding RS_VERSION to libbcc

Change-Id: I18d0fb2b42fcddba43147dcb44514c5218e9845d
criptCRT/Android.mk
3cbc3daea8f6e6f25e28b0661269651e92c194b5 22-Mar-2012 Alex Sakhartchouk <alexst@google.com> More renaming.

Change-Id: I6be2d61ca851e07aacb7b6c0a0f7646989be5a14
criptCRT/rs_mesh.c
criptCRT/rs_program.c
f2f743bfa22759b7374b0a50b7304637092ea9ac 22-Mar-2012 Stephen Hines <srhines@google.com> am e7483737: am 98265568: Merge "Fix (GDB) debugging of code loaded from cache"

* commit 'e748373746b0a9224f1a1367321d53cdca8220c4':
Fix (GDB) debugging of code loaded from cache
76a57eaef13489b981364a2891c894b6e9610ecd 21-Mar-2012 Daniel Malea <daniel.malea@intel.com> Fix (GDB) debugging of code loaded from cache

When loading code from cache, set ELF section headers to point to real
location of executable code. This fixes GDB errors about being unable to
insert breakpoints at an invalid address.

Change-Id: I81f56a50b29ba34085fcac8630a188224313b3d1
xecutionEngine/MCCacheReader.cpp
db6604f1136452ad9a20501e998a205b2f02bb50 21-Mar-2012 Alex Sakhartchouk <alexst@google.com> Merge "Changing rsg to rs because functions don't rely on graphics. Renaming one of the includes for clarity."
ff52255ab6cd9bbb31baa0243abafbfe02241651 21-Mar-2012 Alex Sakhartchouk <alexst@google.com> Changing rsg to rs because functions don't rely on graphics.
Renaming one of the includes for clarity.

Change-Id: Ibe7593de6898b95e6d6a4656ed15b63a93f8e87d
criptCRT/rs_allocation.c
criptCRT/rs_core.c
criptCRT/rs_core.h
criptCRT/rs_element.c
criptCRT/rs_mesh.c
criptCRT/rs_program.c
criptCRT/rs_sample.c
criptCRT/rs_sampler.c
criptCRT/rs_structs.h
6fc18a1cac575828c8f545e1847aad077c3d35d3 21-Mar-2012 Alex Sakhartchouk <alexst@google.com> Merge "Organizing libcore by logical components."
4a048eb11457407771e77039e169f6d38d64874e 20-Mar-2012 Alex Sakhartchouk <alexst@google.com> Organizing libcore by logical components.

Change-Id: I753344b1f621283586f909a0b6a70d0761dae0c8
criptCRT/Android.mk
criptCRT/rs_allocation.c
criptCRT/rs_core.c
criptCRT/rs_element.c
criptCRT/rs_mesh.c
criptCRT/rs_program.c
criptCRT/rs_sampler.c
6db1a2def28e6f15d2651fb8a711fd328f73c62c 20-Mar-2012 Alex Sakhartchouk <alexst@google.com> Merge "Fixing some bugs and inefficiencies"
71877244af6ae2750d49e8f71747ab18e8eaa27f 19-Mar-2012 Alex Sakhartchouk <alexst@google.com> Fixing some bugs and inefficiencies

Change-Id: I17cf2400ed9c68a095e4c5bb40a31beed89fb9d5
criptCRT/rs_sample.c
cb892c55bb92603c8a60d20ab401c75faef2da3d 14-Mar-2012 Alex Sakhartchouk <alexst@google.com> Merge "Adding 1D sampling to the library."
8e7b2839549af7aa96da2ba503238a245e08c2b3 13-Mar-2012 Alex Sakhartchouk <alexst@google.com> Adding 1D sampling to the library.

Change-Id: I6e20a31d7f701398a659924eebcccd4a2cda8468
criptCRT/Android.mk
criptCRT/rs_core.c
criptCRT/rs_core.h
criptCRT/rs_sample.c
a76d6c80166d97519387ee67c833993e0592c717 13-Mar-2012 Alex Sakhartchouk <alexst@google.com> Merge "First draft of allocation sampling."
1d364097b9caccaadf2380faace5fc4e212d89d6 13-Mar-2012 Alex Sakhartchouk <alexst@google.com> First draft of allocation sampling.

Change-Id: I82efe119bb05c52d8e9a1e2146dce5eb4b9f79a8
criptCRT/rs_core.c
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
xecutionEngine/Android.mk
xecutionEngine/Compiler.cpp
xecutionEngine/MCCacheReader.cpp
xecutionEngine/MCCacheReader.h
xecutionEngine/MCCacheWriter.cpp
xecutionEngine/MCCacheWriter.h
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/ScriptCached.cpp
xecutionEngine/ScriptCached.h
xecutionEngine/SourceInfo.cpp
xecutionEngine/SourceInfo.h
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
xecutionEngine/Android.mk
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
xecutionEngine/MCCacheReader.cpp
xecutionEngine/MCCacheWriter.cpp
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/ScriptCached.cpp
xecutionEngine/ScriptCached.h
xecutionEngine/ScriptCompiled.cpp
xecutionEngine/ScriptCompiled.h
xecutionEngine/SourceInfo.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
odeGen/Android.mk
odeGen/CodeEmitter.cpp
odeGen/CodeEmitter.h
odeGen/CodeMemoryManager.cpp
odeGen/CodeMemoryManager.h
xecutionEngine/Android.mk
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
xecutionEngine/OldJIT/CacheReader.cpp
xecutionEngine/OldJIT/CacheReader.h
xecutionEngine/OldJIT/CacheWriter.cpp
xecutionEngine/OldJIT/CacheWriter.h
xecutionEngine/OldJIT/ContextManager.cpp
xecutionEngine/OldJIT/ContextManager.h
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/ScriptCached.cpp
xecutionEngine/ScriptCached.h
xecutionEngine/ScriptCompiled.cpp
xecutionEngine/ScriptCompiled.h
xecutionEngine/SourceInfo.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
xecutionEngine/Android.mk
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
16e798d03e1864e950d70b81616e01bc9df19692 08-Mar-2012 Alex Sakhartchouk <alexst@google.com> exposing lod offsets in type.

Change-Id: I5aa44bdc8e2e271d3f2415af07d6c56f29b79c04
criptCRT/rs_core.c
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
xecutionEngine/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
xecutionEngine/Compiler.cpp
3e36c69b4d0b9f3ff24a7c54efb429a663f6fad5 05-Mar-2012 Stephen Hines <srhines@google.com> Fix spelling, grammar, and formatting issues.

Change-Id: Ie433486c36a75699e55427fa8be496f7bfbf7f1d
xecutionEngine/Script.cpp
8454a3a6b7cc876a0c8c79aba12e8da31d9ae5b7 03-Mar-2012 Shih-wei Liao <sliao@google.com> Change the meaning of member Script::mObjectType.

Script::mObjectType is The type of the object behind this script
after compilation. For example, after returning from a successful
call to prepareRelocatable(), the value of mObjectType will be
ScriptObject::Relocatable.

Change-Id: I82ae2990772a9fb424150d3711e31f13acc521e6
xecutionEngine/Script.cpp
xecutionEngine/Script.h
6934174c018f64214934165aa8e0ba7d361c4de5 03-Mar-2012 Shih-wei Liao <sliao@google.com> Change the API of bccPrepareSharedObject().

Change-Id: I2d0ecf6b062b52dc4b6b514d93ba8191920a00aa
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/bcc.cpp
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
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/bcc.cpp
a0ed34e86a06b16306768965b6431bf3f632f8d3 03-Mar-2012 Shih-wei Liao <sliao@google.com> Refactor cache writing out from internalCompile().

Add public writeCache() interface in bcc::Script.

Change-Id: If7b8ce56f7197e379613976c71c568ca0c019876
xecutionEngine/Script.cpp
xecutionEngine/Script.h
4adbcb275454d7cc179a541ff07f37474f31b522 07-Feb-2012 Zonr Chang <zonr.net@gmail.com> Add a non-null guard in ~SourceInfo().

Prevent dereference from null Module object.
xecutionEngine/SourceInfo.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
xecutionEngine/Android.mk
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
xecutionEngine/GDBJIT.cpp
xecutionEngine/GDBJIT.h
xecutionEngine/GDBJITRegistrar.cpp
xecutionEngine/GDBJITRegistrar.h
xecutionEngine/MCCacheReader.cpp
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/ScriptCached.h
208fbc25dab2bf875bee765becb5f0726d513dfb 01-Mar-2012 Jason Sams <jsams@google.com> Fix llvm codegen hints

Change-Id: I35eb62a8402afc792045f7f580890173048f05e5
criptCRT/matrix.ll
criptCRT/pixel_packing.ll
f7ab3778dfe2be557fb457fdc842408fb9a2a261 01-Mar-2012 Jason Sams <jsams@google.com> Handcode pixel packing and unpacking.

Change-Id: Ibe0f0ca5630140913040b3f1d339cb69d2ed48d4
criptCRT/Android.mk
criptCRT/pixel_packing.ll
criptCRT/rs_core.c
bde378ee470a983263a37b90bc016e024ee2bb6e 29-Feb-2012 Jason Sams <rjsams@android.com> Merge "llvm matrix ops"
5bc951cd1b1e504e19c8625fcab00712c123484b 28-Feb-2012 Jason Sams <rjsams@android.com> llvm matrix ops

Change-Id: I4e761c1c472e7b525141b0a676686639d0fdefb3
criptCRT/Android.mk
criptCRT/convert.ll
criptCRT/matrix.ll
criptCRT/rs_cl.c
criptCRT/rs_core.c
f7d573d03c76eb32be372cb7391fa39d3cc349e3 28-Feb-2012 Stephen Hines <srhines@google.com> Force signed chars since Clang defaults Arm to unsigned.

BUG=6080056

Change-Id: I211a5d447760853634242b786947ced0679eb5d0
criptCRT/Android.mk
85b860c2e503d6b7401fbc96dffc71e65c2c2d70 25-Feb-2012 Stephen Hines <srhines@google.com> Support handwritten LLVM bitcode in libclcore.bc.

Change-Id: I2c9c4defbdcc7a68b93fc300098e1d58d62f3a5a
criptCRT/Android.mk
criptCRT/clamp.ll
criptCRT/rs_core.c
60307ed7acbee1cce27551334e2b35839e47aee8 25-Feb-2012 Stephen Hines <srhines@google.com> Libbcc should really require llvm-as/llvm-dis.

Change-Id: Iaf920b8341bfe6f96d2a1a7c9b7245e570b089b9
criptCRT/Android.mk
cc366e573e31f43a6101fd6e04b90c6afdc3b7a7 22-Feb-2012 Stephen Hines <srhines@google.com> Support ForEachExpand on non-root functions.

BUG=6000538

Change-Id: I36e78ced0715b060af0938f1480df240cf6ba707
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
xecutionEngine/MCCacheReader.cpp
xecutionEngine/MCCacheReader.h
xecutionEngine/MCCacheWriter.cpp
xecutionEngine/MCCacheWriter.h
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/ScriptCached.cpp
xecutionEngine/ScriptCached.h
xecutionEngine/ScriptCompiled.cpp
xecutionEngine/ScriptCompiled.h
xecutionEngine/bcc.cpp
ransforms/BCCTransforms.h
ransforms/ForEachExpand.cpp
8c504fb0e0a8136bad2b7dc5139b6c8b05ae283b 15-Feb-2012 Jason Sams <rjsams@android.com> Maintain compatibility with the structures in rsAllocation.h

Change-Id: I99110a0cbb28faa8c13b1b7ec05920f51cf13620
criptCRT/rs_core.c
a416d2cecfdf9937c9e486527187072fd654a206 11-Feb-2012 Jason Sams <jsams@google.com> Merge commit 'a0b6c068' into manualmerge

Conflicts:
lib/ScriptCRT/rs_core.c

Change-Id: I8c8209d9d6afed798ba4773fa189e9d772adbd3b
a0b6c068c5946faf8011f26fce86bfc9557502c3 10-Feb-2012 Jason Sams <rjsams@android.com> Add surface texture.

Change-Id: Iec42b3638079c4c0f4ab1744d4591a8ba46a8226

Conflicts:

lib/ScriptCRT/rs_core.c
criptCRT/rs_core.c
618edc65d2e4c22e537dd5f2eb515ac14146a097 05-Feb-2012 Shih-wei Liao <sliao@google.com> am a471ebb0: Refactoring interface.

* commit 'a471ebb05c3c6f31102cd512d2b73ed9d74ac2d7':
Refactoring interface.
930bcf4900d96e612f1374fb59ea34423de3b849 05-Feb-2012 Shih-wei Liao <sliao@google.com> am 32ef88bd: Minor refactoring.

* commit '32ef88bdd04a7ec83394905746e47c77fba2627b':
Minor refactoring.
6fb34857c6f013e3b9872412305c76d6edba55cd 05-Feb-2012 Zonr Chang <zonr.net@gmail.com> am 743dd714: Refactoring into Script::internalLoadCache()

* commit '743dd7144d2f9f60cc9000cdb1cab490846136a7':
Refactoring into Script::internalLoadCache()
a471ebb05c3c6f31102cd512d2b73ed9d74ac2d7 05-Feb-2012 Shih-wei Liao <sliao@google.com> Refactoring interface.

Change-Id: I7afcd83408d381dcf4d053ffe66150f567e02545
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/bcc.cpp
32ef88bdd04a7ec83394905746e47c77fba2627b 05-Feb-2012 Shih-wei Liao <sliao@google.com> Minor refactoring.

Change-Id: I70123dd22672dacd30d7f7624af8d82d8a0e8525
xecutionEngine/Script.cpp
743dd7144d2f9f60cc9000cdb1cab490846136a7 19-Jan-2012 Zonr Chang <zonr.net@gmail.com> Refactoring into Script::internalLoadCache()

Move some duplicate code from prepareRelocatable() and prepareExecutable()
into internalLoadCache().

Change-Id: I32b321ef789217f40f47c0a3783e4b232fdd16ee
xecutionEngine/Script.cpp
xecutionEngine/Script.h
6f9ae04a17342ed038b689edee7159366e77b8ee 18-Jan-2012 Shih-wei Liao <sliao@google.com> am abc7f516: Don\'t have the string “debug.bcc.nocache” scattered in Script.cpp.

* commit 'abc7f516da4c3a7236beb9b7ecc26e59b8a82a8a':
Don't have the string “debug.bcc.nocache” scattered in Script.cpp.
abc7f516da4c3a7236beb9b7ecc26e59b8a82a8a 18-Jan-2012 Shih-wei Liao <sliao@google.com> Don't have the string “debug.bcc.nocache” scattered in Script.cpp.

bccPrepareSharedObject() will also use isCacheable() function to set up the
cache.

Change-Id: I3d6a09348398beb0987bd747ad5ed13b6fb1ddb0
xecutionEngine/Script.cpp
xecutionEngine/Script.h
99f7955cec88c4086b969388f9fc3a684ffe3a45 18-Jan-2012 Shih-wei Liao <sliao@google.com> am 4bcfaa8d: Fix the build.

* commit '4bcfaa8d0911379848f6139c4324a8038fae2d13':
Fix the build.
4bcfaa8d0911379848f6139c4324a8038fae2d13 18-Jan-2012 Shih-wei Liao <sliao@google.com> Fix the build.

Change-Id: I9e8b91abe99fa3a320042cfed8be7c9ac2ad29cc
xecutionEngine/CompilerOption.h
e7f12cd5cb49f48b4d6ba33256e6b22e2cbd4dd3 18-Jan-2012 Shih-wei Liao <sliao@google.com> am 16e84cff: Minor clean up.

* commit '16e84cff3e53be8bd95b82a397b144d6a5266761':
Minor clean up.
16e84cff3e53be8bd95b82a397b144d6a5266761 18-Jan-2012 Shih-wei Liao <sliao@google.com> Minor clean up.

Change-Id: I763e4068fc8801a88468a4c4535133fafb74f95d
xecutionEngine/CompilerOption.h
cefe1ed3dcf064fe7785428193056ae235f66335 18-Jan-2012 Shih-wei Liao <sliao@google.com> am d88c0d14: Check the ability to link library during setup.

* commit 'd88c0d144d452f194a26d5bc971b241476dc23f4':
Check the ability to link library during setup.
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
xecutionEngine/Compiler.cpp
xecutionEngine/Script.cpp
71c297c985a74d712503d87875c7051aaf103ef3 18-Jan-2012 Shih-wei Liao <sliao@google.com> am 2b7db0e9: Typo and clean up.

* commit '2b7db0e9b5a924b261d6e7940ae33a3490ca2a68':
Typo and clean up.
2b7db0e9b5a924b261d6e7940ae33a3490ca2a68 18-Jan-2012 Shih-wei Liao <sliao@google.com> Typo and clean up.

Change-Id: I1b9dceb935c93f0fcf8256f01c09948a460ceaf9
xecutionEngine/CompilerOption.h
xecutionEngine/Script.h
c9fa5ce7a6352d1d008080ed28a4f1fa313c89cc 18-Jan-2012 Shih-wei Liao <sliao@google.com> am 9e81e37a: Add "const". And clean up.

* commit '9e81e37a0400874aa3a327123c0e4d6e8bfc5290':
Add "const". And clean up.
9e81e37a0400874aa3a327123c0e4d6e8bfc5290 18-Jan-2012 Shih-wei Liao <sliao@google.com> Add "const". And clean up.

Change-Id: I70e6994a0cd1d897e6981d5642108fee1324708f
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
xecutionEngine/CompilerOption.h
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/ScriptCompiled.h
f8e8922b90370e05e4665c316218e69ae7e81ec9 18-Jan-2012 Shih-wei Liao <sliao@google.com> am 4deffde5: Add Compiler::ArchType. And fix the CodeModel and NoFramePointerElim.

* commit '4deffde52a049eb1b5f2e5504653e5b810c554bf':
Add Compiler::ArchType. And fix the CodeModel and NoFramePointerElim.
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
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
xecutionEngine/CompilerOption.h
5f49648fc06f264dc11b152cb5af143231f55a11 17-Jan-2012 Shih-wei Liao <sliao@google.com> am 89e8490c: Using \%zu for size_t.

* commit '89e8490c80505468f2b816ca9d12fefa53f05959':
Using \%zu for size_t.
9d277c7d0360251afff70ad209a2c7ddf868e9f3 17-Jan-2012 Shih-wei Liao <sliao@google.com> am 6a60f4ee: Follow the ELF spec. Use the terms relocatable.

* commit '6a60f4ee19940a3e4a8ac0b3719493736d54caaf':
Follow the ELF spec. Use the terms relocatable.
89e8490c80505468f2b816ca9d12fefa53f05959 17-Jan-2012 Shih-wei Liao <sliao@google.com> Using \%zu for size_t.

Change-Id: Ia962bfc2d1fb7cfb669642848f78fb46bc0098f2
ransforms/ForEachExpand.cpp
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
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/bcc.cpp
cb6c3b945bd109d06c3e8f4b685ad426d751a5e2 17-Jan-2012 Zonr Chang <zonr.net@gmail.com> am 6692ab57: Use object filename (cacheName + extension) + ".info".

* commit '6692ab57b5b8dc40f6406751a5597016eb764507':
Use object filename (cacheName + extension) + ".info".
e3f23ac5490ee1cd7afd721c3958b5679d049b16 17-Jan-2012 Zonr Chang <zonr.net@gmail.com> am 4ea08862: Refactoring.

* commit '4ea08862f6b84e4855e14a3569f12de7d2a8a695':
Refactoring.
6692ab57b5b8dc40f6406751a5597016eb764507 17-Jan-2012 Zonr Chang <zonr.net@gmail.com> Use object filename (cacheName + extension) + ".info".

Note that object filename .info is filename for storing the cache info.

Change-Id: Ifba81465f2153973b7079683b292327710672273
xecutionEngine/Script.h
4ea08862f6b84e4855e14a3569f12de7d2a8a695 17-Jan-2012 Zonr Chang <zonr.net@gmail.com> Refactoring.

Change-Id: I283837f0adc00ba328e981f419483a0defb22f65
xecutionEngine/Script.cpp
xecutionEngine/Script.h
852b841df0eb3746855e07d152019625ebc346f4 17-Jan-2012 Zonr Chang <zonr.net@gmail.com> am df3fee4c: Let SourceInfo take charage of and LLVM module.

* commit 'df3fee4cc5190480970200f0162b00b841f22011':
Let SourceInfo take charage of and LLVM module.
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
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
xecutionEngine/Script.cpp
xecutionEngine/ScriptCompiled.h
xecutionEngine/SourceInfo.cpp
xecutionEngine/SourceInfo.h
9c35df86774b7015757ad9e861cd8c5be9103bba 17-Jan-2012 Shih-wei Liao <sliao@google.com> am 8afed380: Have separate prepareSharedObject and prepareObject.

* commit '8afed380cda0bc4b3d325064fc44b181312651ad':
Have separate prepareSharedObject and prepareObject.
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
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/bcc.cpp
68a710ee3a3fdfe5b8b05dde122d982a90d04040 17-Jan-2012 Zonr Chang <zonr.net@gmail.com> am 2fcbd020: Introduce CompilerOption for compile() interface.

* commit '2fcbd02086984b45301d69104808e89772c8de90':
Introduce CompilerOption for compile() interface.
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
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
xecutionEngine/CompilerOption.h
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/ScriptCompiled.h
990077b10f6944174d7d05fa639e4b8f04a0a70d 16-Jan-2012 Shih-wei Liao <sliao@google.com> am 92686fed: Add dependency for LLVM_LD.

* commit '92686fed0265dcb48c6e857830879b36be892416':
Add dependency for LLVM_LD.
92686fed0265dcb48c6e857830879b36be892416 16-Jan-2012 Shih-wei Liao <sliao@google.com> Add dependency for LLVM_LD.

Change-Id: Ifb6ceba885bf72ac62264e11688c84c3e46adba6
criptCRT/Android.mk
4281423d292818e2df91f816fa5b4ffb31bb2156 15-Jan-2012 Andrew Hsieh <andrewhsieh@google.com> am e7371e11: Add llvm::Triple::thumb to __HOST__ cross-compiler discovery list

* commit 'e7371e1197b73e57c218fbd933b0287fef02ae89':
Add llvm::Triple::thumb to __HOST__ cross-compiler discovery list
e7371e1197b73e57c218fbd933b0287fef02ae89 15-Jan-2012 Andrew Hsieh <andrewhsieh@google.com> Add llvm::Triple::thumb to __HOST__ cross-compiler discovery list

Change-Id: I4ad680e9f8e33df633a8f1091a1f6fae72826da0
xecutionEngine/Compiler.cpp
11bca83d668e0a1cbb8f8f05582fcdddd6798816 14-Jan-2012 Shih-wei Liao <sliao@google.com> am fbeb9b6e: Improve readability. Fix format.

* commit 'fbeb9b6eba4efdc36b7c58fb4829756fe92c13d5':
Improve readability. Fix format.
fbeb9b6eba4efdc36b7c58fb4829756fe92c13d5 14-Jan-2012 Shih-wei Liao <sliao@google.com> Improve readability. Fix format.

Change-Id: I46a4b52ff292c2ee52cc7b49a43893b3f4b1edc8
xecutionEngine/Compiler.cpp
92fca5655a8ddb416c0bb8d5c6de6936c057da7d 14-Jan-2012 Andrew Hsieh <andrewhsieh@google.com> am c0554e25: Determine Features based on Triple; Fix for Intel

* commit 'c0554e25638bec2462daf1a66ed0270a60aec8ea':
Determine Features based on Triple; Fix for Intel
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
xecutionEngine/Compiler.cpp
08879f61e5d9a395689fe01f3a4d6dfc71ea90e0 13-Jan-2012 Stephen Hines <srhines@google.com> am 9ab98992: Fix mac warning about size_t and %d.

* commit '9ab98992649585542616d6b5adb34eda89c448c0':
Fix mac warning about size_t and %d.
9ab98992649585542616d6b5adb34eda89c448c0 13-Jan-2012 Stephen Hines <srhines@google.com> Fix mac warning about size_t and %d.

Change-Id: Iea1e8d110f25eef8f3d6ff002186fb9a4ab336fa
ransforms/ForEachExpand.cpp
db1e436f810b3179890cd72fba70d7c6430a2dbe 13-Jan-2012 Stephen Hines <srhines@google.com> am db169187: Add ForEach expansion optimization to libbcc.

* commit 'db169187dea4602e4ad32058762d23d474753fd0':
Add ForEach expansion optimization to libbcc.
0de77ff64feaeac884f91b233652b2bd11a992ed 13-Jan-2012 Jason Sams <jsams@google.com> Merge "Add surface texture." into graphics-dev
db169187dea4602e4ad32058762d23d474753fd0 06-Jan-2012 Stephen Hines <srhines@google.com> Add ForEach expansion optimization to libbcc.

BUG=5444144

Change-Id: I31045a8de43c20d11898a943db294e8594047973
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
ransforms/Android.mk
ransforms/BCCTransforms.h
ransforms/ForEachExpand.cpp
9f6a83820daf1c6736afddb5e2bc6ffdaf311fb6 10-Jan-2012 Bhanu Chetlapalli <bhanu@mips.com> am 12c849b7: am eb4509bf: [MIPS] Include header file unistd.h

* commit '12c849b7768b71f65cdf77df6081f484d4a2df78':
[MIPS] Include header file unistd.h
12c849b7768b71f65cdf77df6081f484d4a2df78 09-Jan-2012 Bhanu Chetlapalli <bhanu@mips.com> am eb4509bf: [MIPS] Include header file unistd.h

* commit 'eb4509bf00a5d3be4caaa8f1b6a062a2d0311e9a':
[MIPS] Include header file unistd.h
cabd18741d31f2ffe13709f497850967460e779d 09-Jan-2012 Steve Block <steveblock@google.com> am 10c1412e: Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE

* commit '10c1412e6cb35cfc90abb5e36ba1340a8c55f44e':
Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE
eb4509bf00a5d3be4caaa8f1b6a062a2d0311e9a 09-Jan-2012 Bhanu Chetlapalli <bhanu@mips.com> [MIPS] Include header file unistd.h

required by unlink()

Change-Id: I4893cd5b341fc7965f5a1f68e55ffcbd037762b9
Signed-Off-By: Bhanu Chetlapalli <bhanu@mips.com>
xecutionEngine/Script.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
odeGen/CodeMemoryManager.cpp
isassembler/Disassembler.cpp
xecutionEngine/Compiler.cpp
xecutionEngine/FileHandle.cpp
xecutionEngine/MCCacheReader.cpp
xecutionEngine/MCCacheWriter.cpp
xecutionEngine/OldJIT/CacheReader.cpp
xecutionEngine/OldJIT/CacheWriter.cpp
xecutionEngine/OldJIT/ContextManager.cpp
xecutionEngine/Script.cpp
xecutionEngine/Sha1Helper.cpp
xecutionEngine/SourceInfo.cpp
ccd5277240b34789cf4fa63f7fcf5890a3d0b0b4 05-Jan-2012 Jason Sams <jsams@google.com> Add surface texture.

Change-Id: Iec42b3638079c4c0f4ab1744d4591a8ba46a8226
criptCRT/rs_core.c
c91c6bd33e92fb4ecd628b933f5e8fd72a7f78a3 06-Jan-2012 Steve Block <steveblock@google.com> am 10c51459: Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE

* commit '10c51459fd4e6262e2284ffad49a1e581659771e':
Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE
10c51459fd4e6262e2284ffad49a1e581659771e 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE

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

Bug: 5449033
Change-Id: I93980a1ca8073dc080e017c9965d43ec7d5c4337
xecutionEngine/FileHandle.cpp
xecutionEngine/OldJIT/ContextManager.cpp
xecutionEngine/SourceInfo.cpp
5ca1725106039be55db71c46d95572187df80acf 05-Jan-2012 Steve Block <steveblock@google.com> am 440e031e: Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE

* commit '440e031e407dc3db983784cf0b23322a33ebfdca':
Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE
cba23a31910cea9dd406033946690b983b4b3df1 05-Jan-2012 Alex Sakhartchouk <alexst@google.com> Merge "Better error handling." into graphics-dev
440e031e407dc3db983784cf0b23322a33ebfdca 04-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE

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

Bug: 5449033
Change-Id: I53a03ecbc37acbc7f175faef64f74423f491827a
xecutionEngine/MCCacheReader.cpp
xecutionEngine/OldJIT/CacheReader.cpp
xecutionEngine/OldJIT/ContextManager.cpp
xecutionEngine/bcc.cpp
ec68e99914a64296726cc3ed686c7da9e1ba95ed 04-Jan-2012 Steve Block <steveblock@google.com> am b20498ea: Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE

* commit 'b20498ea84029ae2d793bd2ca488883a804b061b':
Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE
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
xecutionEngine/Compiler.cpp
xecutionEngine/MCCacheReader.cpp
xecutionEngine/bcc.cpp
d536473d8eabe900518d1d8eafc57721b2d6875d 29-Dec-2011 Alex Sakhartchouk <alexst@google.com> Better error handling.

Change-Id: I5d249c02a8669e6e5bdd69b46a934b47015fc535
criptCRT/rs_core.c
a6f221e1555b2924840a39cfa0b607c03830f009 22-Dec-2011 Alex Sakhartchouk <alexst@google.com> Missing getter implementation.

Change-Id: I729ce2fa76481a93bc9cdf3504a538f8c6cca71c
criptCRT/rs_core.c
26301b47f0ef1b8d7c7b282d9a38fc9220f7156b 20-Dec-2011 Alex Sakhartchouk <alexst@google.com> Implementation to various getter types.

Change-Id: I0b36de41d12a4d36cc878685f5a50adabaf4ab7d
criptCRT/rs_core.c
272497240b92dfb2c5bb6abb87e1b65c688655d5 17-Dec-2011 Logan Chien <loganchien@google.com> am be81e107: Apply changes to migrate to upstream (Dec 16th 2011)

* commit 'be81e1078cd32c1c4a2b8f60e16e2c7760c2a353':
Apply changes to migrate to upstream (Dec 16th 2011)
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
xecutionEngine/Compiler.cpp
dcf7fecfc9799f9de7d9718677e0a0229ebc2d3b 10-Dec-2011 Jason Sams <jsams@google.com> Fix bug with inline allocation offsets.

Change-Id: I5d37eca8b9242b1fbe8431192d3b3930dc320f09
criptCRT/rs_core.c
c5c82333fed529efca0f10d12ad2f904c8dacf8a 07-Dec-2011 Alex Sakhartchouk <alexst@google.com> Merge "Revert "Removing changes not meant for MR1"" into graphics-dev
01fc553a3fdf8ab39ff9cf2b128a174d8534a7d4 02-Dec-2011 Logan Chien <loganchien@google.com> Code cleanup.

Change-Id: I604fa83bb12081ffddb677d05f22b6a8e20db23a
xecutionEngine/Runtime.def
7c0c78eca053b82d7b14408315789309f5966437 02-Dec-2011 Logan Chien <loganchien@google.com> Fix MIPS compiler utils runtime table.

Change-Id: I97add4fb97ec4a42a0222cbe6740910834a316b2
xecutionEngine/Runtime.c
xecutionEngine/Runtime.def
21392f0642029bb5c41e3255ae7a302a337ecd6b 26-Nov-2011 Logan Chien <loganchien@google.com> Add MIPS as build target.

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

Change-Id: I3fd430640732fce5366e789bacd96628bc525616
xecutionEngine/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
odeGen/Android.mk
isassembler/Android.mk
xecutionEngine/Android.mk
xecutionEngine/Compiler.cpp
7c8c59edb2d948557447e3ee76b1e71f5a14ad46 21-Nov-2011 Andrew Hsieh <andrewhsieh@google.com> Fix Disassmebler compilation for LLVM3.0
- Change Target/TargetRegistry.h to Support/TargetRegistry.h
- Change Target/TargetSelect.h to Support/TargetSelect.h
- Target->createMCSubtargetInfo() now take MCSubtargetInfo
- MCDisassembler::getInstruction take additional raw_ostream
- MCInstPrinter::printInst takes additional StringRef

Change-Id: Ic5cf732cd025d2026ad564eefcae90e462748d22
odeGen/CodeEmitter.cpp
isassembler/Disassembler.cpp
aa08fd6bdfa860dc874932b46a8aad0904214a9a 18-Nov-2011 Alex Sakhartchouk <alexst@google.com> Revert "Removing changes not meant for MR1"

This reverts commit 722846aaef22f1acb44c1a83c5d0b6bd0e3534c0.
criptCRT/rs_core.c
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
xecutionEngine/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
xecutionEngine/Compiler.cpp
58fa9d851c1c66817f52710392a09c72f666001d 09-Nov-2011 Shih-wei Liao <sliao@google.com> Merge "Change USE_ARM_NEON to !DISABLE_ARCH_ARM_HAVE_NEON."
9bdede116341a564ca28bb0000fa3044dd78e141 27-Oct-2011 Alex Sakhartchouk <alexst@google.com> am 722846aa: Removing changes not meant for MR1

* commit '722846aaef22f1acb44c1a83c5d0b6bd0e3534c0':
Removing changes not meant for MR1
722846aaef22f1acb44c1a83c5d0b6bd0e3534c0 27-Oct-2011 Alex Sakhartchouk <alexst@google.com> Removing changes not meant for MR1

Change-Id: I553ab453ed1e22dd2c144c8e4965804c4f191f62
criptCRT/rs_core.c
7ef2cf486432afdf6e59a49a716be64bcfde803c 20-Oct-2011 Steve Block <steveblock@google.com> Rename LOGV(_IF) to ALOGV(_IF) DO NOT MERGE

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

Bug: 5449033
Change-Id: I6a220f3126c2f6d0f3a749939fae4a67f8dbb1c6
xecutionEngine/FileHandle.cpp
40bcd66ab9dc4811f2015543f5c918cbfa7ad8c2 23-Oct-2011 Shih-wei Liao <sliao@google.com> Change USE_ARM_NEON to !DISABLE_ARCH_ARM_HAVE_NEON.

Change-Id: I4edb0583ab3efbbb350427b01ce85c05d1e1a226
xecutionEngine/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
xecutionEngine/Compiler.cpp
3bb77072f4dd09c26d7397f92b7eb8b5d0f79de7 17-Sep-2011 Logan Chien <loganchien@google.com> Enhance target architecture selection rules.

Change-Id: I595f8b6d9acd36bffc0017f06a959e709b9707d5
odeGen/Android.mk
isassembler/Android.mk
isassembler/Disassembler.cpp
xecutionEngine/Android.mk
xecutionEngine/Compiler.cpp
41c9153873875b9b34722fd5bd1788d39fbe1cad 18-Oct-2011 Stephen Hines <srhines@google.com> Remove unnecessary ARM-check for StopWatch.

Change-Id: I73fb2e0595cd7f14adb8d41ebf6b22b9143b7563
xecutionEngine/Sha1Helper.cpp
xecutionEngine/bcc.cpp
5681ee64c240eb79bc5a80ab5faf831d91e1f2e6 15-Oct-2011 Alex Sakhartchouk <alexst@google.com> RS getter implementation.

Change-Id: Ie292a70d13f1d2e5b0778c9bae6103453c7fbe60
criptCRT/rs_core.c
9d3f8a71dd04d606d7f677ec9512d00f374f1e7a 14-Oct-2011 Jason Sams <jsams@google.com> Fix off by one error when converting between
unorm8 and float.

Change-Id: I3eaeaff240ab9d943027ada6e28a83ea71cbcc8b
criptCRT/rs_core.c
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
xecutionEngine/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
xecutionEngine/Compiler.cpp
05f25d2a959ad25f3bcad0e0ccbcad92011bf925 09-Aug-2011 Stephen Hines <srhines@google.com> Include proper header files.

Change-Id: Iee886a39e2df608def4ac367c2d05c33458f0f64
criptCRT/rs_core.c
d4740c5d3539b57ef172d83dece278363cb9f3b1 09-Aug-2011 Stephen Hines <srhines@google.com> Migrate perf-critical functions to device bitcode.

BUG=3497315

Change-Id: I5dc1f38020c14a39b61b067e073305346b52d62d
criptCRT/rs_core.c
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
xecutionEngine/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
xecutionEngine/Compiler.cpp
xecutionEngine/Script.h
xecutionEngine/ScriptCompiled.h
xecutionEngine/bcc.cpp
d548e008c69314e23884c73c7e09ffba9d5a90ee 30-Jul-2011 Logan Chien <loganchien@google.com> Remove unused code.

Change-Id: I5fd240ed03654af1ac6fcbe4f45d5e05825374a2
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
bd76bc9349e788fd87bc21e2d6847f8c7a3b19b3 30-Jul-2011 Logan Chien <loganchien@google.com> Finish the refactor work of bccPrepareExecutable.

Change-Id: I20c122811d26b26dfdd64132f7229e5f5baa6d1e
xecutionEngine/bcc.cpp
f9931b82453072d66b04b94bf30544df8f447eec 27-Jul-2011 Jason Sams <rjsams@android.com> Add const variants to matrix x vector multiply.

Change-Id: Ied372bb02de49f8a18f006c03d1b859130bc3bdc
criptCRT/rs_core.c
4928104ef3aad39e00d22ac81fd2aad6d41a25bf 26-Jul-2011 Joseph Wen <josephwen@google.com> Fixbug remove symbol lookup at MCCacheWriter

Change-Id: I4755bc99a414653c897f26609ad1bdc640f571ea
xecutionEngine/MCCacheWriter.cpp
xecutionEngine/Script.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
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
xecutionEngine/MCCacheReader.cpp
xecutionEngine/MCCacheReader.h
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/ScriptCompiled.h
xecutionEngine/bcc.cpp
311cdf0d9a01196aabca292f7a203c36950951b3 21-Jul-2011 Shih-wei Liao <sliao@google.com> Merge "Fix Old JIT Disassembler"
e024ebde4f2ad86222a475dcc1db4b911aa5a49f 21-Jul-2011 Shih-wei Liao <sliao@google.com> Merge "Apply changes to migrate to llvm upstream r135568."
a4745beab14e01df72d0cd8612d89a5ef6a3711d 21-Jul-2011 Shih-wei Liao <sliao@google.com> Merge "Refine the disassembler config code."
70b2e1830848a953cab42b116682493947aaa520 21-Jul-2011 Logan Chien <loganchien@google.com> Fix Old JIT Disassembler

CurBufferPtr will be reset, so we should save FnEnd
before CurBufferPtr being reset.

Change-Id: I770cbeeee97b00f4523a93678b8a40cb670a645f
odeGen/CodeEmitter.cpp
e49a38f32eb10736aae9bedc939c289a82846853 20-Jul-2011 Stephen Hines <srhines@google.com> Merge "Remove unused APIs from libbcc."
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
odeGen/CodeEmitter.cpp
odeGen/CodeEmitter.h
xecutionEngine/Compiler.cpp
4885cf8889f2290ecd04a02e067cb2f44c3cdf6c 20-Jul-2011 Logan Chien <loganchien@google.com> Refine the disassembler config code.

Change-Id: I7cd3923f0d185efef9cc43dfb5448380735d0ad9
odeGen/CodeEmitter.cpp
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
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
isassembler/Disassembler.cpp
xecutionEngine/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
odeGen/CodeMemoryManager.cpp
xecutionEngine/Android.mk
xecutionEngine/CacheReader.cpp
xecutionEngine/CacheReader.h
xecutionEngine/CacheWriter.cpp
xecutionEngine/CacheWriter.h
xecutionEngine/Compiler.cpp
xecutionEngine/ContextManager.cpp
xecutionEngine/ContextManager.h
xecutionEngine/MCCacheReader.cpp
xecutionEngine/MCCacheWriter.cpp
xecutionEngine/OldJIT/CacheReader.cpp
xecutionEngine/OldJIT/CacheReader.h
xecutionEngine/OldJIT/CacheWriter.cpp
xecutionEngine/OldJIT/CacheWriter.h
xecutionEngine/OldJIT/ContextManager.cpp
xecutionEngine/OldJIT/ContextManager.h
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/ScriptCached.cpp
xecutionEngine/ScriptCached.h
xecutionEngine/ScriptCompiled.cpp
xecutionEngine/ScriptCompiled.h
xecutionEngine/SourceInfo.cpp
16c9b3674960eef4fda4955694bf186af4cfd5c0 19-Jul-2011 Stephen Hines <srhines@google.com> Remove unused APIs from libbcc.

BUG=4278636

Change-Id: I457e59efc525ad492008e1199a2bb98849eb98fa
xecutionEngine/bcc.cpp
xecutionEngine/bcc_internal.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.
xecutionEngine/bcc.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
xecutionEngine/Compiler.cpp
bb5df5c59e6a8bf1b63ec210367c3003479cdf41 19-Jul-2011 Shih-wei Liao <sliao@google.com> Apply changes to migrate to upstream API.

Change-Id: I1b131826edb40b12f4fbc816f0b358924eea75dc
isassembler/Disassembler.cpp
e756554138c1a183063ceac40951f794d688eda7 18-Jul-2011 Logan Chien <loganchien@google.com> Remove the duplicated DebugHelper.h

Change-Id: I8c412ce3a9c0f44edc58ab4400eb05c64b92a328
xecutionEngine/DebugHelper.h
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
odeGen/Android.mk
isassembler/Android.mk
xecutionEngine/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
xecutionEngine/Android.mk
57991d73a662d564bf6feb017ec578ab8e85ce93 14-Jul-2011 Logan Chien <loganchien@google.com> Add LOCAL_IS_HOST_MODULE for host build.

Change-Id: Idc70587a8511fc08fd0750b07706777b8da85504
odeGen/Android.mk
isassembler/Android.mk
xecutionEngine/Android.mk
67005271fbab5e4919cc2119f6e234642ec409bd 14-Jul-2011 Logan Chien <loganchien@google.com> Fix CFLAGS. (Should use libbcc_CFLAGS instead)

Change-Id: I683c54e2edf2ebf0a2e442e486891009a1ac2478
isassembler/Android.mk
xecutionEngine/Android.mk
08f1f1cf18a0861004629eb6227a0b887280a565 14-Jul-2011 Logan Chien <loganchien@google.com> Fix compilation error when we disable the LOGCAT.

Change-Id: I14294d113c6921419d55515bc14434b86d4a411d
xecutionEngine/FileHandle.cpp
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
xecutionEngine/CacheReader.cpp
xecutionEngine/CacheReader.h
xecutionEngine/CacheWriter.cpp
xecutionEngine/CacheWriter.h
xecutionEngine/Script.cpp
3378a02729c2874b890e3939628a383ad0d1fe64 13-Jul-2011 Logan Chien <loganchien@google.com> Print build time and revision to logcat.

Change-Id: I0be4cc09a3bde320628687ca58588206b76079b2
xecutionEngine/bcc.cpp
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
odeGen/Android.mk
odeGen/CodeEmitter.cpp
odeGen/CodeMemoryManager.cpp
isassembler/Android.mk
xecutionEngine/Android.mk
8d3b5e184b776dbf0b4af8a1c95f027d8653ca66 12-Jul-2011 Logan Chien <loganchien@google.com> Cleanup LOCAL_C_INCLUDES.

Change-Id: I27d05890a0aaa20e6b8bfe67aec7ff9aa6c01f08
odeGen/CodeEmitter.h
odeGen/CodeMemoryManager.h
xecutionEngine/Compiler.h
ca45a58402d08a75f87be7715be5f42cf75ab161 12-Jul-2011 Jeff Brown <jeffbrown@google.com> Remove the simulator target from all makefiles.
Bug: 5010576

Change-Id: Id9fb33c51f84d90f9540cfc3f6f2f4940ee54dd7
criptCRT/Android.mk
02153938c898e6c83943e59536942e8a6d0bcd5b 11-Jul-2011 Guozhi Wei <carrot@google.com> Merge "Fix conversion from a bool value to a pointer."
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
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/bcc.cpp
ffb4b5146a1ea69ec356c8329af235a28971c376 11-Jul-2011 Logan Chien <loganchien@google.com> Remove the unused code for cache path.

Change-Id: I6fb6d769669e3f0932cd1f5e4b9bb62553b15e98
xecutionEngine/Compiler.h
xecutionEngine/Script.cpp
xecutionEngine/ScriptCompiled.h
f11da3081765d3323381b16f2867b2f1df2b9cba 10-Jul-2011 Logan Chien <loganchien@google.com> Always print the disassembler output to file.

It will be better to print the disassembler output to a file
instead of stdout, since the stdout will be dropped by default.
Even if we have "setprop log.redirect-stdio true", you will
find out the output will be messed up by other messages.

Change-Id: I0fc02b082a5a3dff22f8b1ea5809562810a20915
isassembler/Disassembler.cpp
0c109fe8b7e169b0d3e70d16dbbc33dd4b1763a7 11-Jul-2011 Guozhi Wei <carrot@google.com> Merge "Extract duplicated disassembler."
deff73980feb4eb760e98e24611375d967bf6107 11-Jul-2011 Doug Kwan <dougkwan@google.com> Fix conversion from a bool value to a pointer.

Change-Id: I7e634ac08b6a54586ed2a335095515619ef1614d
xecutionEngine/MCCacheReader.cpp
6789a813d4a48454bc1dc686e89d3e1a946a2ae8 11-Jul-2011 Guozhi Wei <carrot@google.com> Merge "Remove unused code in MCCacheReader/Writer"
9347e0bdf9d9cb691c3681ea06c87716b6251af4 07-Jul-2011 Logan Chien <loganchien@google.com> Extract duplicated disassembler.

Change-Id: I6c607a0ed881dbd808ec43ec65e88f4ef06dea90
odeGen/CodeEmitter.cpp
odeGen/CodeEmitter.h
isassembler/Disassembler.cpp
isassembler/Disassembler.h
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
769190765f7a920ac7f30ff6d424f3ae850b1c3a 08-Jul-2011 Joseph Wen <josephwen@google.com> Add run-time hash check for libRS.so

Change-Id: I327215cdf74bc0e969c45efb0ff83c3fd0165f1d
xecutionEngine/Compiler.cpp
xecutionEngine/Script.cpp
xecutionEngine/Sha1Helper.cpp
xecutionEngine/Sha1Helper.h
afa4e90b9a261375b139420895b3848c33d90a72 08-Jul-2011 Ying Wang <wangying@google.com> Merge "Use 20-byte libbcc.so.sha1 to store checksum"
b5070f48d63344e951e84c876342e414d30d90f4 08-Jul-2011 Jason Sams <rjsams@android.com> Merge "Temporarly disable the RS Cache while some issues are worked on."
eeeccd9dbdcbda90c9e0e8e6d5db8e4f54e1f1e0 07-Jul-2011 Jason Sams <rjsams@android.com> Temporarly disable the RS Cache while some issues are worked on.

Change-Id: Ic0fbc36aecee4cc0c1b73fd5e068ec40ce9005b7
xecutionEngine/Script.cpp
8eabcbf188f6e58217ad316271ea5e984d6eacce 07-Jul-2011 Joseph Wen <josephwen@google.com> Remove unused code in MCCacheReader/Writer

Change-Id: I31dd0c401bbd4f979849387c1b34e60c7d33770d
xecutionEngine/MCCacheReader.cpp
xecutionEngine/MCCacheReader.h
xecutionEngine/MCCacheWriter.cpp
xecutionEngine/MCCacheWriter.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
xecutionEngine/Compiler.cpp
xecutionEngine/MCCacheReader.cpp
xecutionEngine/MCCacheReader.h
xecutionEngine/MCCacheWriter.cpp
xecutionEngine/MCCacheWriter.h
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/ScriptCompiled.cpp
xecutionEngine/ScriptCompiled.h
26fea10655613ad184b37dfd24dd21e92a5afa95 06-Jul-2011 Ying Wang <wangying@google.com> Use 20-byte libbcc.so.sha1 to store checksum

Change-Id: I1e66e559918426e995b92785666beb7b6a49869d
xecutionEngine/Compiler.cpp
xecutionEngine/Sha1Helper.cpp
xecutionEngine/Sha1Helper.h
029057e3fe74548f64ced090600205df08ef5d32 02-Jul-2011 Shih-wei Liao <sliao@google.com> Fix API changes of llvm::SubtargetFeatures.

Change-Id: Ia427295ac8aab71228cee1abfa1ebc5e30fd2078
xecutionEngine/Compiler.cpp
d50be3231d4d2e4d7ca96b892b04f2d71af8a398 02-Jul-2011 Shih-wei Liao <sliao@google.com> Code cleanup: Improve code readability and remove dead code.

Change-Id: Ic7fc159eb19a9eef210afc1fca45b8a646321f2c
xecutionEngine/Script.cpp
54bdd6f0a0a3bd14b1e3d524b7a64cb841923707 02-Jul-2011 Mike Lockwood <lockwood@android.com> Fix problem building on Ubuntu Natty

Change-Id: Ib42ae0dcbccc2ae26c6834ef1762227c05c51a82
Signed-off-by: Mike Lockwood <lockwood@android.com>
xecutionEngine/Script.cpp
a61d501206d5bee1ff331caa29bd556dd20551ac 02-Jul-2011 Ying Wang <wangying@google.com> Fix build.

Change-Id: I48b2fdedc86100d3896d2145cf7d0046abdfc767
xecutionEngine/MCCacheReader.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
odeGen/CodeEmitter.cpp
xecutionEngine/Compiler.cpp
xecutionEngine/bcc.cpp
d3c551fbc76ad424577335b40491436cbc0dbd86 01-Jul-2011 Shih-wei Liao <sliao@google.com> Enhance the disassembler for MCJIT codegen.

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

Change-Id: Idf8db7cff7d51afe002d98e7f400cb61650d50d8
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.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
xecutionEngine/CacheReader.cpp
xecutionEngine/CacheWriter.cpp
xecutionEngine/Compiler.cpp
xecutionEngine/MCCacheReader.cpp
xecutionEngine/MCCacheWriter.cpp
xecutionEngine/Script.cpp
xecutionEngine/Sha1Helper.cpp
xecutionEngine/Sha1Helper.h
d18a3df2628d26f65a1172ec2e3e0816731499f9 25-Jun-2011 Stephen Hines <srhines@google.com> Revert "Fix the libbcc SHA1 checksum dependency"

This reverts commit 89175b9e4c07df1302374421096d6e1355954ace.
xecutionEngine/CacheReader.cpp
xecutionEngine/CacheWriter.cpp
xecutionEngine/Compiler.cpp
xecutionEngine/MCCacheReader.cpp
xecutionEngine/MCCacheWriter.cpp
xecutionEngine/Script.cpp
xecutionEngine/Sha1Helper.cpp
xecutionEngine/Sha1Helper.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
xecutionEngine/CacheReader.cpp
xecutionEngine/CacheWriter.cpp
xecutionEngine/Compiler.cpp
xecutionEngine/MCCacheReader.cpp
xecutionEngine/MCCacheWriter.cpp
xecutionEngine/Script.cpp
xecutionEngine/Sha1Helper.cpp
xecutionEngine/Sha1Helper.h
f9a20439fd6ebe43cf150f363d7ef43bb38a1dc4 24-Jun-2011 Joseph Wen <josephwen@google.com> Merge "Turn on NEON support for Nexus S"
51001b86751c1ca36307eddc44a65336079fb698 24-Jun-2011 Joseph Wen <josephwen@google.com> Turn on NEON support for Nexus S

Change-Id: I81c9cdd56539990a05bb67cd60cc805dd31861b5
xecutionEngine/Compiler.cpp
a5865c6458f34294e82aaaff013d3e59a3fabf85 24-Jun-2011 Joseph Wen <josephwen@google.com> Merge "Fixbug libbcc cache variable relocation."
4e199def03f60a4b5ba03f741603eeb25316527b 24-Jun-2011 Joseph Wen <josephwen@google.com> Fixbug libbcc cache variable relocation.

Change-Id: I18f98e366dfc57b5e81dfdcfadcf5d99fbf9ffd2
xecutionEngine/MCCacheReader.cpp
xecutionEngine/MCCacheReader.h
xecutionEngine/MCCacheWriter.cpp
xecutionEngine/MCCacheWriter.h
33f8af8257da01cb5d7090b01790e1908a9ba519 24-Jun-2011 Stephen Hines <srhines@google.com> Move divsi3, modsi3, udivsi3, umodsi3 to libbcc.

BUG=3435530

Change-Id: I7225ff7a1b3b8078db24fd28a38296c1bdc78f4e
xecutionEngine/Runtime.def
xecutionEngine/RuntimeStub.c
xecutionEngine/RuntimeStub.h
2d4c5f6da8a6f05d0866a6451fd8563078f728bd 22-Jun-2011 Shih-wei Liao <sliao@google.com> Fix soju runtime. (Tablet is fine, but phone now requires __aeabi_memset.)

Add __aeabi_memset.
Change-Id: I7f08d6b5cbc179a41b00b7e5b6bf507b07d50cd2
xecutionEngine/Runtime.def
3cafd226be61812a73704830702bbe8c004ad5f9 21-Jun-2011 Shih-wei Liao <sliao@google.com> Add missing Config.h (for USE_MCJIT)

Change-Id: I4defab3a1ac07aaab9720e628bc86f678688aed4
xecutionEngine/ScriptCached.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
xecutionEngine/CacheReader.cpp
xecutionEngine/CacheWriter.cpp
xecutionEngine/Compiler.cpp
xecutionEngine/MCCacheReader.cpp
xecutionEngine/MCCacheWriter.cpp
xecutionEngine/ScriptCached.h
xecutionEngine/bcc.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
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
xecutionEngine/ScriptCached.h
f12077c0691a1043a2dd7c0430f4edf4508a7b99 21-Jun-2011 Shih-wei Liao <sliao@google.com> Fix MCJIT LTO breakage problem.

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

Change-Id: I36cd6c515c496e93fc15ad1b4605009d9c6dd2c0
xecutionEngine/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
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
6d0804b59a47c62b287f1935fc955b2a4da91ad5 19-Jun-2011 Shih-wei Liao <sliao@google.com> Fix coding style

Change-Id: I1e9f9fb3dde91aee5da4fe89a94171a952d43781
xecutionEngine/MCCacheReader.cpp
xecutionEngine/MCCacheWriter.cpp
b65410dc19b10afe3d99e28283b6206f94768ec3 19-Jun-2011 Shih-wei Liao <sliao@google.com> Style in using #if USE_MCJIT and #if USE_OLD_JIT

Change-Id: Ia824c7fac549b4cb6582b461336a18ce51faef74
xecutionEngine/Script.cpp
749a51ca883cf7b0e181ec5ae2fb7d0fabca7c90 18-Jun-2011 Shih-wei Liao <sliao@google.com> Add BCC_REFLECT_TO_LIBRS debugging switch.

Change-Id: I9e743bdd6c5a8910476ab30db312fca543b094c4
xecutionEngine/Compiler.cpp
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
xecutionEngine/Compiler.h
xecutionEngine/MCCacheReader.cpp
xecutionEngine/MCCacheReader.h
xecutionEngine/MCCacheWriter.cpp
xecutionEngine/MCCacheWriter.h
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/ScriptCached.cpp
xecutionEngine/ScriptCached.h
xecutionEngine/ScriptCompiled.h
xecutionEngine/SourceInfo.cpp
7d1bf58649eb8ddc3431f104dbde8cb5711b6ec9 13-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Add fine-grain debug message.
xecutionEngine/Compiler.cpp
70dd998ad9d75fddfa513a420e078bec2938d539 13-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Fix bug: Use same algorithm to generate export var list.
xecutionEngine/Compiler.cpp
2d37d30d205d907125d3560834c9cd13f5c4eee2 13-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Code cleanup: Print better-looking LOGD message.
xecutionEngine/bcc.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.
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
xecutionEngine/ScriptCompiled.cpp
4cc0033ef37fc28501d2e337c5bd3b072b9edad0 12-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Extract LTO related code from compile function.
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
b0ceca26bf000b6d18289b8491b174ad3d1fc93a 12-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Rename to USE_OLD_JIT and USE_MCJIT.
xecutionEngine/Compiler.cpp
f0b0d9785c9ff751792da1fa6a4a824dda437bdf 12-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Keep the onwership of TargetData. Dont give it to CodeGenPasses.
xecutionEngine/Compiler.cpp
09b6c1cf826b7fcb31fb0590250352d037b5d249 24-May-2011 Nowar Gu <nowar100@gmail.com> Fix Android.mk and namespace prefix std.
odeGen/CodeEmitter.cpp
xecutionEngine/Compiler.cpp
xecutionEngine/Script.cpp
6c0c7b03307a6e6dacb163df804a03b6bae36ce6 22-May-2011 Shih-wei Liao <sliao@google.com> Use FileHandle for MC object file

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

Change-Id: I76e896c9ee5680fec332a5586e049f05f6eb8904
xecutionEngine/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
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/ScriptCompiled.h
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
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
898c5a90f3a63248d236161130003b3315e03956 18-May-2011 Shih-wei Liao <sliao@google.com> Integrate from jush MC Assembler is done.

Change-Id: I5e640691397b8988a6b27fb454c4bfc24a4f5c41
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/ScriptCompiled.h
27b35101c2323e96fbb4df41b0de0eed468f6fa9 12-May-2011 Stephen Hines <srhines@google.com> Log LLVM error messages in libbcc.

Change-Id: I97f1e73f28c326c5df8a3cfca2bb50692ce32999
xecutionEngine/Script.cpp
bbcef8ad069ee33c3bfc52dcd1bd6e1a7633e1f9 05-May-2011 Stephen Hines <srhines@google.com> Properly handle asserts for libbcc.

BUG=3430681

Change-Id: I906bbdefa6724cefa0e11f04ff1c5a9bc85ab88b
odeGen/CodeEmitter.cpp
odeGen/CodeEmitter.h
odeGen/CodeMemoryManager.cpp
odeGen/CodeMemoryManager.h
xecutionEngine/Compiler.cpp
xecutionEngine/Runtime.c
cfd23fde40cf0cb600dd8a09563ff8fe3e5f9c0a 20-Apr-2011 Shih-wei Liao <sliao@google.com> Modify CodeEmitter due to upstream API changes.

Upstream changed the API of mpTarget->createMCInstPritner.
Apply changes of csmon to migrate to llvm upstream r129128. More CLs coming next.

Change-Id: I1d8f840f6564431374fde7be9e09cd0ddac88e8e
odeGen/CodeEmitter.cpp
odeGen/CodeEmitter.h
40b7fba14f35a159991067132990463bfaa800c0 18-Mar-2011 Stephen Hines <srhines@google.com> Re-enable warnings as errors.

Change-Id: I0a512eea437e38759a53e0cafec13b8157bf86a5
xecutionEngine/CacheReader.cpp
c4ea07fae41dad1b38cb5d9ab802f78d99c8b00f 09-Mar-2011 Logan Chien <tzuhsiang.chien@gmail.com> Apply changes to sync with llvm upstream.
odeGen/CodeEmitter.cpp
xecutionEngine/ContextManager.cpp
xecutionEngine/ContextManager.h
xecutionEngine/SourceInfo.cpp
2638e4c3c82c1e0fa7e3b56851b2f3228e1dc7a2 03-Mar-2011 Stephen Hines <srhines@google.com> Use arm target triple instead of x86.

BUG=3508986

Change-Id: I785359697fa7986e124d7d1e00ad2c2f7f36efcf
criptCRT/Android.mk
criptCRT/build_clcore.sh
45e84be0bbe39c5e08e1c2a45c62e09c9dcd0582 27-Feb-2011 Logan <tzuhsiang.chien@gmail.com> Rename bcc -> ExecutionEngine , runtime -> ScriptCRT
xecutionEngine/CacheReader.cpp
xecutionEngine/CacheReader.h
xecutionEngine/CacheWriter.cpp
xecutionEngine/CacheWriter.h
xecutionEngine/Compiler.cpp
xecutionEngine/Compiler.h
xecutionEngine/ContextManager.cpp
xecutionEngine/ContextManager.h
xecutionEngine/DebugHelper.h
xecutionEngine/FileHandle.cpp
xecutionEngine/FileHandle.h
xecutionEngine/Runtime.c
xecutionEngine/Runtime.def
xecutionEngine/Runtime.h
xecutionEngine/RuntimeStub.c
xecutionEngine/RuntimeStub.h
xecutionEngine/Script.cpp
xecutionEngine/Script.h
xecutionEngine/ScriptCached.cpp
xecutionEngine/ScriptCached.h
xecutionEngine/ScriptCompiled.cpp
xecutionEngine/ScriptCompiled.h
xecutionEngine/Sha1Helper.cpp
xecutionEngine/Sha1Helper.h
xecutionEngine/SourceInfo.cpp
xecutionEngine/SourceInfo.h
xecutionEngine/bcc.cpp
xecutionEngine/bcc_internal.h
criptCRT/Android.mk
criptCRT/build_clcore.sh
criptCRT/rs_cl.c
criptCRT/rs_core.c
cc/CacheReader.cpp
cc/CacheReader.h
cc/CacheWriter.cpp
cc/CacheWriter.h
cc/Compiler.cpp
cc/Compiler.h
cc/ContextManager.cpp
cc/ContextManager.h
cc/DebugHelper.h
cc/FileHandle.cpp
cc/FileHandle.h
cc/Runtime.c
cc/Runtime.def
cc/Runtime.h
cc/RuntimeStub.c
cc/RuntimeStub.h
cc/Script.cpp
cc/Script.h
cc/ScriptCached.cpp
cc/ScriptCached.h
cc/ScriptCompiled.cpp
cc/ScriptCompiled.h
cc/Sha1Helper.cpp
cc/Sha1Helper.h
cc/SourceInfo.cpp
cc/SourceInfo.h
cc/bcc.cpp
cc/bcc_internal.h
untime/Android.mk
untime/build_clcore.sh
untime/rs_cl.c
untime/rs_core.c
52ca0185b65bf2f73fcb807d8b6dd04a82427dc6 27-Feb-2011 Logan <tzuhsiang.chien@gmail.com> Eliminate rs_cl compilation warning.
untime/rs_cl.c
4dcd6798f3db374a056ea6acc6b425f544c5207c 27-Feb-2011 Logan <tzuhsiang.chien@gmail.com> Create DebugHelper.h

From now on, include DebugHelper.h for debug purpose.
cc/CacheReader.cpp
cc/CacheWriter.cpp
cc/Compiler.cpp
cc/ContextManager.cpp
cc/ContextManager.h
cc/DebugHelper.h
cc/FileHandle.cpp
cc/Script.cpp
cc/ScriptCached.cpp
cc/ScriptCompiled.cpp
cc/Sha1Helper.cpp
cc/Sha1Helper.h
cc/SourceInfo.cpp
cc/bcc.cpp
825c3b2d2e18d54626d277f441de47ee849ef03b 27-Feb-2011 Logan <tzuhsiang.chien@gmail.com> Add NULL guard for mSourceList[i].
cc/Script.cpp
96d250ebab6569a18c9edb7f03a03dd7d77ef288 27-Feb-2011 Logan <tzuhsiang.chien@gmail.com> Add const-qualifier for isManagingContext.
cc/ContextManager.cpp
cc/ContextManager.h
a6f41a76ed28224bccaf3c207943f84c7ef4fb8a 27-Feb-2011 Logan <tzuhsiang.chien@gmail.com> Extract runtime stub and update 2 runtime function

- Extract runtime stub from Runtime.c
- Remove __muldsi3 from Runtime.def. Since it is declared static by
llvm compiler-rt, we should not export them.
- Add alias for __aeabi_f2uiz because libgcc (for android) does not
come with __aeabi_f2uiz.
cc/Runtime.c
cc/Runtime.def
cc/RuntimeStub.c
cc/RuntimeStub.h
4fe966f57524077720f1b729eecf5f320b19513b 27-Feb-2011 Logan <tzuhsiang.chien@gmail.com> Turn off neon which is not working now.
cc/Compiler.cpp
7583c132c44eb63204357bf64b2918f0e98520f7 27-Feb-2011 Logan <tzuhsiang.chien@gmail.com> Add ARM runtime abi support
cc/Runtime.def
1dc6314a03b320f9ba5431834c2deeba13f5f065 25-Feb-2011 Logan <tzuhsiang.chien@gmail.com> Refine ContextManager

- Add isManagingContext API
- Remove global lock and global variable (use Singleton instead)
- Encapsulate getSlotIndexFromAddress API
- Extract configurable define to Config.h
odeGen/CodeMemoryManager.cpp
cc/CacheReader.cpp
cc/CacheWriter.cpp
cc/ContextManager.cpp
cc/ContextManager.h
cc/Script.cpp
cc/ScriptCached.cpp
cc/ScriptCompiled.cpp
34678abffcc138b8a735156a3eb2284613eafd7c 07-Feb-2011 Kenny Root <kroot@google.com> Add x86 target support

Change makefiles to allow targeting X86 along with ARM.

Add some #if statements in Runtime.{c,def} to allow targeting X86 along
wtih ARM.

Change-Id: I3b26ade0e2b464ad410d892bfec22897fa7f7009
cc/Runtime.c
cc/Runtime.def
65ea7414e97aa5d88c344c17a8023b51882f5d6c 01-Feb-2011 Shih-wei Liao <sliao@google.com> am 8eb5fe9a: This fix is for a correctness bug. An app may black-screens due to this caching bug.

* commit '8eb5fe9af685c5a2717f3c1ee6b2565b22692c00':
This fix is for a correctness bug. An app may black-screens due to this caching bug.
8eb5fe9af685c5a2717f3c1ee6b2565b22692c00 01-Feb-2011 Shih-wei Liao <sliao@google.com> This fix is for a correctness bug. An app may black-screens due to this caching bug.

The 1-character fix is straightforward. I just added "!" before an if-expression.
I.e., when a cache file is NOT threadable, we should clear the threadable. The bug
is because I missed the "NOT" above. This issue is different from 3398625.

Change-Id: Iae89a0a754fbd5ad74f80be4d7744fb6734680a7
cc/Script.cpp
d64e1e202423a18ea2eaed06725cdc004dbfb7a6 01-Feb-2011 Shih-wei Liao <sliao@google.com> Remove dirty hack. libRS will use bccLinkFile.

Change-Id: I1b7a8fe9840154ff40755c00f62cd05a59e0c209
cc/bcc.cpp
c1d27438480d9333227e1db6039942f6b2ca0b2b 30-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Add dirty hack for libRS backward compatibility.
cc/bcc.cpp
474cbd2fde362e63375f7a5099ca38b5c67835cf 30-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Add bccReadFile, bccLinkFile.
cc/Compiler.cpp
cc/Compiler.h
cc/Script.cpp
cc/Script.h
cc/ScriptCompiled.h
cc/SourceInfo.cpp
cc/SourceInfo.h
cc/bcc.cpp
42598054d2d278bddde812f160517162e95342c1 26-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Enhance the cache-writing policy.
cc/CacheReader.cpp
cc/CacheReader.h
cc/ContextManager.cpp
cc/ContextManager.h
cc/Script.cpp
cc/Script.h
39ebe2c22f8557752065465345bb3006d06e4497 28-Jan-2011 Shih-wei Liao <sliao@google.com> For b/3381327: Save 159+ms for every launch of Books, YouTube, Movie Studio...

Before this CL, you will see in the logcat:
698 StopWatch D StopWatch calcFileSHA1 time (us): 159162
698 bcc I File opened. fd=45
698 bcc I File closed. fd=45
698 StopWatch D StopWatch calcFileSHA1 time (us): 19282
...
This CL also cleans up bcc's logcat.

Change-Id: I4e23b459eee0dc77ef186fb761a64d731a721517
cc/CacheReader.cpp
cc/Compiler.h
cc/ContextManager.cpp
cc/FileHandle.cpp
cc/Script.cpp
cc/bcc.cpp
untime/rs_core.c
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/CacheReader.cpp
cc/CacheReader.h
cc/CacheWriter.cpp
cc/CacheWriter.h
cc/Compiler.cpp
cc/Compiler.h
cc/Script.cpp
cc/Script.h
cc/ScriptCached.cpp
cc/ScriptCached.h
cc/ScriptCompiled.cpp
cc/ScriptCompiled.h
cc/bcc.cpp
937a0bc1c7396b1da63917b3dc5c5aa6d920005b 27-Jan-2011 Jeff Brown <jeffbrown@google.com> Fix concurrency bugs in BCC JIT cache.

ContextManager could potentially be accessed by multiple threads
so we now use a Mutex.

Fixed a bug in ContextManager where it could mark a slot as having
been assigned even though the subsequent call to mmap failed.

Added code to delete the cache file before recreating it. The existing
file may still be mmapped and executing somewhere else so we don't want
to modify its contents.

Bug: 3345334
Change-Id: I9c8382d9695741b92a4f66c4529ebb5d9a95f1d9
cc/ContextManager.cpp
cc/Script.cpp
b3d3f230fe19870b8dabaad470f6f32330c84996 27-Jan-2011 Shih-wei Liao <sliao@google.com> Fix _RS_STATIC (used while we do on-host linking). Now we do
on-device linking, STATIC no longer makes sense. (b/2943524)

Change-Id: I41ab2266699998957d77d675116ade82c0660fb8
untime/rs_cl.c
50cdf8f0f96362b03fc0476381bd853298c94439 26-Jan-2011 Shih-wei Liao <sliao@google.com> Part II of Fix b/2943524: On-device linking rs_core.

Change-Id: I3a633396e4f93b9453fc5795e092c37f18cf5dd5
untime/rs_core.c
9e658b40138789ffc88be5e2a63818b6c1e1e5ff 26-Jan-2011 Shih-wei Liao <sliao@google.com> Fix b/2943524: On-device linking the rs_cl.

Change-Id: I8df53bcc68723e5551bd2472597f9befb4843a8b
untime/rs_cl.c
13cc037c2fda5e0abcd35146daef3bc3232c11ec 24-Jan-2011 Stephen Hines <srhines@google.com> Add encoded instruction bits to disassembly log.

This is added to help track down code generation bugs like:
b: 3378908

Change-Id: I61a28282a1634f1fe310de7debeb8abc2507c4df
odeGen/CodeEmitter.cpp
ce82d492bbcc4da2d5358275c27ec38eef060fbd 20-Jan-2011 Shih-wei Liao <sliao@google.com> Handle fatal errors for bccRegisterSymbolCallback.

Change-Id: Ifc4e076628c510aee184857e0f8b9df346ad93d7
cc/Script.cpp
cc/Script.h
cc/bcc.cpp
d993b91e6766ec26b904de52d9c8a54bda0d6700 20-Jan-2011 Stephen Hines <srhines@google.com> Skip builtin functions for compiling libraries.

Change-Id: I1121178f45d7a9bc5fbeb2da2addab61a1a04f15
untime/Android.mk
362cd36e5ed927a565d216e21c0acc0c56cccb64 19-Jan-2011 Shih-wei Liao <sliao@google.com> Merge "external/clang/lib/Headers should also be included for libclcore.bc" into honeycomb
dce5985ff48ec9cbf20c4483c43980b73776c033 19-Jan-2011 Ying Wang <wangying@google.com> external/clang/lib/Headers should also be included for libclcore.bc

Change-Id: If00789fd8d7a1313cd2c8ec99dcd791aaf2a4d39
untime/Android.mk
0e570cb2c49ba66caa171a8e97158016bceed08e 19-Jan-2011 Ying Wang <wangying@google.com> Generate header dependency for libclcore.bc.

Change-Id: I15582486170835a0c8c77b1456592620842e19d7
untime/Android.mk
9ab89a9d87693b73f9f0836d51c5405d0ed6ba89 19-Jan-2011 Shih-wei Liao <sliao@google.com> Clean up. C99 enforcement.

Change-Id: I08a80a4448c94a4bebd51bc627c504dfecd72123
untime/Android.mk
untime/build_clcore.sh
untime/rs_core.c
ac949c65877acf1aa5b20bf0195e2b07d0ad48d0 19-Jan-2011 Shih-wei Liao <sliao@google.com> Fix on-device lib.

Change-Id: I8effc170e5984c6ba4ed075e28a6dc2dd3730448
cc/Compiler.cpp
77643ba4fb6e93037940294a03149e68c353b4fa 19-Jan-2011 Ying Wang <wangying@google.com> Add rule to build librclcore.bc as replacement for libruntime.bc.

Change-Id: Ief73c30f426e3f262a6c703fc42ac27d09fb1905
ndroid.mk
untime/Android.mk
untime/Android.mk.disabled
untime/build_clcore.mk
untime/build_clcore.sh
untime/libruntime.bc
untime/libruntime.ll
untime/rs_cl.c
untime/rs_core.c
ff361e6ecced0c211f9b211d96e52968a2e15eab 19-Jan-2011 Shih-wei Liao <sliao@google.com> Rewrite build_clcore.

Change-Id: I1241e66ec691ebb419728042e873ea5f0d337b50
untime/build_clcore.sh
untime/rs_cl.c
untime/rs_core.c
862ca81763a52384c6c33facd7632392bc37e691 18-Jan-2011 Shih-wei Liao <sliao@google.com> Build clcore mk.

Change-Id: I6b9275b18fb61c9b12e1811057c9cd5c5fc41f88
untime/Android.mk.disabled
untime/build_clcore.mk
fdaf43f9923f5a9937eed3014ef39dd8273717f6 18-Jan-2011 Shih-wei Liao <sliao@google.com> build_clcore.sh

Change-Id: I3acf45f629279117b9004397934c501469c8345d
untime/build_clcore.sh
untime/build_runtime.sh
f9728b9705e0cff1ee7151daeb21944320b438da 18-Jan-2011 Shih-wei Liao <sliao@google.com> Build runtime

Change-Id: I8a5c72baa7a05fdf48512bb82ce6a5067475597b
untime/build_runtime.sh
untime/rs_cl.c
untime/rs_core.c
36a0f0c82eec8ec81925ba571e813407d908bbe3 17-Jan-2011 Shih-wei Liao <sliao@google.com> lib/runtime

Change-Id: I676353142b5e65e3ee5402fd47b342838eed6246
cc/Compiler.cpp
cc/rslib.bc
cc/rslib.ll
untime/libruntime.bc
untime/libruntime.ll
67d8f37778f6730cef365a0d469113bc929c0a66 17-Jan-2011 Shih-wei Liao <sliao@google.com> Fix the build.

Change-Id: I345b5485fb13e1db7d94cc0a1ab729bb671a4331
odeGen/CodeEmitter.cpp
odeGen/CodeEmitter.h
odeGen/CodeMemoryManager.cpp
odeGen/CodeMemoryManager.h
585f22c6115b165a5b1e5513f1a545787fbfa06c 17-Jan-2011 Shih-wei Liao <sliao@google.com> Rearrangement.

Change-Id: Ice93d6f674b69448af17311367abf9c55dcf9197
cc/CodeEmitter.cpp
cc/CodeEmitter.h
cc/CodeMemoryManager.cpp
cc/CodeMemoryManager.h
644fcf2e08c7373d7080a2be81444ce6aaba9e2e 17-Jan-2011 Shih-wei Liao <sliao@google.com> Fix rslib.ll.

Change-Id: Icb153e880ceba0d7805c7a9eafb9f1b17faf2f72
cc/Compiler.cpp
cc/rslib.bc
cc/rslib.ll
3ec1d0f8a4760146f325c31e297d32fcaca029a3 17-Jan-2011 Shih-wei Liao <sliao@google.com> Should do "== 1" check.

Change-Id: I49aab50a9269f8f171972f5073e14037fc1ffd44
cc/Compiler.cpp
74fbea7f289935b8593035c26311a8aad1b5e949 17-Jan-2011 Shih-wei Liao <sliao@google.com> Fix bccLinkBC.

Change-Id: I67d6f1a0dabfb272416a1f89258252facfbb3c00
cc/Compiler.cpp
cc/Script.cpp
cc/rslib.bc
cc/rslib.ll
9e27e3b331da916bee6c6c041805e22c3023a83c 16-Jan-2011 Shih-wei Liao <sliao@google.com> bitcode.

Change-Id: I46579d1253ebaebfa70e40e01488601af156cfc2
cc/rslib.ll
847181c8e9dd431e7fab83e04210e3a410e76ce3 16-Jan-2011 Shih-wei Liao <sliao@google.com> Turn on on-device linnking using getFile.

Change-Id: I6451c60fd947824b07dd3ba0793681b19fe3f7f7
cc/Compiler.cpp
f60c0fc9a38521df848346a81801e64860b04c13 16-Jan-2011 Shih-wei Liao <sliao@google.com> Update rslib.bc using llvm-as of r112347.

Change-Id: I90696ac3b76d362ee103a3f7646fbdf0d8f92a82
cc/rslib.bc
358490082d8435aa36feaff8107aa55c3cf363ad 15-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Introduce Config.h. So that libbcc will rebuild on config change.
cc/CodeEmitter.cpp
cc/CodeEmitter.h
cc/Compiler.cpp
cc/Runtime.c
cc/Script.cpp
cc/Script.h
cc/Sha1Helper.cpp
cc/Sha1Helper.h
cc/bcc.cpp
adc2b9a8248d1fae12b11be1b4ff25db6e108867 14-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Eliminate compilation warning.
cc/Script.cpp
f340bf71ff377979d279132dcf5a801d76747d1f 14-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Redesign libbcc api.
cc/CacheWriter.cpp
cc/CodeEmitter.cpp
cc/CodeEmitter.h
cc/Compiler.cpp
cc/Compiler.h
cc/EmittedFuncInfo.h
cc/Script.cpp
cc/Script.h
cc/ScriptCached.cpp
cc/ScriptCached.h
cc/ScriptCompiled.cpp
cc/ScriptCompiled.h
cc/bcc.cpp
cc/bcc_internal.h
be79ada39b5e77b638940d2e157a45904ee09275 12-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Rewrite the internal code of get functions.

getExportVars -> getExportVarCount , getExportVarList
getExportFuncs -> getExportFuncCount , getExportFuncList
getPragmas -> getPragmaCount , getPragmaList
getFunctions -> getFuncCount, getFuncNameList
getFunctionBinary -> getFuncBinary
cc/CacheWriter.cpp
cc/Script.cpp
cc/Script.h
cc/ScriptCached.cpp
cc/ScriptCached.h
cc/ScriptCompiled.cpp
cc/ScriptCompiled.h
cc/bcc.cpp
4f25cc7b54a594a13160757dd52e8c8437e0fbac 14-Jan-2011 Shih-wei Liao <sliao@google.com> Add a runtime library .bc file.

Change-Id: I394387e6100e90af08f7294ec78a85ac0d27ec5b
cc/rslib.bc
8b67c072b0f8b0f10c62e9cbb707d65719428dd4 13-Jan-2011 Shih-wei Liao <sliao@google.com> MemoryBuffer::getFile alternative.

Change-Id: I4a421d893e8e52ea24b3a8de3a070c0010c14922
cc/Compiler.cpp
4ed0ce03ca1d68b279b9e4b5f0ba74cae3a10824 13-Jan-2011 Shih-wei Liao <sliao@google.com> Bitcode checking should return 1 upon failure. Bug fix.

Change-Id: Ic0dc7a4cc1a236044963914134676ddf19f8ffcf
cc/Compiler.cpp
c4cf6545a73aa43c6e74a7fcff72b4d1fe88399f 13-Jan-2011 Shih-wei Liao <sliao@google.com> Life cycle bug-fix. Log library info.

Change-Id: I4fd03560f81369f9f0987a3147e953e2fda0b10b
cc/Script.cpp
a65266520846ecca8cc95587776c050c646ad624 12-Jan-2011 Shih-wei Liao <sliao@google.com> OBCC_VERSION.

Change-Id: I2eb7759ac6179cad66890fd1424638edb66a2475
cc/CacheReader.cpp
44882e19db46fa173ff97f86f2ca30feb4b00906 11-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Remove the unused variables.
cc/CodeEmitter.cpp
cc/Compiler.cpp
cc/Compiler.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/CacheReader.cpp
cc/CacheWriter.cpp
cc/Compiler.cpp
cc/Script.cpp
cc/Sha1Helper.cpp
cc/Sha1Helper.h
cc/bcc.cpp
22e8b2deb801b458cbf05f759b9e6d56909578e0 11-Jan-2011 Shih-wei Liao <sliao@google.com> Further clean up.

Change-Id: Id2d60712028e82ea3637480293a0ae8c6fd3a574
cc/CodeEmitter.cpp
cc/CodeMemoryManager.cpp
cc/CodeMemoryManager.h
9aec09824b119cfd041c49a1fb2689a4987841e4 11-Jan-2011 Shih-wei Liao <sliao@google.com> Clean up.

Change-Id: I6917e2a735dcc19ba157f9a2c61d0cb854632751
cc/CodeEmitter.cpp
cc/CodeEmitter.h
4079b593051c61af2aa3a89e2cdfe213177f5be7 11-Jan-2011 Shih-wei Liao <sliao@google.com> bccLinkBC returns int.

Change-Id: I389240a5bd01c8468b5c08b64b32a221d9018784
cc/bcc.cpp
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/Compiler.cpp
cc/Compiler.h
cc/bcc.cpp
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/Compiler.cpp
cc/Compiler.h
cc/bcc.cpp
f7cfc026ec9e3a307d1252c46be9a089d74d3ef3 07-Jan-2011 Shih-wei Liao <sliao@google.com> Remove spaces.

Change-Id: Icc61ee2de259ab99a4acaaff4e329bb0b5b813ef
cc/CacheWriter.cpp
cc/FileHandle.cpp
cc/Sha1Helper.cpp
efbd0ed65bd9ffae9eb3e64c3acfa56beba62adf 07-Jan-2011 Shih-wei Liao <sliao@google.com> LOGI for loading both Source BC and Source Module

Change-Id: Ifb3d5ed4a9ec950a31c266b006ceb1a5a03e1a15
cc/Script.cpp
269df4664051504b8f543ef3154f601ab8ee5458 06-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Change the order of close(fd) and flock(fd, LOCK_UN)
cc/FileHandle.cpp
216ec7157e6f4ff946ee640895e9b9c466977a86 06-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Make ScriptCached orthogonal to ScriptCompiled.
cc/Script.cpp
cc/ScriptCached.cpp
a2e15af1239e9d5bf6c6c9c5ecb9651217d0efdf 07-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Fix several bugs.

1. Incorrect string pool offset calculation.
2. Move the sha1 checksum calculation code forward.
3. Assign file to mFile (in order to share with different method).
cc/CacheReader.cpp
cc/CacheWriter.cpp
cc/Script.cpp
65719819c51612480a355267c160af56a37c01a9 07-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Fix Compiler::compile() return code. Fix some uninitialized variable.
cc/Compiler.cpp
cc/Script.cpp
cc/Script.h
cc/ScriptCompiled.h
cc6da3fbb1196e6895e32e9e4b37a8e1d705c539 07-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Add LOGE when failed to truncate the file.
cc/FileHandle.cpp
89eb47f387f96e63cad73a4f832ac737b9d73969 07-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Add cache write invocation code.
cc/Script.cpp
9d93894295ac70d85c5792da4c1398391fb67915 07-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Add CacheWriter destructor. And cleanup the code.
cc/CacheWriter.cpp
a27a83f2b01b1710238d077dc9dfd7655f4513cd 07-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Add CacheWriter.
cc/CacheWriter.cpp
cc/CacheWriter.h
cc/Script.cpp
cc/Script.h
cc/ScriptCached.h
cc/ScriptCompiled.h
e7eb773baa51408a0f8f871d779888d0d381b5d7 07-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Change the constructor of CacheReader.
cc/CacheReader.cpp
cc/CacheReader.h
cc/Script.cpp
f3c83cef382eabf2afb9de36278e27bc00a50c7b 06-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Add __isThreadable libRS hack.
cc/CacheReader.cpp
cc/Script.cpp
cc/ScriptCached.h
9a5f868bf0e9a45d2f22c10435ee607f5431389c 06-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Add dependencies to cache reader.
cc/Script.cpp
75cc8a5c58b3260e530eae9f2edd502b71d25373 06-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Reorganize SHA1 checksum code.
cc/CacheReader.cpp
cc/CacheReader.h
cc/Compiler.cpp
cc/Compiler.h
cc/Script.h
cc/Sha1Helper.cpp
cc/Sha1Helper.h
856ceb2774bd2c601970c2bc26fb87b2e9b00258 06-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Complete CacheReader.
cc/CacheReader.cpp
cc/CacheReader.h
cc/ScriptCached.cpp
f7f0ac5d3e12b2e84bd18aa32add4a11bf296dbb 06-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Add the CacheReader. (incomplete)
cc/CacheReader.cpp
cc/CacheReader.h
cc/Script.cpp
cc/Script.h
cc/ScriptCached.cpp
cc/ScriptCached.h
55e6a28f8c720aa3f626ed775addf5b8f8c15802 06-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Comment oBCCRelocationEntry code.
cc/CodeEmitter.cpp
cc/CodeEmitter.h
02286cbd7505ed355cb9b301326db51639789049 06-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Rename Compiler::mCodeDataAddr -> ScriptCompiled::mContext.
cc/CodeMemoryManager.cpp
cc/Compiler.cpp
cc/Compiler.h
cc/Script.cpp
cc/Script.h
cc/ScriptCompiled.cpp
cc/ScriptCompiled.h
77124dfc0db4005d37dbd9d7e5e114dda4e3e430 05-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Change the naming style of OpenMode.
cc/FileHandle.h
cc/Script.cpp
7d2219fbc8ed4599e747d5a161bbc96780a4e74f 05-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Change the behavior of bccRegisterSymbolLookupFn.
cc/Script.cpp
3133c4178f7486dd61abd053f401bfae0a42ef9f 05-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Add linkBC delegation.
cc/Script.cpp
cc/Script.h
04329718e7cc524351742397e02cde13d9c4bf95 05-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Add incomplete cache code.
cc/Script.cpp
f30a6717f97b6cf1f802e32144153d5a891936c4 05-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Remove the deprecated parameter (internally).
cc/Compiler.cpp
cc/Compiler.h
cc/Script.cpp
cc/Script.h
cc/ScriptCompiled.h
cc/bcc.cpp
033f46ea98d154040fbfcf9ee844f09e6aceebc6 05-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Cleanup the new Script::compile() function.
cc/Script.cpp
cc/Script.h
719f6a11f2488518eff6f6739d03b712a7de423f 05-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Remove the unrelated code.
cc/Compiler.cpp
ecf4cbd022f72436fa7c7e2eb5f920ab6cba4a83 05-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Remove cachine mechanism.
cc/Compiler.cpp
cc/Compiler.h
cc/Script.cpp
cc/Script.h
cc/ScriptCompiled.h
cc/bcc.cpp
9d54769a37ee9bdb1f6b7d8eeb4402a220658ed2 05-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Rename the deprecated parameter name.
cc/bcc.cpp
69735840d48e29a08a1ca6d604ee3fbc34250f36 05-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Include logcat header for CodeEmitter.
cc/CodeEmitter.cpp
7dcaac9898741e701098537808296f4e2f2fb422 05-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Extract lookup, getFunctions, getFunctionBinary out of Compiler.
cc/CodeEmitter.cpp
cc/CodeEmitter.h
cc/Compiler.cpp
cc/Compiler.h
cc/ScriptCompiled.cpp
cc/ScriptCompiled.h
2a6dc82a465631f82fc589c6bc68c15ed264f7eb 05-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Extract getExportVars, getExportFuncs, getPragmas out of Compiler.
cc/Compiler.cpp
cc/Compiler.h
cc/ScriptCompiled.cpp
cc/ScriptCompiled.h
ef9e4f7b23f110093bce85b92d8522d496676098 05-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Add file handle class (a simple file wrapper)
cc/FileHandle.cpp
cc/FileHandle.h
3a098f9ef485dfcf780570463dda3e8e05d528ab 31-Dec-2010 Logan <tzuhsiang.chien@gmail.com> Fix the incorrect script status assumption.
cc/Script.cpp
b1feb38a9ebe36f0b864323d185a08b21b4ada71 29-Dec-2010 Logan <tzuhsiang.chien@gmail.com> Cleanup ContextManagaer.
cc/CodeMemoryManager.cpp
cc/ContextManager.cpp
cf3e5219a81a19773bc36368876deb378ad513bf 28-Dec-2010 Logan <tzuhsiang.chien@gmail.com> Make compiler independent of script.
cc/Script.cpp
cc/Script.h
cc/ScriptCompiled.h
eaa0cc3412cdbda8f81476aac15d5cea40b43206 28-Dec-2010 Logan <tzuhsiang.chien@gmail.com> Encapsulate Script::compiler -> Script::mCompiler.
cc/Script.h
cc/bcc.cpp
e4fe88783a4d553fe41cafb3a0ca2d8df240e49c 05-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Remove the unused variables. And cleanup the code.
cc/Compiler.cpp
cc/Compiler.h
4b7ac51e44a55271f1e010ac86b7e160b6aca6cb 05-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Change %x -> %p to eliminate warning.
cc/Compiler.cpp
707a294f9de17f33f9225b52e30f507f7af37c8a 03-Jan-2011 Shih-wei Liao <sliao@google.com> Tune the logging info.

Change-Id: I6d1f0313ea16bafa1025dbe9344652003dce0e3f
cc/bcc.cpp
18dede77de86dd33430252f85444c8fa1115c480 03-Jan-2011 Shih-wei Liao <sliao@google.com> Debugging destructor of Compiler.

Change-Id: I9474263fc0690ff4f7ddf2956ee3b84d19e65700
cc/Compiler.cpp
5a765f701b8634f771d8ba0fa293ee936598dcd1 28-Dec-2010 Logan <tzuhsiang.chien@gmail.com> Rename EmittedFuncEntry -> EmittedFuncInfo.
cc/CodeEmitter.cpp
cc/CodeEmitter.h
cc/EmittedFuncEntry.h
cc/EmittedFuncInfo.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/Compiler.cpp
cc/Compiler.h
6dba3fbd5fffdb0637c79c82ac6f793845589f97 31-Dec-2010 Logan <tzuhsiang.chien@gmail.com> Enhance the close mCacheFd code when loadCacheFile fails.
cc/Compiler.cpp
839134991f6ecd2fb2aed73b8cc93722a4323f88 31-Dec-2010 Logan <tzuhsiang.chien@gmail.com> Remove strange resName slot check.

The resName slot check was added to fix the segmentation
fault. Such segmentation fault is caused by calling
bccReadBC again after bccLoadBinary fails. The problem is
that: the condition which distinguishs the caching mechanism
and compiler is no longer correct after this calling sequence:

bccReadBC -> bccLoadBinary -> bccReadBC
cc/Compiler.cpp
cc/Compiler.h
3c01aaae81208937b7a961f330b27f83eded9cba 31-Dec-2010 Logan <tzuhsiang.chien@gmail.com> Add bcc function logger to ease debug.
cc/bcc.cpp
f15ede3927bd61feba885e928a83f288fc8f4f32 31-Dec-2010 Logan <tzuhsiang.chien@gmail.com> Eliminate the use of MAP_FIXED.

Now we use the address as a suggestion, and then check if our
suggestion is used or not. Since the MAP_FIXED is less portable,
and may overlapped with other mappings, remove MAP_FIXED will
help a lot.
cc/ContextManager.cpp
069b331508c58b4cef37bde60f6b4e4eb9058615 31-Dec-2010 Logan <tzuhsiang.chien@gmail.com> Add log information for bcc context deallocation.
cc/ContextManager.cpp
fd91a240443c9306c59c54c5aea74dbb1b3f88fe 29-Dec-2010 Logan <tzuhsiang.chien@gmail.com> Change the ownership of CodeMemMgr.

Fix the problem of double deallocation of bcc context. Without
this commit, the check in destructor of Compiler doesn't work
properly.
cc/CodeEmitter.cpp
cc/Compiler.cpp
87066279da78172bc669793fc45f2af860fe8a5a 28-Dec-2010 Logan <tzuhsiang.chien@gmail.com> Add build time for debugging.
cc/Compiler.cpp
39736415539953552bc2090adca56684dbcdb323 28-Dec-2010 Logan <tzuhsiang.chien@gmail.com> Rename bccError -> mErrorCode and encapsulate it.
cc/Script.h
0647e9ef2e1d169c55cd0ec2ace86e27f251501e 28-Dec-2010 Logan <tzuhsiang.chien@gmail.com> Rename bcc::BCCscript -> bcc::Script.
cc/Script.h
38d0607284fc6fdc52b4a3337b2bf9c1f1b0aaa1 28-Dec-2010 Logan <tzuhsiang.chien@gmail.com> Eliminate the unnecessary const cast.
cc/Compiler.h
cc/bcc.cpp
d161309b8a97921cdccd34306ee7e7585fa93ad6 23-Dec-2010 Shih-wei Liao <sliao@google.com> Make caching work in terms of the following:
As long as ~Compiler() is triggered from libRS side correctly, we minimize the need of re-JITting.
Use cache as much as possible.

Change-Id: I32c0456d1cba064029888f7211d8d32139d3c672
cc/Compiler.cpp
829c24d125af299ea8ca239bee56566c75a08add 23-Dec-2010 Shih-wei Liao <sliao@google.com> Force the turn-off of caching when it's a cache-hit but
some Script instance is still using this cache.

Change-Id: I58738ef5a1c4f55e030120bd2c031f204e4fe977
cc/Compiler.cpp
8f779978f4f0ef8874212775b9653fbfc0e46c4e 22-Dec-2010 Shih-wei Liao <sliao@google.com> Implement the short-term solution outlined in b/3304773.

Change-Id: Ia36379345ee3d8fbff04e6aa489d04e936331296
cc/Compiler.cpp
cc/bcc.cpp
474d32375b5e5099056889c62639283ecb353601 22-Dec-2010 Shih-wei Liao <sliao@google.com> For resource entry in ZipArchive, the mod time seems to be wrong
sometimes. Turn off the source mod time checking. Rely on SHA1sum.

Change-Id: I949d4a26912b688b002aaf2eafda12e8867e11fc
cc/Compiler.cpp
6466b8462257a2d095f17b1a1a755557f653ac7e 21-Dec-2010 Shih-wei Liao <sliao@google.com> Re-deploy caching.

Change-Id: Ifad19b3f41453dd4165c8c57309c28cdd24df1ef
cc/Compiler.cpp
8ec6fb84f4709fc97b346420669020bcc4813819 21-Dec-2010 Shih-wei Liao <sliao@google.com> Return that is bailing.

Change-Id: Ib7b21c251d3e434590d31f1129d9265dc74c761d
cc/Compiler.cpp
8b77a77e785f0e25b13016ed60770e521dc60e0b 21-Dec-2010 Logan <tzuhsiang.chien@gmail.com> Add sha1sum check for bitcode.
cc/Compiler.cpp
cc/Compiler.h
1fdeb27423baa3ca14a4f0c1606457812883c7a6 20-Dec-2010 Shih-wei Liao <sliao@google.com> is_threadable: "present" to "set"

Change-Id: Ic1df1525a02d26eb59710fdceed0b66dc137e22e
cc/Compiler.cpp
b9b04161de73d43e4f94de26a7211761267ed71a 20-Dec-2010 Logan <tzuhsiang.chien@gmail.com> Add modify time and crc32 to bccReadBC and cache header.
cc/Compiler.cpp
cc/Compiler.h
cc/bcc.cpp
8e695a9cb4402a47d33fccf8dd5128f568329fa5 17-Dec-2010 Jason Sams <rjsams@android.com> Change caching default to off.

Change-Id: I1e1fd23045dae91063d332971ff4a08a42853afe
cc/Compiler.cpp
2417cef58cd051c0b43ce9f9cdc01a17d83ef95a 16-Dec-2010 Shih-wei Liao <sliao@google.com> Add property debug.bcc.nocache in Compiler.cpp. Set to 1 if
you want to turn off caching.

Change-Id: I2e997b387e5c7fd76592fbf2d651ca425f06a506
cc/Compiler.cpp
cc/Compiler.h
931501add5c8199ebe6950766bca69162a322531 16-Dec-2010 Shih-wei Liao <sliao@google.com> When we hit the cache, check if some Script instance is still using this cache.
If so, whenever relocation is turned off,
we need to force the turn off the caching for this Script instance.

Change-Id: I1c9a17a106d656a5eded1515123752c364ea6b69
cc/Compiler.cpp
cc/Compiler.h
cc/ContextManager.cpp
e728cb8a96c7db39f4c6115d20865ab3bacf199b 16-Dec-2010 Shih-wei Liao <sliao@google.com> Interworking with possible GCC-generated code fixed.

Change-Id: I984d51edb6187bea6faf7f411741afe847930204
cc/Compiler.cpp
c5eec48d5085c84a65be85ad3083d3bd9f0231e2 15-Dec-2010 Logan <tzuhsiang.chien@gmail.com> Remove tailing spaces.
cc/ContextManager.h
eb3d12b84ae215ec08de00f6f33228a823e20338 15-Dec-2010 Logan <tzuhsiang.chien@gmail.com> Add context manager (which manages code and data block of each script.)
cc/CodeMemoryManager.cpp
cc/CodeMemoryManager.h
cc/Compiler.cpp
cc/Compiler.h
cc/ContextManager.cpp
cc/ContextManager.h
4ea118f3660a5575680f85641dd19d8d0a139334 07-Dec-2010 Logan <tzuhsiang.chien@gmail.com> Change software float point to hardware float point.
cc/Compiler.cpp
19ee311267b9eda6491a229641a90d1da3a8bb4e 15-Dec-2010 Shih-wei Liao <sliao@google.com> 2 scripts shouldn't use the same area such as global variable region. I.e., fixed the code right after mmap().

Change-Id: I0fc3f4b9beb24f5e4fc70c72dcbfceb58bf1e813
cc/Compiler.cpp
72f67a6b00007e8a222496b1566184d2131cdce8 14-Dec-2010 Shih-wei Liao <sliao@google.com> Aggressive optimization (Initial run).

Change-Id: I05f8d0f311b4f5e81445a11daf2fd1c9cdd1111a
cc/Compiler.cpp
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/Compiler.cpp
cc/Compiler.h
cc/bcc.cpp
db69c5520780785860423e47841cba54e6d157d4 07-Dec-2010 Shih-wei Liao <sliao@google.com> ScriptC's mEnvironment.mIsThreadable needs to survive caching and then caching-reloading.

Change-Id: Id79931ce1a15c7c81aefee8b963958d97e76e6de
cc/CodeEmitter.h
cc/Compiler.cpp
9d94f16d9f684f8c5c941fb8673a3d4dc283bf00 06-Dec-2010 Logan <tzuhsiang.chien@gmail.com> Add modify timestamp check for libbcc and libRS.
cc/Compiler.cpp
cd045f9ad6387c5fb38cade3f2af2250e0bb7b8b 06-Dec-2010 Logan <tzuhsiang.chien@gmail.com> Change the variable name.
cc/Compiler.cpp
a21958a6df9724e6064114f5b153e074cb7677de 05-Dec-2010 Shih-wei Liao <sliao@google.com> Typecast to llvm::raw_fd_ostream*

Change-Id: I1ec33d9bf73168a8990881d3c81a25d5cec2ba57
cc/CodeEmitter.cpp
d6d488c22238badd2a1e13c4bfc68f952e8cc43a 05-Dec-2010 Shih-wei Liao <sliao@google.com> Add debug.

Change-Id: Ib4cd484edbe3b0be68530de68caa4124bbfa4e46
cc/bcc.cpp
d80e65b0376b721220be0caaeccb2adf5866521c 03-Dec-2010 Logan <tzuhsiang.chien@gmail.com> Propogate return code of Compiler::compile() to caller of bccCompileBC.
cc/bcc.cpp
139dc3c57c9367f50ca9e37db05eed318e678d8a 02-Dec-2010 Logan <tzuhsiang.chien@gmail.com> readBC should return negative number if cache file exists.
cc/Compiler.cpp
9ea54b5c030d6d800f480f43fdb9caae5fb7eda3 02-Dec-2010 Shih-wei Liao <sliao@google.com> Successful mmap is not an error. Checksum passing is no longer an error.

Change-Id: Ieedabaca4e2ace8d4587da75ea4f65897b2ec274
cc/CodeMemoryManager.cpp
cc/Compiler.cpp
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/Compiler.cpp
de2ca79b82b533bae32176c84378d7082788e9ee 27-Nov-2010 Logan <tzuhsiang.chien@gmail.com> Re-order the member. (variables first method later)
cc/CodeEmitter.h
cc/CodeMemoryManager.h
cc/Compiler.h
c4395235b212be7a626becb0c03020eab4859739 27-Nov-2010 Logan <tzuhsiang.chien@gmail.com> Rename the file name (looks more similar to LLVM).
cc/CodeEmitter.cpp
cc/CodeEmitter.h
cc/CodeMemoryManager.cpp
cc/CodeMemoryManager.h
cc/Compiler.cpp
cc/Compiler.h
cc/EmittedFuncEntry.h
cc/Runtime.c
cc/Runtime.def
cc/Runtime.h
cc/Script.h
cc/bcc.cpp