[clang] [Clang] Add support for fp when using min_fetch/max_fetch atomics (PR #160330)
via cfe-commits
cfe-commits at lists.llvm.org
Tue Sep 23 08:46:59 PDT 2025
github-actions[bot] wrote:
<!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
git-clang-format --diff origin/main HEAD --extensions c,cpp -- clang/test/CodeGen/AArch64/atomic-ops-float-check-minmax.c clang/lib/CodeGen/CGAtomic.cpp
``````````
:warning:
The reproduction instructions above might return results for more than one PR
in a stack if you are using a stacked PR workflow. You can limit the results by
changing `origin/main` to the base branch/commit you want to compare against.
:warning:
</details>
<details>
<summary>
View the diff from clang-format here.
</summary>
``````````diff
diff --git a/clang/lib/CodeGen/CGAtomic.cpp b/clang/lib/CodeGen/CGAtomic.cpp
index 99a06e527..4e195ca0e 100644
--- a/clang/lib/CodeGen/CGAtomic.cpp
+++ b/clang/lib/CodeGen/CGAtomic.cpp
@@ -518,20 +518,23 @@ static llvm::Value *EmitPostAtomicMinMax(CGBuilderTy &Builder,
case AtomicExpr::AO__atomic_max_fetch:
case AtomicExpr::AO__scoped_atomic_max_fetch:
- Pred = IsFP ? llvm::CmpInst::FCMP_OGT
- : (IsSigned ? llvm::CmpInst::ICMP_SGT : llvm::CmpInst::ICMP_UGT);
+ Pred = IsFP
+ ? llvm::CmpInst::FCMP_OGT
+ : (IsSigned ? llvm::CmpInst::ICMP_SGT : llvm::CmpInst::ICMP_UGT);
break;
case AtomicExpr::AO__atomic_min_fetch:
case AtomicExpr::AO__scoped_atomic_min_fetch:
- Pred = IsFP ? llvm::CmpInst::FCMP_OLT
- : (IsSigned ? llvm::CmpInst::ICMP_SLT : llvm::CmpInst::ICMP_ULT);
+ Pred = IsFP
+ ? llvm::CmpInst::FCMP_OLT
+ : (IsSigned ? llvm::CmpInst::ICMP_SLT : llvm::CmpInst::ICMP_ULT);
break;
}
- llvm::Value *Cmp = IsFP
- ? static_cast<llvm::Value*>(Builder.CreateFCmp(Pred, OldVal, RHS, "tst"))
- : static_cast<llvm::Value*>(Builder.CreateICmp(Pred, OldVal, RHS, "tst"));
+ llvm::Value *Cmp = IsFP ? static_cast<llvm::Value *>(
+ Builder.CreateFCmp(Pred, OldVal, RHS, "tst"))
+ : static_cast<llvm::Value *>(
+ Builder.CreateICmp(Pred, OldVal, RHS, "tst"));
return Builder.CreateSelect(Cmp, OldVal, RHS, "newval");
}
``````````
</details>
https://github.com/llvm/llvm-project/pull/160330
More information about the cfe-commits
mailing list