}
Some(SymbolManglingVersion::V0) => {}
}
-
- if let Some(mir_opt_level) = debugging_opts.mir_opt_level {
- if mir_opt_level > 1 {
- // Functions inlined during MIR transform can, at best, make it impossible to
- // effectively cover inlined functions, and, at worst, break coverage map generation
- // during LLVM codegen. For example, function counter IDs are only unique within a
- // function. Inlining after these counters are injected can produce duplicate counters,
- // resulting in an invalid coverage map (and ICE); so this option combination is not
- // allowed.
- early_warn(
- error_format,
- &format!(
- "`-Z mir-opt-level={}` (or any level > 1) enables function inlining, which \
- is incompatible with `-Z instrument-coverage`. Inlining will be disabled.",
- mir_opt_level,
- ),
- );
- }
- }
}
if let Ok(graphviz_font) = std::env::var("RUSTC_GRAPHVIZ_FONT") {
pub fn needs_analysis(&self) -> bool {
use PpMode::*;
- matches!(*self, Mir | MirCFG)
+ matches!(*self, Mir | MirCFG | ThirTree)
}
}