History log of /frameworks/compile/libbcc/lib/Core/Compiler.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a48ea364652efcf947dd33c8a6ba893e9c00dd6a 02-Jun-2016 David Gross <dgross@google.com> Delete simple reduction implementation.

Bug: 27298560
Change-Id: Id826426fc81458ad66118bf7b2059a7a6f02a047
/frameworks/compile/libbcc/lib/Core/Compiler.cpp
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
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)
/frameworks/compile/libbcc/lib/Core/Compiler.cpp
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
/frameworks/compile/libbcc/lib/Core/Compiler.cpp
791d57c5b387448cd672010ff970daed5ae41773 30-Mar-2016 David Gross <dgross@google.com> Merge "Preserve generalized reduction combiner function for use by driver." into nyc-dev
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
/frameworks/compile/libbcc/lib/Core/Compiler.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
/frameworks/compile/libbcc/lib/Core/Compiler.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
/frameworks/compile/libbcc/lib/Core/Compiler.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
/frameworks/compile/libbcc/lib/Core/Compiler.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
/frameworks/compile/libbcc/lib/Core/Compiler.cpp
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
/frameworks/compile/libbcc/lib/Core/Compiler.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
/frameworks/compile/libbcc/lib/Core/Compiler.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
/frameworks/compile/libbcc/lib/Core/Compiler.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
/frameworks/compile/libbcc/lib/Core/Compiler.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
/frameworks/compile/libbcc/lib/Core/Compiler.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
/frameworks/compile/libbcc/lib/Core/Compiler.cpp
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
/frameworks/compile/libbcc/lib/Core/Compiler.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
/frameworks/compile/libbcc/lib/Core/Compiler.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
/frameworks/compile/libbcc/lib/Core/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
/frameworks/compile/libbcc/lib/Core/Compiler.cpp
750ee65e129a2baef2dc5bb9ad210b45c9184926 17-Apr-2015 Stephen Hines <srhines@google.com> Provide a pass that creates information about global variables in RS.

Bug: 20306487

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

Change-Id: I671013c11c7a528254edad5c66f2858953c0f5c4
/frameworks/compile/libbcc/lib/Core/Compiler.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
/frameworks/compile/libbcc/lib/Core/Compiler.cpp
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
/frameworks/compile/libbcc/lib/Core/Compiler.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
/frameworks/compile/libbcc/lib/Core/Compiler.cpp
1bd9f627fa0affb457507e86b0b6684c695fe726 18-Mar-2015 Stephen Hines <srhines@google.com> Update libbcc for LLVM rebase to r230699.

Change-Id: If6717d2df5cc74e7daa493a4be7ac891f8e4928f
/frameworks/compile/libbcc/lib/Core/Compiler.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
/frameworks/compile/libbcc/lib/Core/Compiler.cpp
7f59b5f76c7149b42ff6d4910c6f6165b3358e72 12-Feb-2015 Tim Murray <timmurray@google.com> Disable autovectorization for now because of a scalarizer bug.

bug 19324423

Change-Id: I7e15d66ff5cad7c53dc23384a2afb47caef5719e
/frameworks/compile/libbcc/lib/Core/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
/frameworks/compile/libbcc/lib/Core/Compiler.cpp
107f50d54d9606e495187d0e89225d3d9fdc1fa9 20-Jan-2015 Stephen Hines <srhines@google.com> Remove linkloader from frameworks/compile/libbcc.

Bug: 18322681

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

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

Change-Id: Ie5cc152d93f5e75383f7c21a4523579cfae8823f
/frameworks/compile/libbcc/lib/Core/Compiler.cpp
50f5eb4b27ce6dd2a02cf389ac2acfa95c6939f1 10-Dec-2014 Tim Murray <timmurray@google.com> Enable autovectorization.

Change-Id: Ic35548c3875e5a078e46b594aae7accee79e47b6
/frameworks/compile/libbcc/lib/Core/Compiler.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
/frameworks/compile/libbcc/lib/Core/Compiler.cpp
1e0557ae75ae780352845bd2ba0f4babdc5ae4e6 03-Dec-2014 Pirama Arumuga Nainar <pirama@google.com> BCC updates to handle linkloader removal

Bug: 18322681

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

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

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

Change-Id: Ib0a16b7e7aff89490ac631885ffa97dd31c184ce
/frameworks/compile/libbcc/lib/Core/Compiler.cpp
579361346abc6696c805e3904a18178ebce4e4a3 26-Nov-2014 Stephen Hines <srhines@google.com> Update libbcc for LLVM rebase to r222494.

Change-Id: Idebd60a98bbe62007086386e5497d1df7d901e3d
/frameworks/compile/libbcc/lib/Core/Compiler.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
/frameworks/compile/libbcc/lib/Core/Compiler.cpp
b7bce7436876884dfd78ec41d147ddbe47e37cbd 04-Nov-2014 Tim Murray <timmurray@google.com> generate calls to rsSetObject inside .helper invoke functions

bug 18071147

Change-Id: I0ff00b3a86cd799cdb1eebcd1000b74070ee0cdf
/frameworks/compile/libbcc/lib/Core/Compiler.cpp
b4447cd2b14f53efd9102d28da48000be7b2d4fd 20-Aug-2014 Chris Wailes <chriswailes@google.com> De-cruft the libbcc compiler infrastructure.

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

Change-Id: I121463df6309c377496cebea8cbb82bb49624ed1
/frameworks/compile/libbcc/lib/Core/Compiler.cpp
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.
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
/frameworks/compile/libbcc/lib/Core/Compiler.cpp
900c6c1f08f7c572125d7d39abe0f0f9eafbfa14 14-Aug-2014 Chris Wailes <chriswailes@google.com> Replace NULL macros with nullptr literals.

Change-Id: Id2311cda59dd42c74b3ed54d3ff6cfd509012738
/frameworks/compile/libbcc/lib/Core/Compiler.cpp
f21590eae009b4f596d7e448d0b8e142c46fc382 16-Jul-2014 Stephen Hines <srhines@google.com> Update libbcc for LLVM rebase to r212749.

Change-Id: I40304090ada740c2451d32e01c7deed4f4c8c409
/frameworks/compile/libbcc/lib/Core/Compiler.cpp
d0993af5b1337f8186dd9aedea2e138a919e02e9 16-Jul-2014 Stephen Hines <srhines@google.com> Update libbcc for LLVM rebase to r212749.

Change-Id: I40304090ada740c2451d32e01c7deed4f4c8c409
/frameworks/compile/libbcc/lib/Core/Compiler.cpp
a630078b32eb37a8de91ae09e26babf235d4fc9f 29-May-2014 Stephen Hines <srhines@google.com> Update libbcc for LLVM 3.5 rebase (r209713).

Change-Id: I0e882c84176d462958db05e4c9c10bfe995b8ed1
/frameworks/compile/libbcc/lib/Core/Compiler.cpp
c2074caf075818abb6d3689ad924ca09f4a5ba1f 09-Apr-2014 Tim Murray <timmurray@google.com> Update libbcc for 64-bit support.

Change-Id: I369a82eb6730a33c46b6700408952fe34020ca51
/frameworks/compile/libbcc/lib/Core/Compiler.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
/frameworks/compile/libbcc/lib/Core/Compiler.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
/frameworks/compile/libbcc/lib/Core/Compiler.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
/frameworks/compile/libbcc/lib/Core/Compiler.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
/frameworks/compile/libbcc/lib/Core/Compiler.cpp
b730e239619a546d93e5926ea92d698ab77ec7f6 10-Jan-2013 Stephen Hines <srhines@google.com> Updates for LLVM merge to r171906 on 20130108.

Change-Id: I096cb90103b19e3110ea562d60e5eb8ad48d9b67
/frameworks/compile/libbcc/lib/Core/Compiler.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
/frameworks/compile/libbcc/lib/Core/Compiler.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
/frameworks/compile/libbcc/lib/Core/Compiler.cpp
2f6a493aea1b6e5ad318a759fedb58713a5a374c 03-May-2012 Stephen Hines <srhines@google.com> Revert "Make libbcc public."

This reverts commit 80232dd16c0affb2afae01cde6c94abf23ac1ba8.
/frameworks/compile/libbcc/lib/Core/Compiler.cpp
5b948190e3b311d06526addbb8f0e77a76da2467 03-May-2012 Stephen Hines <srhines@google.com> Revert "Refine DebugHelper.h into Log.h."

This reverts commit b519fe3f1d780873608f41d69316054e05c7e918.
/frameworks/compile/libbcc/lib/Core/Compiler.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.
/frameworks/compile/libbcc/lib/Core/Compiler.cpp
80232dd16c0affb2afae01cde6c94abf23ac1ba8 12-Apr-2012 Zonr Chang <zonr.net@gmail.com> Make libbcc public.

This commit is not expected to change any functionality.
/frameworks/compile/libbcc/lib/Core/Compiler.cpp