summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
diff options
context:
space:
mode:
authorGabor Marton <martongabesz@gmail.com>2018-07-17 12:39:27 +0000
committerGabor Marton <martongabesz@gmail.com>2018-07-17 12:39:27 +0000
commit950fb5708e9729d89a60caac537e2d4b752b0d34 (patch)
tree2b3c936433ebd36f6b4e8dfce7fe06dfd543a7de /llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
parent2ad82107255e8f1c1e2054a3aec0816e41c1431f (diff)
downloadbcm5719-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
OpenPOWER on IntegriCloud