[lld] [clang] [llvm] [FuncAttrs] Deduce `noundef` attributes for return values (PR #76553)

2024-01-01 Thread Yingwei Zheng via cfe-commits
dtcxzyw wrote: > Can you please fix or revert > https://lab.llvm.org/buildbot/#/builders/74/builds/24592 ? Should be fixed by https://github.com/llvm/llvm-project/commit/7e405eb722e40c79b7726201d0f76b5dab34ba0f. https://lab.llvm.org/buildbot/#/builders/74/builds/24613

[lld] [clang] [llvm] [FuncAttrs] Deduce `noundef` attributes for return values (PR #76553)

2023-12-31 Thread Yingwei Zheng via cfe-commits
dtcxzyw wrote: > Failed Tests (3): LLVM :: CodeGen/BPF/loop-exit-cond.ll LLVM :: CodeGen/NVPTX/nvvm-reflect-opaque.ll LLVM :: CodeGen/NVPTX/nvvm-reflect.ll https://github.com/llvm/llvm-project/pull/76553 ___ cfe-commits mailing list

[clang] [llvm] [FuncAttrs] Deduce `noundef` attributes for return values (PR #76553)

2023-12-29 Thread Nikita Popov via cfe-commits
@@ -1279,6 +1280,43 @@ static void addNonNullAttrs(const SCCNodeSet , } } +/// Deduce noundef attributes for the SCC. +static void addNoUndefAttrs(const SCCNodeSet , +SmallSet ) { + // Check each function in turn, determining which functions

[clang] [llvm] [FuncAttrs] Deduce `noundef` attributes for return values (PR #76553)

2023-12-28 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-llvm-transforms @llvm/pr-subscribers-clang Author: Yingwei Zheng (dtcxzyw) Changes This patch deduces `noundef` attributes for return values. IIUC, a function returns `noundef` values iff all of its return values are guaranteed not to be `undef` or

[clang] [llvm] [FuncAttrs] Deduce `noundef` attributes for return values (PR #76553)

2023-12-28 Thread Yingwei Zheng via cfe-commits
https://github.com/dtcxzyw created https://github.com/llvm/llvm-project/pull/76553 This patch deduces `noundef` attributes for return values. IIUC, a function returns `noundef` values iff all of its return values are guaranteed not to be `undef` or `poison`. Definition of `noundef` from