about summary refs log tree commit diff
path: root/compiler/rustc_codegen_cranelift/src/optimize/mod.rs
blob: 61033d85a12740a827d1f443c7e76e567dfd54e9 (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, &*clif_comments);
    crate::base::verify_func(tcx, &*clif_comments, &ctx.func);
}