Author: Arthur Eubanks Date: 2022-02-10T18:29:51-08:00 New Revision: e487ddc5c6d38522b7a2cf2c686539aa74432f1e
URL: https://github.com/llvm/llvm-project/commit/e487ddc5c6d38522b7a2cf2c686539aa74432f1e DIFF: https://github.com/llvm/llvm-project/commit/e487ddc5c6d38522b7a2cf2c686539aa74432f1e.diff LOG: [clang][OpaquePtr] Use proper Address constructor in AtomicInfo::getAtomicAddress() Added: Modified: clang/lib/CodeGen/CGAtomic.cpp Removed: ################################################################################ diff --git a/clang/lib/CodeGen/CGAtomic.cpp b/clang/lib/CodeGen/CGAtomic.cpp index 10569ae2c3f91..e17fd156229cd 100644 --- a/clang/lib/CodeGen/CGAtomic.cpp +++ b/clang/lib/CodeGen/CGAtomic.cpp @@ -149,7 +149,16 @@ namespace { return LVal.getExtVectorPointer(); } Address getAtomicAddress() const { - return Address(getAtomicPointer(), getAtomicAlignment()); + llvm::Type *ElTy; + if (LVal.isSimple()) + ElTy = LVal.getAddress(CGF).getElementType(); + else if (LVal.isBitField()) + ElTy = LVal.getBitFieldAddress().getElementType(); + else if (LVal.isVectorElt()) + ElTy = LVal.getVectorAddress().getElementType(); + else + ElTy = LVal.getExtVectorAddress().getElementType(); + return Address(getAtomicPointer(), ElTy, getAtomicAlignment()); } Address getAtomicAddressAsAtomicIntPointer() const { _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits