History log of /frameworks/compile/libbcc/bcinfo/BitcodeTranslator.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
bcb03e5437a811eeaf1dfa895bfe93d841e76660 11-May-2017 David Gross <dgross@google.com> Strip unknown attributes during bitcode translation.

We need to remove attributes unknown to old versions of LLVM before
writing out bitcode, to avoid errors when writing or reading the
bitcode.

Why do we need to strip unknown attributes during bitcode translation
(which always translates from an older version of bitcode to a newer
version of bitcode), even if the input .bc does not contain those
attributes? Because the LLVM bitcode reader calls
llvm::UpgradeCallsToIntrinsic() to canonicalize the attributes of
intrinsic functions. For example, rslist.bc from RsTest_11 contains
calls to @llvm.lifetime.start and @llvm.lifetime.end, which get
canonicalized to have the argmemonly attribute.

Remember that we're writing an old fixed version of bitcode, older
than the "native" LLVM IR we're using, so there may be attributes in
that IR that are not representible in that old fixed version of
bitcode. Furthermore, argmemonly is one of a set of attributes that
seem to be designed as "transient" -- they can appear in the IR
(possibly only on intrinsics, or as the result of some analysis?) but
can never appear in bitcode.

Bug: 37720701

Test: aosp_angler-eng FORCE_BUILD_LLVM_DISABLE_NDEBUG=true
1) slang/tests
2) slang/lit-tests
3) RsTest (32-bit, 64-bit)
4) RsTest_11
5) cts -m RenderscriptTest

Change-Id: I42374acb34029f7cf5a3dbf7d9a701250d53ecc8
/frameworks/compile/libbcc/bcinfo/BitcodeTranslator.cpp
d5c690148285e5c3a396ff0a48a3c20bdd833dd5 10-Jan-2017 Mark Salyzyn <salyzyn@google.com> liblog: use log/log.h when utilizing ALOG macros

Test: compile
Bug: 30465923
Change-Id: I5dcef0e7708f018d3dea2a8184115b7aeb941686
/frameworks/compile/libbcc/bcinfo/BitcodeTranslator.cpp
b5517abca2dc8bbc49a4bebeb618c7c657ba8cd7 29-Sep-2016 Mark Salyzyn <salyzyn@google.com> libbcc: Replace cutils/log.h with android/log.h

Should use android/log.h instead.

Test: compile
Bug: 26552300
Bug: 31289077
Change-Id: I932dcd8b71d0e2d3a4c908ee96e00afdda7713c6
/frameworks/compile/libbcc/bcinfo/BitcodeTranslator.cpp
dc31b1cf67e4997f511eb22d6589a45e3e57209d 18-Dec-2014 Stephen Hines <srhines@google.com> After translation, the bitcode version is now the most up-to-date.

Marking the version as something old just triggers retranslation, which
is bad in all sorts of ways with standalone bcc (and/or bcinfo).

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

Change-Id: Idebd60a98bbe62007086386e5497d1df7d901e3d
/frameworks/compile/libbcc/bcinfo/BitcodeTranslator.cpp
900c6c1f08f7c572125d7d39abe0f0f9eafbfa14 14-Aug-2014 Chris Wailes <chriswailes@google.com> Replace NULL macros with nullptr literals.

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

Change-Id: I40304090ada740c2451d32e01c7deed4f4c8c409
/frameworks/compile/libbcc/bcinfo/BitcodeTranslator.cpp
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
/frameworks/compile/libbcc/bcinfo/BitcodeTranslator.cpp
e109434cfd2bc24d324506238483c1ecd587e228 14-May-2014 Stephen Hines <srhines@google.com> Switch to use rs_version.mk for consistency.

Change-Id: Ia19bb2f56653b10741d8b508c3dc3f93ce1c1495
/frameworks/compile/libbcc/bcinfo/BitcodeTranslator.cpp
8dbca8e957dab1db77dffbe10c14c54d4b439be6 22-Jun-2013 Stephen Hines <srhines@google.com> Switch BitcodeTranslator to emit LLVM 3.2-compatible bitcode.

This path uses the LLVM 3.2 BitcodeWriter present for the llvm-rs-cc frontend.

Change-Id: I5dcbc9cc33e72d84cbd0e477966d9b53f3515c99
/frameworks/compile/libbcc/bcinfo/BitcodeTranslator.cpp
b730e239619a546d93e5926ea92d698ab77ec7f6 10-Jan-2013 Stephen Hines <srhines@google.com> Updates for LLVM merge to r171906 on 20130108.

Change-Id: I096cb90103b19e3110ea562d60e5eb8ad48d9b67
/frameworks/compile/libbcc/bcinfo/BitcodeTranslator.cpp
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
/frameworks/compile/libbcc/bcinfo/BitcodeTranslator.cpp
e9c850f5d85f3aa31b6e841478ea52e82d76c261 21-Mar-2012 Stephen Hines <srhines@google.com> resolved conflicts for merge of 6ec896af to master

Change-Id: I2b179d8b637df5e71c3018df50b7a3cc1fd2367f
7cd4c49d575478b2380f129dcd376a4e5e37939c 14-Mar-2012 Stephen Hines <srhines@google.com> Update support for BitcodeWrapper using BitcodeWrapperer.

This change uses a common helper library created for PNaCl, and adapts it
for use with Android. We also add some new fields to the wrapper for the
offline compiler version used to generate the bitcode.

Change-Id: I04c4ee20b7b09a68a35cdda1891616ee482a0072
/frameworks/compile/libbcc/bcinfo/BitcodeTranslator.cpp
c73b5214fa71ef6e3378fa121bb8b6312d2e6d3b 05-Mar-2012 Shih-wei Liao <sliao@google.com> Apply changes to migrate to upstream

- Following constants have been removed by the upstream,
so we have to define our version.

- bitc::FUNC_CODE_INST_UNWIND
- Intrinsic::eh_exception
- Intrinsic::eh_selector

- 'unwind' instruction has been removed by upstream.
Emitting 'landingpad' and 'resume' instead when readers
find 'unwind' instructions in bitcode.

- llvm::Attribute now is a class, not unsigned.
Adjust the way to use llvm::Attribute according to upstream.

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

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

Bug: 5449033
Change-Id: Ic34de235eb1cd094af555d7299da643a626ca092
/frameworks/compile/libbcc/bcinfo/BitcodeTranslator.cpp
c7d67a701663191bcdab2416c11b69fae16d49fb 16-Dec-2011 Logan Chien <loganchien@google.com> Translate API 14 and 15 with BitReader 3.0

Change-Id: I9390b1d6df3db8cf65e0165d5270c38879980a03
/frameworks/compile/libbcc/bcinfo/BitcodeTranslator.cpp
932bc6e35bcef7adff05d890a9dcc7212426fb6a 28-Jul-2011 Stephen Hines <srhines@google.com> Provide legacy bitcode translation mechanism.

BUG=4942491

Change-Id: I73e96ef7f27bbaa8740cad70a4b93a1e5137e87b
/frameworks/compile/libbcc/bcinfo/BitcodeTranslator.cpp