Currently we use various build::* functions in order to build up the function, but many of the checks done by the build::* functions are not necessary for us.
Namely, those functions are concerned with checking for termination and unreachability. Both of these concerns are not relevant to MIR – we have well specified terminator system and unreachable blocks are removed before MIR gets to the trans.
Suggestion is to refactor the MIR translator to use the trans::builder::Builder directly.
Currently we use various
build::*functions in order to build up the function, but many of the checks done by thebuild::*functions are not necessary for us.Namely, those functions are concerned with checking for termination and unreachability. Both of these concerns are not relevant to MIR – we have well specified terminator system and unreachable blocks are removed before MIR gets to the trans.
Suggestion is to refactor the MIR translator to use the
trans::builder::Builderdirectly.