diff options
author | Yevgeny Rouban <yrouban@azul.com> | 2021-04-06 11:55:18 +0700 |
---|---|---|
committer | Yevgeny Rouban <yrouban@azul.com> | 2021-04-06 12:35:49 +0700 |
commit | 39e3e3aa51d628722637c1bfa507f9ec2c532120 (patch) | |
tree | 6395a6a6e1f8163aa2e215eb34a1bdf32867abfb /clang/unittests/Frontend/CompilerInvocationTest.cpp | |
parent | 22411d80723860cd050eab072bb10abd7a2ae526 (diff) | |
download | llvm-39e3e3aa51d628722637c1bfa507f9ec2c532120.zip llvm-39e3e3aa51d628722637c1bfa507f9ec2c532120.tar.gz llvm-39e3e3aa51d628722637c1bfa507f9ec2c532120.tar.bz2 |
[NewPM] Redesign of PreserveCFG Checker
The reason for the NewPM redesign is described in the commit
cba3e783389a: [NewPM] Disable PreservedCFGChecker ...
The checker introduces an internal custom CFG analysis that tracks
current up-to date CFG snapshot. The analysis is invalidated along
any other CFG related analysis (the key is CFGAnalyses). If the CFG
analysis is not invalidated at a functional pass exit then the checker
asserts that the CFG snapshot taken from this analysis is equals to
a snapshot of the current CFG.
Along the way:
- the function CFG::printDiff() is simplified by removing function
name calculation. The name is printed by the caller;
- fixed CFG invalidated condition (see CFG::invalidate());
- StandardInstrumentations::registerCallbacks() gets additional
optional parameter of type FunctionAnalysisManager*, which is
needed by the checker to get the custom CFG analysis;
- several PM related tests updated to explicitly set
-verify-cfg-preserved=1 as they need.
This patch is safe to land as the CFGChecker is left switched off
(the options -verify-cfg-preserved is false by default). It will be
switched on by a separate patch to minimize possible reverts.
Reviewed By: skatkov, kuhar
Differential Revision: https://reviews.llvm.org/D91327
Diffstat (limited to 'clang/unittests/Frontend/CompilerInvocationTest.cpp')
0 files changed, 0 insertions, 0 deletions