[PATCH] D130255: [Clang][LoongArch] Add initial LoongArch target and driver support
Lu Weining via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Jul 21 05:17:00 PDT 2022
SixWeining created this revision.
SixWeining added reviewers: xen0n, xry111, MaskRay, rengolin.
Herald added subscribers: StephenFan, krytarowski, mgorny.
Herald added a project: All.
SixWeining requested review of this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.
With the initial support added, clang can compile simple .c
to executable file for loongarch64. For example:
$ cat main.c
int main() {
return 0;
}
$ clang --target=loongarch64-linux-gnu --gcc-toolchain=xxx --sysroot=xxx main.c
Currently gcc toolchain and sysroot can be found here:
https://github.com/loongson/build-tools/releases/download/2022.05.29/loongarch64-clfs-5.0-cross-tools-gcc-glibc.tar.xz
Reference: https://github.com/loongson/LoongArch-Documentation
The last commit hash (main branch) is:
99016636af64d02dee05e39974d4c1e55875c45b
Note loongarch32 is not fully tested because there is no reference
gcc toolchain yet.
Depends on D130239 <https://reviews.llvm.org/D130239>
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D130255
Files:
clang/lib/Basic/CMakeLists.txt
clang/lib/Basic/Targets.cpp
clang/lib/Basic/Targets/LoongArch.cpp
clang/lib/Basic/Targets/LoongArch.h
clang/lib/Driver/CMakeLists.txt
clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
clang/lib/Driver/ToolChains/Arch/LoongArch.h
clang/lib/Driver/ToolChains/Clang.cpp
clang/lib/Driver/ToolChains/Clang.h
clang/lib/Driver/ToolChains/Gnu.cpp
clang/lib/Driver/ToolChains/Linux.cpp
clang/test/Driver/Inputs/multilib_loongarch_linux_sdk/bin/.keep
clang/test/Driver/Inputs/multilib_loongarch_linux_sdk/include/.keep
clang/test/Driver/Inputs/multilib_loongarch_linux_sdk/lib/gcc/loongarch64-unknown-linux-gnu/12.1.0/base/lp64d/crtbegin.o
clang/test/Driver/Inputs/multilib_loongarch_linux_sdk/lib/gcc/loongarch64-unknown-linux-gnu/12.1.0/base/lp64f/crtbegin.o
clang/test/Driver/Inputs/multilib_loongarch_linux_sdk/lib/gcc/loongarch64-unknown-linux-gnu/12.1.0/base/lp64s/crtbegin.o
clang/test/Driver/Inputs/multilib_loongarch_linux_sdk/lib/gcc/loongarch64-unknown-linux-gnu/12.1.0/crtbegin.o
clang/test/Driver/Inputs/multilib_loongarch_linux_sdk/loongarch64-unknown-linux-gnu/bin/ld
clang/test/Driver/Inputs/multilib_loongarch_linux_sdk/loongarch64-unknown-linux-gnu/lib/.keep
clang/test/Driver/Inputs/multilib_loongarch_linux_sdk/loongarch64-unknown-linux-gnu/lib64/.keep
clang/test/Driver/Inputs/multilib_loongarch_linux_sdk/sysroot/usr/lib/.keep
clang/test/Driver/Inputs/multilib_loongarch_linux_sdk/sysroot/usr/lib64/.keep
clang/test/Driver/frame-pointer.c
clang/test/Driver/loongarch-abi.c
clang/test/Driver/loongarch64-toolchain.c
clang/test/Preprocessor/init-loongarch.c
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D130255.446445.patch
Type: text/x-patch
Size: 49393 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20220721/3d56f793/attachment-0001.bin>
More information about the cfe-commits
mailing list