================ @@ -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'd prefer to just explicitly write the expected alignment here, @efriedma-quic Do you mean like hard code the expected alignment? Currently `CreateAlignedStore(Call, Ops[0], MaybeAlign());` calls: ``` StoreInst *CreateAlignedStore(Value *Val, Value *Ptr, MaybeAlign Align, bool isVolatile = false) { if (!Align) { const DataLayout &DL = BB->getDataLayout(); Align = DL.getABITypeAlign(Val->getType()); } return Insert(new StoreInst(Val, Ptr, isVolatile, *Align)); } ``` and get the proper ABI alignment for the type given. Since this section of code process types that are either 32bit or 64bit aligned, we can't hard code any alignment here. https://github.com/llvm/llvm-project/pull/108606 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits