Make passes assert their dependencies consistently. (#156)
* Make passes assert their dependencies consistently. This avoids ambiguity about whose responsibility it is to run to compute cfg, domtree, and loop_analysis data. * Reset the `valid` flag in DominatorTree's `clear()`. * Remove the redundant assert from DominatorTree::with_function. * Remove the message strings from obvious asserts. This avoids having them spill out into multiple lines. * Refactor calls to `compute` on `Context` objects into helper functions.
This commit is contained in:
@@ -158,6 +158,8 @@ fn handle_module(
|
||||
context.verify(None).map_err(|err| {
|
||||
pretty_verifier_error(&context.func, None, err)
|
||||
})?;
|
||||
context.flowgraph();
|
||||
context.compute_loop_analysis();
|
||||
context.licm();
|
||||
context.verify(None).map_err(|err| {
|
||||
pretty_verifier_error(&context.func, None, err)
|
||||
|
||||
Reference in New Issue
Block a user