about summary refs log tree commit diff
path: root/src/optimize
diff options
context:
space:
mode:
authorbjorn3 <bjorn3@users.noreply.github.com>2020-02-14 18:23:29 +0100
committerbjorn3 <bjorn3@users.noreply.github.com>2020-02-14 18:23:29 +0100
commit430f738392dae75954bfa0059025dd18dadeff7d (patch)
treed2ab1d816b329b7186bcb58cc14056f8faf73dd3 /src/optimize
parentb5b2ffab6ae4026f8d9a8b552e075fdc81002ec7 (diff)
downloadrust-430f738392dae75954bfa0059025dd18dadeff7d.tar.gz
rust-430f738392dae75954bfa0059025dd18dadeff7d.zip
Update Cranelift for basic blocks
Diffstat (limited to 'src/optimize')
-rw-r--r--src/optimize/code_layout.rs22
-rw-r--r--src/optimize/mod.rs4
-rw-r--r--src/optimize/stack2reg.rs6
3 files changed, 16 insertions, 16 deletions
diff --git a/src/optimize/code_layout.rs b/src/optimize/code_layout.rs
index 4d2301c6f6c..7e910fe08be 100644
--- a/src/optimize/code_layout.rs
+++ b/src/optimize/code_layout.rs
@@ -10,25 +10,25 @@
 
 use crate::prelude::*;
 
-pub(super) fn optimize_function(ctx: &mut Context, cold_ebbs: &EntitySet<Ebb>) {
-    // FIXME Move the ebb in place instead of remove and append once
+pub(super) fn optimize_function(ctx: &mut Context, cold_blocks: &EntitySet<Block>) {
+    // FIXME Move the block in place instead of remove and append once
     // bytecodealliance/cranelift#1339 is implemented.
 
-    let mut ebb_insts = HashMap::new();
-    for ebb in cold_ebbs.keys().filter(|&ebb| cold_ebbs.contains(ebb)) {
-        let insts = ctx.func.layout.ebb_insts(ebb).collect::<Vec<_>>();
+    let mut block_insts = HashMap::new();
+    for block in cold_blocks.keys().filter(|&block| cold_blocks.contains(block)) {
+        let insts = ctx.func.layout.block_insts(block).collect::<Vec<_>>();
         for &inst in &insts {
             ctx.func.layout.remove_inst(inst);
         }
-        ebb_insts.insert(ebb, insts);
-        ctx.func.layout.remove_ebb(ebb);
+        block_insts.insert(block, insts);
+        ctx.func.layout.remove_block(block);
     }
 
     // And then append them at the back again.
-    for ebb in cold_ebbs.keys().filter(|&ebb| cold_ebbs.contains(ebb)) {
-        ctx.func.layout.append_ebb(ebb);
-        for inst in ebb_insts.remove(&ebb).unwrap() {
-            ctx.func.layout.append_inst(inst, ebb);
+    for block in cold_blocks.keys().filter(|&block| cold_blocks.contains(block)) {
+        ctx.func.layout.append_block(block);
+        for inst in block_insts.remove(&block).unwrap() {
+            ctx.func.layout.append_inst(inst, block);
         }
     }
 }
diff --git a/src/optimize/mod.rs b/src/optimize/mod.rs
index ba9839e84be..23c14a57c56 100644
--- a/src/optimize/mod.rs
+++ b/src/optimize/mod.rs
@@ -7,11 +7,11 @@ pub fn optimize_function<'tcx>(
     tcx: TyCtxt<'tcx>,
     instance: Instance<'tcx>,
     ctx: &mut Context,
-    cold_ebbs: &EntitySet<Ebb>,
+    cold_blocks: &EntitySet<Block>,
     clif_comments: &mut crate::pretty_clif::CommentWriter,
 ) {
     // The code_layout optimization is very cheap.
-    self::code_layout::optimize_function(ctx, cold_ebbs);
+    self::code_layout::optimize_function(ctx, cold_blocks);
 
     if tcx.sess.opts.optimize == rustc_session::config::OptLevel::No {
         return; // FIXME classify optimizations over opt levels
diff --git a/src/optimize/stack2reg.rs b/src/optimize/stack2reg.rs
index 8fa5fb13c2e..acce3a6465b 100644
--- a/src/optimize/stack2reg.rs
+++ b/src/optimize/stack2reg.rs
@@ -116,7 +116,7 @@ impl<'a> OptimizeContext<'a> {
         let mut stack_slot_usage_map = BTreeMap::<OrdStackSlot, StackSlotUsage>::new();
 
         let mut cursor = FuncCursor::new(&mut ctx.func);
-        while let Some(_ebb) = cursor.next_ebb() {
+        while let Some(_block) = cursor.next_block() {
             while let Some(inst) = cursor.next_inst() {
                 match cursor.func.dfg[inst] {
                     InstructionData::StackLoad {
@@ -249,7 +249,7 @@ pub(super) fn optimize_function<T: std::fmt::Debug>(
 fn combine_stack_addr_with_load_store(func: &mut Function) {
     // Turn load and store into stack_load and stack_store when possible.
     let mut cursor = FuncCursor::new(func);
-    while let Some(_ebb) = cursor.next_ebb() {
+    while let Some(_block) = cursor.next_block() {
         while let Some(inst) = cursor.next_inst() {
             match cursor.func.dfg[inst] {
                 InstructionData::Load { opcode: Opcode::Load, arg: addr, flags: _, offset } => {
@@ -284,7 +284,7 @@ fn remove_unused_stack_addr_and_stack_load(opt_ctx: &mut OptimizeContext) {
     let mut stack_addr_load_insts_users = HashMap::<Inst, HashSet<Inst>>::new();
 
     let mut cursor = FuncCursor::new(&mut opt_ctx.ctx.func);
-    while let Some(_ebb) = cursor.next_ebb() {
+    while let Some(_block) = cursor.next_block() {
         while let Some(inst) = cursor.next_inst() {
             for &arg in cursor.func.dfg.inst_args(inst) {
                 if let ValueDef::Result(arg_origin, 0) = cursor.func.dfg.value_def(arg) {