diff options
author | Davide Italiano <davide@freebsd.org> | 2016-12-23 13:12:50 +0000 |
---|---|---|
committer | Davide Italiano <davide@freebsd.org> | 2016-12-23 13:12:50 +0000 |
commit | 34f94384a5169ebe773dd900029fd6b4629629a6 (patch) | |
tree | 540ba029969603625cd484fcbae8314189ec8baf /clang/lib/AST/ExprConstant.cpp | |
parent | 21da340f7a16e1d6ec3fa5c40b32ab2056f58b85 (diff) | |
download | bcm5719-llvm-34f94384a5169ebe773dd900029fd6b4629629a6.tar.gz bcm5719-llvm-34f94384a5169ebe773dd900029fd6b4629629a6.zip |
[LICM] Work around LICM needs to maintain state across loops.
The pass creates some state which expects to be cleaned up by
a later instance of the same pass. opt-bisect happens to expose
this not ideal design because calling skipLoop() will result in
this state not being cleaned up at times and an assertion firing
in `doFinalization()`. Chandler tells me the new pass manager will
give us options to avoid these design traps, but until it's not ready,
we need a workaround for the current pass infrastructure. Fix provided
by Andy Kaylor, see the review for a complete discussion.
Differential Revision: https://reviews.llvm.org/D25848
llvm-svn: 290427
Diffstat (limited to 'clang/lib/AST/ExprConstant.cpp')
0 files changed, 0 insertions, 0 deletions