diff options
author | Ivan A. Kosarev <ikosarev@accesssoftek.com> | 2017-10-12 11:29:46 +0000 |
---|---|---|
committer | Ivan A. Kosarev <ikosarev@accesssoftek.com> | 2017-10-12 11:29:46 +0000 |
commit | f5f204679b576691bc0b14d73f2afd7e142ae5c6 (patch) | |
tree | 21c27f6d7bc0f9de90e6bb7782911ba9f56493d5 /clang/lib/CodeGen/CodeGenFunction.h | |
parent | 7853351af8c8014c57a1c8b7d87faa0f9436f9cd (diff) | |
download | llvm-f5f204679b576691bc0b14d73f2afd7e142ae5c6.zip llvm-f5f204679b576691bc0b14d73f2afd7e142ae5c6.tar.gz llvm-f5f204679b576691bc0b14d73f2afd7e142ae5c6.tar.bz2 |
[CodeGen] Generate TBAA info along with LValue base info
This patch enables explicit generation of TBAA information in all
cases where LValue base info is propagated or constructed in
non-trivial ways. Eventually, we will consider each of these
cases to make sure the TBAA information is correct and not too
conservative. For now, we just fall back to generating TBAA info
from the access type.
This patch should not bring in any functional changes.
This is part of D38126 reworked to be a separate patch to
simplify review.
Differential Revision: https://reviews.llvm.org/D38733
llvm-svn: 315575
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.h')
-rw-r--r-- | clang/lib/CodeGen/CodeGenFunction.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h index f7545de..6868403 100644 --- a/clang/lib/CodeGen/CodeGenFunction.h +++ b/clang/lib/CodeGen/CodeGenFunction.h @@ -1917,9 +1917,9 @@ public: CGM.getTBAAAccessInfo(T)); } - LValue MakeAddrLValue(Address Addr, QualType T, LValueBaseInfo BaseInfo) { - return LValue::MakeAddr(Addr, T, getContext(), BaseInfo, - CGM.getTBAAAccessInfo(T)); + LValue MakeAddrLValue(Address Addr, QualType T, LValueBaseInfo BaseInfo, + TBAAAccessInfo TBAAInfo) { + return LValue::MakeAddr(Addr, T, getContext(), BaseInfo, TBAAInfo); } LValue MakeAddrLValue(llvm::Value *V, QualType T, CharUnits Alignment, @@ -1930,9 +1930,9 @@ public: } LValue MakeAddrLValue(llvm::Value *V, QualType T, CharUnits Alignment, - LValueBaseInfo BaseInfo) { + LValueBaseInfo BaseInfo, TBAAAccessInfo TBAAInfo) { return LValue::MakeAddr(Address(V, Alignment), T, getContext(), - BaseInfo, CGM.getTBAAAccessInfo(T)); + BaseInfo, TBAAInfo); } LValue MakeNaturalAlignPointeeAddrLValue(llvm::Value *V, QualType T); |