
The only place we modify the CFG is when calling removeUnreachableBlocks(), so insert a callback there which invalidates analyses for that function (or recomputes DT in the legacy PM). We may delete functions, make sure to clear analyses for those functions. (this was missed in the original revision) Small compile time wins across the board: https://llvm-compile-time-tracker.com/compare.php?from=f444ea8ce0aaaa5ec1a4129809389da15cc41396&to=698f41f4fc26cbf1006ed5d88e9d658edfc5b749&stat=instructions Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D128145
9 lines
216 B
LLVM
9 lines
216 B
LLVM
; RUN: opt -passes='function(require<no-op-function>),globalopt' %s -debug-pass-manager -S 2>&1 | FileCheck %s
|
|
|
|
; CHECK: Clearing all analysis results for: f
|
|
; CHECK-NOT: @f
|
|
|
|
define internal void @f() {
|
|
ret void
|
|
}
|