llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang Author: None (W-50243) <details> <summary>Changes</summary> Add __builtin_exit in `clang/include/clang/Basic/Builtins.def` . It works perfectly on arm64be and arm64le. --- Full diff: https://github.com/llvm/llvm-project/pull/74803.diff 2 Files Affected: - (modified) clang/include/clang/Basic/Builtins.def (+1) - (added) clang/test/CodeGen/builtin-exit-test.c (+9) ``````````diff diff --git a/clang/include/clang/Basic/Builtins.def b/clang/include/clang/Basic/Builtins.def index ec39e926889b9..8b73e9c5e3594 100644 --- a/clang/include/clang/Basic/Builtins.def +++ b/clang/include/clang/Basic/Builtins.def @@ -948,6 +948,7 @@ BUILTIN(__sync_fetch_and_umin, "UiUiD*Ui", "n") BUILTIN(__sync_fetch_and_umax, "UiUiD*Ui", "n") // Random libc builtins. +BUILTIN(__builtin_exit, "vi", "Fnr") BUILTIN(__builtin_abort, "v", "Fnr") BUILTIN(__builtin_index, "c*cC*i", "Fn") BUILTIN(__builtin_rindex, "c*cC*i", "Fn") diff --git a/clang/test/CodeGen/builtin-exit-test.c b/clang/test/CodeGen/builtin-exit-test.c new file mode 100644 index 0000000000000..1ece90de1aa4f --- /dev/null +++ b/clang/test/CodeGen/builtin-exit-test.c @@ -0,0 +1,9 @@ +//RUN: %clang_cc1 -no-opaque-pointers -emit-llvm -Wno-strict-prototypes -triple aarch64-target-linux-gnu %s -o - | FileCheck %s + +//CHECK: define dso_local void @test() #0 { +//CHECK: call void @exit(i32 noundef 1) +//CHECK: unreachable + +void test(void){ + __builtin_exit(1); +} `````````` </details> https://github.com/llvm/llvm-project/pull/74803 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits