summaryrefslogtreecommitdiffstats
path: root/lib/Core
AgeCommit message (Collapse)AuthorFilesLines
2014-09-09Ensure that we only compile the proper bitwidth bitcode for an architecture.Stephen Hines1-0/+17
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
2014-07-25Update libbcc for LLVM rebase to r212749.Stephen Hines2-8/+7
Change-Id: I40304090ada740c2451d32e01c7deed4f4c8c409
2014-05-30Update libbcc for LLVM 3.5 rebase (r209713).Stephen Hines2-5/+2
Change-Id: I0e882c84176d462958db05e4c9c10bfe995b8ed1
2014-05-05Remove Makefile->Header code generation from libbcc.Stephen Hines1-2/+0
These variables/defines are not often used and they complicate the use of target information in other Android libraries. Change-Id: I93dc71e17ae8ece1be46a3a609639ec8380cdaf9
2014-04-23Update libbcc for 64-bit support.Tim Murray2-22/+22
Change-Id: I369a82eb6730a33c46b6700408952fe34020ca51
2014-04-07Add DISABLE_LLVM_DEVICE_BUILDS to libbcc.Tim Murray1-2/+2
Change-Id: Iaad7b2ea8eea6c89c1c1a3d0e145bbb7bf60c6b9
2014-02-19Run verifier on RenderScript .bc modulesTobias Grosser1-0/+9
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
2013-08-09Update libbcc for LLVM merge to r187914.Stephen Hines1-28/+0
Switch over to new llvm::sys::path implementation. Remove unused Source::CreateFromFd(). F_Binary is now in llvm::sys::fs. Change-Id: Ib0ebb8a1d8ea04e5cf36c8082cf31dab2e144554
2013-07-23Remove beforeExecuteLTOPasses callbackTobias Grosser1-10/+3
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
2013-07-23Improve error code to error string translationTobias Grosser1-49/+45
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
2013-07-01Remove manually inlined populateLTOPassManager()Tobias Grosser1-77/+5
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
2013-06-26Dump LLVM-IR before generating target codeTobias Grosser1-3/+8
Dumping the IR earlier prevents target specific passes to modify the IR before it is dumped. Change-Id: I8a61efb7140b0c2025381ea1ad1f4cf3522ec870
2013-06-15Remove libbcc's dependence on mclinker.Stephen Hines2-186/+2
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
2013-05-06Adapt libbcc for LLVM/Clang/mclinker update.Stephen Hines1-5/+5
Change-Id: I80260f41b3c80e4cd260480ff32ee35a9215e39a
2013-02-14Add LinkRuntimeCallback() and supporting functions to RS compiler.Stephen Hines1-0/+5
Change-Id: I7745406a94ba74896ee98752a3de106d2672159d
2013-01-21Updates for LLVM merge to r171906 on 20130108.Stephen Hines3-21/+21
Change-Id: I096cb90103b19e3110ea562d60e5eb8ad48d9b67
2013-01-11Apply changes to migrate on MCLinker 2.0.2-1.Shih-wei Liao1-215/+38
Change-Id: I8b25ad23c257e8a98069611dde525cc6d37e06e9
2012-12-17Apply changes to migrate on MCLinker 2.0.1.Shih-wei Liao1-133/+107
Change-Id: I6a3a4fac269a7dbec6ecbf06cccfddf08a03251b
2012-08-02Apply changes to migrate on MCLinker 1.4.0-phoenix.Shih-wei Liao1-7/+4
Change-Id: Ib83f08c7bb115a5824ee67e8fd7869641a6a561c
2012-07-27Add Source::CreateFromFd(). BUG=6886348.Shih-wei Liao1-1/+27
Change-Id: I70bba15b664d6290931faba0482be1241dcc6ede
2012-07-27Remove MCLinker headers dependency.Shih-wei Liao1-10/+14
Change-Id: I265770d4157068a934c9ae9d42fdd621b2683a68
2012-07-27Fix McLinker and bcc::Linker default library search path.Shih-wei Liao1-1/+6
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
2012-07-17Fix Mac build breakage: Remove 2nd, redundant including of llvm.Shih-wei Liao1-2/+2
Change-Id: Ic428ff290ffd1be11687d8bf1dfa7bc14bcf6a42
2012-07-17Linker funtionality based on MCLinker.Shih-wei Liao2-0/+379
Change-Id: I0c0d105a2538f1f8ccf9f6925c027b32da3c9ca8
2012-07-17Add MCLinker hooks to libbcc.Shih-wei Liao1-0/+2
Change-Id: I3f1260537d719f9501a1d6a140f02c258231b7c2
2012-07-16Revert "Add MCLinker hooks to libbcc."Shih-wei Liao1-2/+0
This reverts commit c441933658023404534825b8348f83650c8a15ee.
2012-07-16Add MCLinker hooks to libbcc.Shih-wei Liao1-0/+2
Change-Id: I18117700788b685642498f80bbe0433b2fa2d186
2012-07-12Remove all deprecated BCC C APIs.Shih-wei Liao3-508/+1
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
2012-07-12Link libclcore.bc for RenderScript by default.Shih-wei Liao1-2/+8
Change-Id: I6278bb4183a13ae3485a2afecb6b87ea849ad01e
2012-07-12Refine SHA-1 related stuffs.Zonr Chang1-7/+7
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
2012-07-12Refine DebugHelper.h into Log.h.Zonr Chang4-25/+4
This removes USE_FUNC_LOGGER from libbcc-config.mk. Change-Id: Ia496d41388135706a501bd362075f53d1c0eb6aa
2012-07-12Get build information in C++ way.Zonr Chang1-0/+13
Change-Id: I5d2d2c18192bf9e5d2b9aa5a2bc1cce331191572
2012-07-12Make libbcc public.Zonr Chang9-0/+1314
This commit is not expected to change any functionality. Change-Id: I364e8bad32d946281b78b1ce36a1b26bf60e3055
2012-05-03Revert "Make libbcc public."Stephen Hines9-1314/+0
This reverts commit 80232dd16c0affb2afae01cde6c94abf23ac1ba8.
2012-05-03Revert "Get build information in C++ way."Stephen Hines1-13/+0
This reverts commit 44d991658dbd5b80648a3944f1760ad19bbcac09.
2012-05-03Revert "Refine DebugHelper.h into Log.h."Stephen Hines4-4/+25
This reverts commit b519fe3f1d780873608f41d69316054e05c7e918.
2012-05-03Revert "Refine SHA-1 related stuffs."Stephen Hines1-7/+7
This reverts commit 6378d8f50449d79b8937c238b968ceeb9dbd4ee1. Conflicts: Android.mk Change-Id: Ib8988583a0b916d21e9314e919269f02c4dd600e
2012-05-03Revert "Link libclcore.bc for RenderScript by default."Stephen Hines1-8/+2
This reverts commit 0467d9a53b20f8c9069019cde9f035c127acbc9a.
2012-05-03Revert "Remove all deprecated BCC C APIs."Stephen Hines3-1/+508
This reverts commit 170d420231f10d5b914fde505202c58f11f43e27.
2012-04-25Remove all deprecated BCC C APIs.Shih-wei Liao3-508/+1
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
2012-04-25Link libclcore.bc for RenderScript by default.Shih-wei Liao1-2/+8
Change-Id: I93eb5a09689373afa973b8c08dd0842152220217
2012-04-25Refine SHA-1 related stuffs.Zonr Chang1-7/+7
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.
2012-04-25Refine DebugHelper.h into Log.h.Zonr Chang4-25/+4
This removes USE_FUNC_LOGGER from libbcc-config.mk.
2012-04-25Get build information in C++ way.Zonr Chang1-0/+13
2012-04-25Make libbcc public.Zonr Chang9-0/+1314
This commit is not expected to change any functionality.