summaryrefslogtreecommitdiffstats
path: root/compiler/rustc_codegen_cranelift/src/optimize/mod.rs
blob: d1f89adb3bb916789436685d774ff220b159ed9f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//! Various optimizations specific to cg_clif

use cranelift_codegen::isa::TargetIsa;

use crate::prelude::*;

pub(crate) mod peephole;

pub(crate) fn optimize_function<'tcx>(
    tcx: TyCtxt<'tcx>,
    isa: &dyn TargetIsa,
    instance: Instance<'tcx>,
    ctx: &mut Context,
    clif_comments: &mut crate::pretty_clif::CommentWriter,
) {
    // FIXME classify optimizations over opt levels once we have more

    crate::pretty_clif::write_clif_file(tcx, "preopt", isa, instance, &ctx.func, &*clif_comments);
    crate::base::verify_func(tcx, &*clif_comments, &ctx.func);
}