diff options
author | Gabor Marton <martongabesz@gmail.com> | 2018-07-17 12:39:27 +0000 |
---|---|---|
committer | Gabor Marton <martongabesz@gmail.com> | 2018-07-17 12:39:27 +0000 |
commit | 950fb5708e9729d89a60caac537e2d4b752b0d34 (patch) | |
tree | 2b3c936433ebd36f6b4e8dfce7fe06dfd543a7de /llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp | |
parent | 2ad82107255e8f1c1e2054a3aec0816e41c1431f (diff) | |
download | bcm5719-llvm-950fb5708e9729d89a60caac537e2d4b752b0d34.tar.gz bcm5719-llvm-950fb5708e9729d89a60caac537e2d4b752b0d34.zip |
[ASTImporter] Fix poisonous structural equivalence cache
Summary:
Implementation functions call into the member functions of
ASTStructuralEquivalence, thus they can falsely alter the DeclsToCheck state
(they add decls). This results that some leaf declarations can be stated as
inequivalent as a side effect of one inequivalent element in the DeclsToCheck
list. And since we store the non-equivalencies, any (otherwise independent)
decls will be rendered as non-equivalent. Solution: I tried to clearly
separate the implementation functions (the static ones) and the public
interface. From now on, the implementation functions do not call any public
member functions, only other implementation functions.
Reviewers: a.sidorin, a_sidorin, r.stahl
Subscribers: rnkovacs, dkrupp, cfe-commits
Differential Revision: https://reviews.llvm.org/D49300
llvm-svn: 337275
Diffstat (limited to 'llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp')
0 files changed, 0 insertions, 0 deletions