FunctionPropertiesAnalysis: handle callsite BBs that lose edges
There could be successors that were reached before but now are only reachable from elsewhere in the CFG. Suppose the following diamond CFG (lines are arrows pointing down): A / \ B C \ / D There's a call site in C that is inlined. Upon doing that, it turns out it expands to: call void @llvm.trap() unreachable D isn't reachable from C anymore, but we did discount it when we set up FunctionPropertiesUpdater, so we need to re-include it here. The patch also updates loop accounting to use LoopInfo rather than traverse BBs. Differential Revision: https://reviews.llvm.org/D127353
Loading
Please sign in to comment