1 //! Various optimizations specific to cg_clif
6 pub(crate) mod peephole;
9 pub(crate) fn optimize_function<'tcx>(
11 instance: Instance<'tcx>,
13 cold_blocks: &EntitySet<Block>,
14 clif_comments: &mut crate::pretty_clif::CommentWriter,
16 // The code_layout optimization is very cheap.
17 self::code_layout::optimize_function(ctx, cold_blocks);
19 if tcx.sess.opts.optimize == rustc_session::config::OptLevel::No {
20 return; // FIXME classify optimizations over opt levels
22 self::stack2reg::optimize_function(ctx, clif_comments);
23 crate::pretty_clif::write_clif_file(tcx, "stack2reg", None, instance, &ctx, &*clif_comments);
24 crate::base::verify_func(tcx, &*clif_comments, &ctx.func);