snapdragon_clang_compiler
所属分类:编译器/解释器
开发工具:C
文件大小:298579KB
下载次数:0
上传日期:2020-04-11 15:10:04
上 传 者:
sh-1993
说明: 快照语言编译器,,
(snapdragon_clang_compiler,,)
文件列表:
snapdragon_clang_compiler-android-8.0 (0, 2020-04-11)
snapdragon_clang_compiler-android-8.0\build (0, 2020-04-11)
snapdragon_clang_compiler-android-8.0\build\core (0, 2020-04-11)
snapdragon_clang_compiler-android-8.0\build\core\setup-toolchain.mk (9785, 2020-04-11)
snapdragon_clang_compiler-android-8.0\build\core\toolchains (0, 2020-04-11)
snapdragon_clang_compiler-android-8.0\build\core\toolchains\aarch64-linux-android-snapdragonclang (0, 2020-04-11)
snapdragon_clang_compiler-android-8.0\build\core\toolchains\aarch64-linux-android-snapdragonclang\config.mk (1025, 2020-04-11)
snapdragon_clang_compiler-android-8.0\build\core\toolchains\aarch64-linux-android-snapdragonclang\setup.mk (2581, 2020-04-11)
snapdragon_clang_compiler-android-8.0\build\core\toolchains\arm-linux-androideabi-snapdragonclang (0, 2020-04-11)
snapdragon_clang_compiler-android-8.0\build\core\toolchains\arm-linux-androideabi-snapdragonclang\config.mk (1023, 2020-04-11)
snapdragon_clang_compiler-android-8.0\build\core\toolchains\arm-linux-androideabi-snapdragonclang\setup.mk (3746, 2020-04-11)
snapdragon_clang_compiler-android-8.0\build\core\toolchains\x86-snapdragonclang (0, 2020-04-11)
snapdragon_clang_compiler-android-8.0\build\core\toolchains\x86-snapdragonclang\config.mk (772, 2020-04-11)
snapdragon_clang_compiler-android-8.0\build\core\toolchains\x86-snapdragonclang\setup.mk (2306, 2020-04-11)
snapdragon_clang_compiler-android-8.0\build\core\toolchains\x86_64-snapdragonclang (0, 2020-04-11)
snapdragon_clang_compiler-android-8.0\build\core\toolchains\x86_64-snapdragonclang\config.mk (781, 2020-04-11)
snapdragon_clang_compiler-android-8.0\build\core\toolchains\x86_64-snapdragonclang\setup.mk (2243, 2020-04-11)
snapdragon_clang_compiler-android-8.0\build\tools (0, 2020-04-11)
snapdragon_clang_compiler-android-8.0\build\tools\make_standalone_toolchain_snapdragon_llvm.py (20293, 2020-04-11)
snapdragon_clang_compiler-android-8.0\toolchains (0, 2020-04-11)
snapdragon_clang_compiler-android-8.0\toolchains\llvm-Snapdragon_LLVM_for_Android_8.0 (0, 2020-04-11)
snapdragon_clang_compiler-android-8.0\toolchains\llvm-Snapdragon_LLVM_for_Android_8.0\prebuilt (0, 2020-04-11)
snapdragon_clang_compiler-android-8.0\toolchains\llvm-Snapdragon_LLVM_for_Android_8.0\prebuilt\linux-x86_64 (0, 2020-04-11)
snapdragon_clang_compiler-android-8.0\toolchains\llvm-Snapdragon_LLVM_for_Android_8.0\prebuilt\linux-x86_64\AndroidVersion.txt (6, 2020-04-11)
snapdragon_clang_compiler-android-8.0\toolchains\llvm-Snapdragon_LLVM_for_Android_8.0\prebuilt\linux-x86_64\NOTICE (51806, 2020-04-11)
snapdragon_clang_compiler-android-8.0\toolchains\llvm-Snapdragon_LLVM_for_Android_8.0\prebuilt\linux-x86_64\RELEASE_NOTES (8098, 2020-04-11)
snapdragon_clang_compiler-android-8.0\toolchains\llvm-Snapdragon_LLVM_for_Android_8.0\prebuilt\linux-x86_64\Snapdragon_LLVM_ARM_80_Compiler_User_Guide.pdf (907654, 2020-04-11)
snapdragon_clang_compiler-android-8.0\toolchains\llvm-Snapdragon_LLVM_for_Android_8.0\prebuilt\linux-x86_64\aarch64-linux-android (0, 2020-04-11)
snapdragon_clang_compiler-android-8.0\toolchains\llvm-Snapdragon_LLVM_for_Android_8.0\prebuilt\linux-x86_64\aarch64-linux-android\bin (0, 2020-04-11)
snapdragon_clang_compiler-android-8.0\toolchains\llvm-Snapdragon_LLVM_for_Android_8.0\prebuilt\linux-x86_64\aarch64-linux-android\bin\llvm-symbolizer (3866528, 2020-04-11)
snapdragon_clang_compiler-android-8.0\toolchains\llvm-Snapdragon_LLVM_for_Android_8.0\prebuilt\linux-x86_64\armv7-linux-androideabi (0, 2020-04-11)
snapdragon_clang_compiler-android-8.0\toolchains\llvm-Snapdragon_LLVM_for_Android_8.0\prebuilt\linux-x86_64\armv7-linux-androideabi\bin (0, 2020-04-11)
snapdragon_clang_compiler-android-8.0\toolchains\llvm-Snapdragon_LLVM_for_Android_8.0\prebuilt\linux-x86_64\armv7-linux-androideabi\bin\llvm-symbolizer (3864176, 2020-04-11)
snapdragon_clang_compiler-android-8.0\toolchains\llvm-Snapdragon_LLVM_for_Android_8.0\prebuilt\linux-x86_64\bin (0, 2020-04-11)
snapdragon_clang_compiler-android-8.0\toolchains\llvm-Snapdragon_LLVM_for_Android_8.0\prebuilt\linux-x86_64\bin\aarch64-link (7, 2020-04-11)
snapdragon_clang_compiler-android-8.0\toolchains\llvm-Snapdragon_LLVM_for_Android_8.0\prebuilt\linux-x86_64\bin\arm-link (7, 2020-04-11)
snapdragon_clang_compiler-android-8.0\toolchains\llvm-Snapdragon_LLVM_for_Android_8.0\prebuilt\linux-x86_64\bin\bugpoint (39908032, 2020-04-11)
snapdragon_clang_compiler-android-8.0\toolchains\llvm-Snapdragon_LLVM_for_Android_8.0\prebuilt\linux-x86_64\bin\c-index-test (20878048, 2020-04-11)
snapdragon_clang_compiler-android-8.0\toolchains\llvm-Snapdragon_LLVM_for_Android_8.0\prebuilt\linux-x86_64\bin\clang (7, 2020-04-11)
... ...
Using Snapdragon LLVM ARM Compiler 8.0.6 with Android NDK:
The Snapdragon LLVM ARM Compiler 8.0.6 can be used as a drop-in replacement
for LLVM shipped as part of the Android NDK.
1. Snapdragon LLVM ARM Compiler 8.0.6 has been verified to work with Android
NDK versions r18b for Windows (***-bit) and Linux (***-bit)
2. On Windows, it is assumed that the user has Cygwin setup. The examples below
need to be adjusted to follow the Windows path specifications if Cygwin is not
used.
3. On Windows and Linux it is recommended that you extract the Android NDK
under a directory which *does not* contain spaces, like:
C:\android-ndk-r18b
/local/mnt/workspace/android-ndk-r18b
This directory is referred to as in this README.
On Windows, extract Snapdragon-llvm-8.0.6-windows***.zip under .
On Linux, extract Snapdragon-llvm-8.0.6-linux***.tar.gz under .
4. The following toolchains would be used for linking, by default:
For ARMv8 32-bit --> arm-linux-androideabi-4.9
For AArch*** --> aarch***-linux-android-4.9
5. On Windows, in order to avoid errors due to missing MSVC Redistributable
DLLs, make sure you set PATH to the Snapdragon LLVM bin directory as follows:
export PATH=/toolchains/llvm-Snapdragon_LLVM_for_Android_6.0/
prebuilt/windows-x86_***/bin:$PATH
6. The Snapdragon LLVM ARM 8.0.6 toolchain is designed to work with both 32-bit
and ***-bit versions of the NDK as described below:
For generating ARMv8 32-bit code, invoke your compilation line as follows:
ndk-build NDK_TOOLCHAIN_VERSION=snapdragonclang APP_ABI="armeabi-v7a" -C
For generating AArch*** (***-bit) code, invoke your compilation line as follows:
ndk-build NDK_TOOLCHAIN_VERSION=snapdragonclang APP_ABI="arm***-v8a" -C
7. If you want to specify your custom flags to the compiler in order to
override the default flags you can use the flag APP_CFLAGS as follows:
ndk-build NDK_TOOLCHAIN_VERSION=snapdragonclang APP_ABI="armeabi-v7a" \
APP_CFLAGS="-O3" -C
Similarly, to specify custom flags for the linker you can use the
flag APP_LDFLAGS.
8. We STRONGLY RECOMMEND the following command line flags, to be set through
APP_CFLAGS, for best performance. These options ensure that all high
performance optimization features in the Snapdragon LLVM compiler are enabled
to deliver maximum performance in 32-bit and ***-bit modes. For this release, if
you continue to use the default Android NDK compatible flags, you may see
performance regression.
If your project does not require precise math, please set
APP_CFLAGS="-Ofast -mcpu=cortex-a57"
If your project requires IEEE 754 floating point compliance, please set
APP_CFLAGS="-O3 -mcpu=cortex-a57"
9. A standalone toolchain for the Android NDK environment using the Snapdragon
LLVM ARM compiler can be created using the make_standalone_toolchain utility.
Note: For NDK r18b, the default make_standalone_toolchain.py cannot be used
with Snapdragon LLVM toolchain to create a standalone toolchain. So we provide
a custom script called make_standalone_toolchain_snapdragon_llvm.py.
For example, to create a standalone toolchain for Linux ***-bit environment, the
following commands can be used:
For ARMv8 32-bit:
/build/tools/make_standalone_toolchain_snapdragon_llvm.py \
--arch arm --api 28 --install-dir
The above command line specifies that you are targeting Android API level 28. If
you do not specify the API level, the default will be set to the minimum
supported level for the given architecture (currently 14 for 32-bit
architectures).
For AArch***:
/build/tools/make_standalone_toolchain_snapdragon_llvm.py \
--arch arm*** --api 28 --install-dir
The above command line specifies that you are targeting Android API level 28. If
you do not specify the API level, the default will be set to the minimum
supported level for the given architecture (currently 21 for ***-bit
architectures).
10. By default, the ndk-build tool will build an application for all the valid
targets (viz. ARMv8 32-bit, AARCH***, X86). This will result in compilation
errors for X86 targets since the Snapdragon LLVM ARM Compiler 8.0.6 cannot
generate code for these targets. The errors can be avoided if the user
explicitly passes APP_ABI="armeabi-v7a" or APP_ABI="arm***-v8a" when using the
Snapdragon LLVM ARM Compiler 8.0.6. However, in situations where the build
system cannot be changed, and hence these flags cannot be set, we provide the
following wrappers for x86 in order to avoid compilation errors:
x86-snapdragonclang
x86_***-snapdragonclang
These wrappers are exact copies of their Clang versions which are
distributed as part of the Android NDK. These wrappers would simply invoke
the LLVM compiler that comes with NDK (for X86 targets only), thus
avoiding compilation errors when using the Snapdragon LLVM ARM Compiler 8.0.6.
Note: The Snapdragon LLVM ARM Compiler 8.0.6 would be invoked for ARMv8 32-bit and
AARCH*** targets.
Contacts & Bug Reporting
http://developer.qualcomm.com/llvm-forum
近期下载者:
相关文件:
收藏者: