[PATCH] D37826: Refine generation of TBAA information in clang

Ivan A. Kosarev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Oct 5 08:17:48 PDT 2017


kosarev updated this revision to Diff 117823.
kosarev added a comment.

- Rebased on top of https://reviews.llvm.org/D38503.
- The tbaa-for-vptr.cpp test is changed to be more specific about the instructions to test. Otherwise, we fail on some triples, such as s390x-ibm-linux and x86_64-pc-mingw32. This is due to the changes for EmitLoadOfScalar() and EmitStoreOfScalar() where we previously were defaulting to empty TBAA info and now generate a TBAA descriptor based on the specified access type. This results in the instructions that load the pointer-to-function value having their TBAA tags (the may-alias one, namely) so that these instructions match the pattern in the test file and NUM gets a wrong value.


Repository:
  rL LLVM

https://reviews.llvm.org/D37826

Files:
  lib/CodeGen/CGAtomic.cpp
  lib/CodeGen/CGExpr.cpp
  lib/CodeGen/CGValue.h
  lib/CodeGen/CodeGenFunction.cpp
  lib/CodeGen/CodeGenFunction.h
  lib/CodeGen/CodeGenModule.cpp
  lib/CodeGen/CodeGenModule.h
  lib/CodeGen/CodeGenTBAA.cpp
  lib/CodeGen/CodeGenTBAA.h
  test/CodeGen/tbaa-for-vptr.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D37826.117823.patch
Type: text/x-patch
Size: 21073 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20171005/af4c60fd/attachment-0001.bin>


More information about the cfe-commits mailing list