[llvm] [PowerPC] support branch hint for AtomicExpandImpl::expandAtomicCmpXchg (PR #152366)

zhijian lin via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 7 06:43:50 PDT 2025


================
@@ -12816,6 +12817,11 @@ Value *PPCTargetLowering::emitStoreConditional(IRBuilderBase &Builder,
   return Builder.CreateXor(Call, Builder.getInt32(1));
 }
 
+MDNode *PPCTargetLowering::getTrueBranchHintWeightForAtomicCmpXchgg(
+    LLVMContext &Ctx) const {
+  return MDBuilder(Ctx).createLikelyBranchWeights();
----------------
diggerlin wrote:

I'm not sure whether other platforms use the same branch prediction mechanism, so I introduced a new virtual API:

```
virtual MDNode *
getTrueBranchHintWeightForAtomicCmpXchg(LLVMContext &Ctx) const {
  return nullptr;
}
```

Targets that want to support branch hinting for expandAtomicCmpXchg can override this with a target-specific implementation.



https://github.com/llvm/llvm-project/pull/152366


More information about the llvm-commits mailing list