[clang] [llvm] [IPO] Optimise variadic functions (PR #92850)

2024-05-20 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-llvm-transforms @llvm/pr-subscribers-backend-x86 Author: Jon Chesterfield (JonChesterfield) Changes Replace variadic functions with equivalent functions taking a va_list. This composes with optimisations like inlining to give zero cost variadics. Sched

[clang] [llvm] [IPO] Optimise variadic functions (PR #92850)

2024-05-20 Thread Jon Chesterfield via cfe-commits
@@ -1,5 +1,6 @@ // REQUIRES: aarch64-registered-target -// RUN: %clang_cc1 -triple aarch64 -target-feature +neon -emit-llvm -O2 -o - %s | FileCheck %s +// RUN: %clang_cc1 -triple aarch64 -target-feature +neon -emit-llvm -O2 -o - %s -mllvm -expand-variadics-override=disable | Fi

[clang] [llvm] [IPO] Optimise variadic functions (PR #92850)

2024-05-20 Thread via cfe-commits
github-actions[bot] wrote: :warning: C/C++ code formatter, clang-format found issues in your code. :warning: You can test this locally with the following command: ``bash git-clang-format --diff 560c2fd3d427a5e2dc2361abde1142f3fda40253 15061bfbc2dc06de5bac32628389386cadaa5632 --

[clang] [llvm] [IPO] Optimise variadic functions (PR #92850)

2024-05-20 Thread Jon Chesterfield via cfe-commits
JonChesterfield wrote: [inline-then-fold-variadics.cpp](https://github.com/llvm/llvm-project/pull/92850/commits/15061bfbc2dc06de5bac32628389386cadaa5632#diff-0a9893e04ae7e0a5692ad93dfb73d6efa992953f7e9eebb68c1a3f4acd457e1e) is the motivating example for optimisation - simple variadic functions a

[clang] [llvm] [IPO] Optimise variadic functions (PR #92850)

2024-05-24 Thread Jon Chesterfield via cfe-commits
https://github.com/JonChesterfield closed https://github.com/llvm/llvm-project/pull/92850 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [IPO] Optimise variadic functions (PR #92850)

2024-05-24 Thread Jon Chesterfield via cfe-commits
JonChesterfield wrote: Dropping this in favour of [93362](https://github.com/llvm/llvm-project/pull/93362) on risk assessment grounds. This commit enabled ad hoc testing from wasm, x64, and aarch64. However if it's buggy, it'll show up on those targets, which should make the code owners relu