a48ea364652efcf947dd33c8a6ba893e9c00dd6a |
02-Jun-2016 |
David Gross <dgross@google.com> |
Delete simple reduction implementation. Bug: 27298560 Change-Id: Id826426fc81458ad66118bf7b2059a7a6f02a047
ompiler.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)
ompiler.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
ompiler.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
ompiler.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
ndroid.mk
ompiler.cpp
ource.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
ompiler.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
ompiler.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
ompiler.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
ompiler.cpp
ource.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
ompiler.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
ompiler.cpp
|
6af50b75fc0132a9957f19a11357c446b4836b16 |
19-Aug-2015 |
Dan Willemsen <dwillemsen@google.com> |
Stop using HOST_OS, whitelist windows modules Bug: 23566667 Change-Id: I7ef9d73b897788ed4c8a8d8ca9a582cc08af15f9
ndroid.mk
|
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
ompiler.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
ompiler.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
ompiler.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
ompiler.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
ompiler.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
ompiler.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
ompiler.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
ompiler.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
ompiler.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
ompiler.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
ompiler.cpp
|
1bd9f627fa0affb457507e86b0b6684c695fe726 |
18-Mar-2015 |
Stephen Hines <srhines@google.com> |
Update libbcc for LLVM rebase to r230699. Change-Id: If6717d2df5cc74e7daa493a4be7ac891f8e4928f
ndroid.mk
ompiler.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
ompiler.cpp
|
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
ource.cpp
|
7f59b5f76c7149b42ff6d4910c6f6165b3358e72 |
12-Feb-2015 |
Tim Murray <timmurray@google.com> |
Disable autovectorization for now because of a scalarizer bug. bug 19324423 Change-Id: I7e15d66ff5cad7c53dc23384a2afb47caef5719e
ompiler.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
ompiler.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
ource.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
ompiler.cpp
|
50f5eb4b27ce6dd2a02cf389ac2acfa95c6939f1 |
10-Dec-2014 |
Tim Murray <timmurray@google.com> |
Enable autovectorization. Change-Id: Ic35548c3875e5a078e46b594aae7accee79e47b6
ompiler.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
ompiler.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
ompiler.cpp
|
579361346abc6696c805e3904a18178ebce4e4a3 |
26-Nov-2014 |
Stephen Hines <srhines@google.com> |
Update libbcc for LLVM rebase to r222494. Change-Id: Idebd60a98bbe62007086386e5497d1df7d901e3d
ompiler.cpp
cript.cpp
ource.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
ompiler.cpp
|
b7bce7436876884dfd78ec41d147ddbe47e37cbd |
04-Nov-2014 |
Tim Murray <timmurray@google.com> |
generate calls to rsSetObject inside .helper invoke functions bug 18071147 Change-Id: I0ff00b3a86cd799cdb1eebcd1000b74070ee0cdf
ompiler.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
ompiler.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
ompiler.cpp
|
900c6c1f08f7c572125d7d39abe0f0f9eafbfa14 |
14-Aug-2014 |
Chris Wailes <chriswailes@google.com> |
Replace NULL macros with nullptr literals. Change-Id: Id2311cda59dd42c74b3ed54d3ff6cfd509012738
CCContext.cpp
ompiler.cpp
ource.cpp
|
f21590eae009b4f596d7e448d0b8e142c46fc382 |
16-Jul-2014 |
Stephen Hines <srhines@google.com> |
Update libbcc for LLVM rebase to r212749. Change-Id: I40304090ada740c2451d32e01c7deed4f4c8c409
ompiler.cpp
ource.cpp
|
d0993af5b1337f8186dd9aedea2e138a919e02e9 |
16-Jul-2014 |
Stephen Hines <srhines@google.com> |
Update libbcc for LLVM rebase to r212749. Change-Id: I40304090ada740c2451d32e01c7deed4f4c8c409
ompiler.cpp
ource.cpp
|
a630078b32eb37a8de91ae09e26babf235d4fc9f |
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update libbcc for LLVM 3.5 rebase (r209713). Change-Id: I0e882c84176d462958db05e4c9c10bfe995b8ed1
ompiler.cpp
ource.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
ndroid.mk
|
c2074caf075818abb6d3689ad924ca09f4a5ba1f |
09-Apr-2014 |
Tim Murray <timmurray@google.com> |
Update libbcc for 64-bit support. Change-Id: I369a82eb6730a33c46b6700408952fe34020ca51
ompiler.cpp
ource.cpp
|
c6e6ee4392390c0888f808220adf33334e1f64a4 |
07-Apr-2014 |
Tim Murray <timmurray@google.com> |
Add DISABLE_LLVM_DEVICE_BUILDS to libbcc. Change-Id: Iaad7b2ea8eea6c89c1c1a3d0e145bbb7bf60c6b9
ndroid.mk
|
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
ource.cpp
|
b10c3a7d91556ef31ce91ef018fee4722b783960 |
08-Aug-2013 |
Stephen Hines <srhines@google.com> |
Update libbcc for LLVM merge to r187914. Switch over to new llvm::sys::path implementation. Remove unused Source::CreateFromFd(). F_Binary is now in llvm::sys::fs. Change-Id: Ib0ebb8a1d8ea04e5cf36c8082cf31dab2e144554
ource.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
ompiler.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
ompiler.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
ompiler.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
ompiler.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
ndroid.mk
inker.cpp
|
86e4506416f974d3c717deaca2b17b0792cc2d49 |
07-May-2013 |
Stephen Hines <srhines@google.com> |
Adapt libbcc for LLVM/Clang/mclinker update. Change-Id: I80260f41b3c80e4cd260480ff32ee35a9215e39a
inker.cpp
|
06731a6150ae8014d37258d5f32ef8bc14a3db63 |
13-Feb-2013 |
Stephen Hines <srhines@google.com> |
Add LinkRuntimeCallback() and supporting functions to RS compiler. Change-Id: I7745406a94ba74896ee98752a3de106d2672159d
ource.cpp
|
b730e239619a546d93e5926ea92d698ab77ec7f6 |
10-Jan-2013 |
Stephen Hines <srhines@google.com> |
Updates for LLVM merge to r171906 on 20130108. Change-Id: I096cb90103b19e3110ea562d60e5eb8ad48d9b67
CCContextImpl.h
ompiler.cpp
ource.cpp
|
ca4f96c0f1fcf7a2bdc5a432b751befff149f73d |
03-Jan-2013 |
Shih-wei Liao <sliao@google.com> |
Apply changes to migrate on MCLinker 2.0.2-1. Change-Id: I8b25ad23c257e8a98069611dde525cc6d37e06e9
inker.cpp
|
52acbab46d32526a42f9015f175ea9a552426966 |
17-Dec-2012 |
Shih-wei Liao <sliao@google.com> |
Apply changes to migrate on MCLinker 2.0.1. Change-Id: I6a3a4fac269a7dbec6ecbf06cccfddf08a03251b
inker.cpp
|
03547495b607bb2293a884c0335fe234de49e1dd |
03-Aug-2012 |
Shih-wei Liao <sliao@google.com> |
Apply changes to migrate on MCLinker 1.4.0-phoenix. Change-Id: Ib83f08c7bb115a5824ee67e8fd7869641a6a561c
inker.cpp
|
6202dda52b7898340aac05e73adebc4fb9199f4d |
27-Jul-2012 |
Shih-wei Liao <sliao@google.com> |
Add Source::CreateFromFd(). BUG=6886348. Change-Id: I70bba15b664d6290931faba0482be1241dcc6ede
ource.cpp
|
f0407796f0c3e16065db7fd61a2b09e27aaac24d |
27-Jul-2012 |
Shih-wei Liao <sliao@google.com> |
Remove MCLinker headers dependency. Change-Id: I265770d4157068a934c9ae9d42fdd621b2683a68
inker.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
inker.cpp
|
49e6b46052bca8f297d2be362cd1d327185b896d |
18-Jul-2012 |
Shih-wei Liao <sliao@google.com> |
Fix Mac build breakage: Remove 2nd, redundant including of llvm. Change-Id: Ic428ff290ffd1be11687d8bf1dfa7bc14bcf6a42
ndroid.mk
|
93c8832a6916a54d984764bf83a8a77cbae4143b |
16-Jul-2012 |
Shih-wei Liao <sliao@google.com> |
Linker funtionality based on MCLinker. Change-Id: I0c0d105a2538f1f8ccf9f6925c027b32da3c9ca8
ndroid.mk
inker.cpp
|
e6362661bb058a73c63efb11f4f25a63e77cac8c |
16-Jul-2012 |
Shih-wei Liao <sliao@google.com> |
Add MCLinker hooks to libbcc. Change-Id: I3f1260537d719f9501a1d6a140f02c258231b7c2
ndroid.mk
|
7ea913ce7d1151eb9bf455c2dfbe6b32987444f2 |
17-Jul-2012 |
Shih-wei Liao <sliao@google.com> |
Revert "Add MCLinker hooks to libbcc." This reverts commit c441933658023404534825b8348f83650c8a15ee.
ndroid.mk
|
c441933658023404534825b8348f83650c8a15ee |
16-Jul-2012 |
Shih-wei Liao <sliao@google.com> |
Add MCLinker hooks to libbcc. Change-Id: I18117700788b685642498f80bbe0433b2fa2d186
ndroid.mk
|
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
ndroid.mk
cc.cpp
cc_internal.h
|
2665c2f94ed14c1d15925d83b47aa519a11dafe5 |
25-Apr-2012 |
Shih-wei Liao <sliao@google.com> |
Link libclcore.bc for RenderScript by default. Change-Id: I6278bb4183a13ae3485a2afecb6b87ea849ad01e
cc.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
cc.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
CCContext.cpp
ompiler.cpp
ource.cpp
cc.cpp
|
7a5d423014e1cc95e34764b3ddf8e80ace3509b8 |
12-Apr-2012 |
Zonr Chang <zonr.net@gmail.com> |
Get build information in C++ way. Change-Id: I5d2d2c18192bf9e5d2b9aa5a2bc1cce331191572
cc.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
ndroid.mk
CCContext.cpp
CCContextImpl.cpp
CCContextImpl.h
ompiler.cpp
cript.cpp
ource.cpp
cc.cpp
cc_internal.h
|
2f6a493aea1b6e5ad318a759fedb58713a5a374c |
03-May-2012 |
Stephen Hines <srhines@google.com> |
Revert "Make libbcc public." This reverts commit 80232dd16c0affb2afae01cde6c94abf23ac1ba8.
ndroid.mk
CCContext.cpp
CCContextImpl.cpp
CCContextImpl.h
ompiler.cpp
cript.cpp
ource.cpp
cc.cpp
cc_internal.h
|
aa72a210b0f73671b01984020a74360c10427e31 |
03-May-2012 |
Stephen Hines <srhines@google.com> |
Revert "Get build information in C++ way." This reverts commit 44d991658dbd5b80648a3944f1760ad19bbcac09.
cc.cpp
|
5b948190e3b311d06526addbb8f0e77a76da2467 |
03-May-2012 |
Stephen Hines <srhines@google.com> |
Revert "Refine DebugHelper.h into Log.h." This reverts commit b519fe3f1d780873608f41d69316054e05c7e918.
CCContext.cpp
ompiler.cpp
ource.cpp
cc.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
cc.cpp
|
c4fba3156a3fefef4d5893031d37a5b6b4373896 |
03-May-2012 |
Stephen Hines <srhines@google.com> |
Revert "Link libclcore.bc for RenderScript by default." This reverts commit 0467d9a53b20f8c9069019cde9f035c127acbc9a.
cc.cpp
|
7dfc4d8e7c29fb65ee8c0bef6ad91bf3928a77d1 |
03-May-2012 |
Stephen Hines <srhines@google.com> |
Revert "Remove all deprecated BCC C APIs." This reverts commit 170d420231f10d5b914fde505202c58f11f43e27.
ndroid.mk
cc.cpp
cc_internal.h
|
170d420231f10d5b914fde505202c58f11f43e27 |
25-Apr-2012 |
Shih-wei Liao <sliao@google.com> |
Remove all deprecated BCC C APIs. This commit revises RSCompilerDriver::build(...) method which is custom-made for RenderScript. It also removes RSScript::SourceDependency since RSScript no longer needs to keep dependency information for its associated source. Change-Id: I74335b52d0f9fe91343c30caada2a4df07008e5b
ndroid.mk
cc.cpp
cc_internal.h
|
0467d9a53b20f8c9069019cde9f035c127acbc9a |
25-Apr-2012 |
Shih-wei Liao <sliao@google.com> |
Link libclcore.bc for RenderScript by default. Change-Id: I93eb5a09689373afa973b8c08dd0842152220217
cc.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.
cc.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.
CCContext.cpp
ompiler.cpp
ource.cpp
cc.cpp
|
44d991658dbd5b80648a3944f1760ad19bbcac09 |
12-Apr-2012 |
Zonr Chang <zonr.net@gmail.com> |
Get build information in C++ way.
cc.cpp
|
80232dd16c0affb2afae01cde6c94abf23ac1ba8 |
12-Apr-2012 |
Zonr Chang <zonr.net@gmail.com> |
Make libbcc public. This commit is not expected to change any functionality.
ndroid.mk
CCContext.cpp
CCContextImpl.cpp
CCContextImpl.h
ompiler.cpp
cript.cpp
ource.cpp
cc.cpp
cc_internal.h
|