[PATCH] D41452: [CodeGen] Fix access sizes in new-format TBAA tags
Ivan Kosarev via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Dec 20 08:03:45 PST 2017
kosarev created this revision.
kosarev added reviewers: rjmccall, hfinkel.
kosarev added a project: clang.
The new format requires to specify both the type of the access and its size. This patch fixes setting access sizes for TBAA tags that denote accesses to structure members. This fix affects all future TBAA metadata tests for the new format, so I guess we don't need any special tests for this fix.
Repository:
rL LLVM
https://reviews.llvm.org/D41452
Files:
lib/CodeGen/CGExpr.cpp
Index: lib/CodeGen/CGExpr.cpp
===================================================================
--- lib/CodeGen/CGExpr.cpp
+++ lib/CodeGen/CGExpr.cpp
@@ -3790,8 +3790,10 @@
FieldTBAAInfo.Offset +=
Layout.getFieldOffset(field->getFieldIndex()) / CharWidth;
- // Update the final access type.
+ // Update the final access type and size.
FieldTBAAInfo.AccessType = CGM.getTBAATypeInfo(FieldType);
+ FieldTBAAInfo.Size =
+ getContext().getTypeSizeInChars(FieldType).getQuantity();
}
Address addr = base.getAddress();
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D41452.127724.patch
Type: text/x-patch
Size: 564 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20171220/89e9a329/attachment.bin>
More information about the cfe-commits
mailing list