[PATCH] D38460: [CodeGen] Fix propagation of TBAA info for atomic accesses
Ivan A. Kosarev via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Oct 2 07:48:21 PDT 2017
kosarev created this revision.
kosarev added a project: clang.
This patch fixes clang to propagate complete TBAA information for atomic accesses and not just the final access types. Prepared against https://reviews.llvm.org/D38456 and requires it to be committed first.
This is part of https://reviews.llvm.org/D37826 reworked to be a separate patch to simplify review.
Repository:
rL LLVM
https://reviews.llvm.org/D38460
Files:
lib/CodeGen/CGAtomic.cpp
Index: lib/CodeGen/CGAtomic.cpp
===================================================================
--- lib/CodeGen/CGAtomic.cpp
+++ lib/CodeGen/CGAtomic.cpp
@@ -98,7 +98,7 @@
LVal = LValue::MakeBitfield(Address(Addr, lvalue.getAlignment()),
BFI, lvalue.getType(),
lvalue.getBaseInfo());
- LVal.setTBAAAccessType(lvalue.getTBAAAccessType());
+ LVal.setTBAAInfo(lvalue.getTBAAInfo());
AtomicTy = C.getIntTypeForBitwidth(AtomicSizeInBits, OrigBFI.IsSigned);
if (AtomicTy.isNull()) {
llvm::APInt Size(
@@ -1692,8 +1692,8 @@
DesiredAddr, AtomicLVal.getExtVectorElts(), AtomicLVal.getType(),
AtomicLVal.getBaseInfo());
}
- UpdateLVal.setTBAAAccessType(AtomicLVal.getTBAAAccessType());
- DesiredLVal.setTBAAAccessType(AtomicLVal.getTBAAAccessType());
+ UpdateLVal.setTBAAInfo(AtomicLVal.getTBAAInfo());
+ DesiredLVal.setTBAAInfo(AtomicLVal.getTBAAInfo());
UpRVal = CGF.EmitLoadOfLValue(UpdateLVal, SourceLocation());
}
// Store new value in the corresponding memory area
@@ -1789,7 +1789,7 @@
DesiredAddr, AtomicLVal.getExtVectorElts(), AtomicLVal.getType(),
AtomicLVal.getBaseInfo());
}
- DesiredLVal.setTBAAAccessType(AtomicLVal.getTBAAAccessType());
+ DesiredLVal.setTBAAInfo(AtomicLVal.getTBAAInfo());
// Store new value in the corresponding memory area
assert(UpdateRVal.isScalar());
CGF.EmitStoreThroughLValue(UpdateRVal, DesiredLVal);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D38460.117349.patch
Type: text/x-patch
Size: 1544 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20171002/b8716583/attachment.bin>
More information about the cfe-commits
mailing list