[clang] [PowerPC] Fix incorrect store alignment for __builtin_vsx_build_pair() (PR #108606)

Lei Huang via cfe-commits cfe-commits at lists.llvm.org
Tue Sep 17 14:10:21 PDT 2024


================
@@ -18197,7 +18197,7 @@ Value *CodeGenFunction::EmitPPCBuiltinExpr(unsigned BuiltinID,
       CallOps.push_back(Ops[i]);
     llvm::Function *F = CGM.getIntrinsic(ID);
     Value *Call = Builder.CreateCall(F, CallOps);
-    return Builder.CreateAlignedStore(Call, Ops[0], MaybeAlign(64));
+    return Builder.CreateAlignedStore(Call, Ops[0], MaybeAlign());
----------------
lei137 wrote:

I see a FIXME for this function, do we still want to use it?
```
  // FIXME: these "default-aligned" APIs should be removed,
  // but I don't feel like fixing all the builtin code right now.
  llvm::StoreInst *CreateDefaultAlignedStore(llvm::Value *Val,
                                             llvm::Value *Addr,
                                             bool IsVolatile = false) 
```
Since these need to be aligned stores, maybe it's more clear to just use `CreateAlignedStore()`?
The patch that added this FIXME:
```
commit 7f416cc426384ad1f891addb61d93e7ca1ffa0f2
Author: John McCall <rjmccall at apple.com>
Date:   Tue Sep 8 08:05:57 2015 +0000
```
Explicitly asks:
```
    I partially punted on applying this work to CGBuiltin.  Please
    do not add more uses of the CreateDefaultAligned{Load,Store}
    APIs; they will be going away eventually.

    llvm-svn: 246985
```
It is an old patch so I am not sure how much of that is still true...

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


More information about the cfe-commits mailing list