Skip to content
Snippets Groups Projects

Loop canon bound fix

Merged Xavier Routh requested to merge loop-canon-bound-fix into main
3 files
+ 17
17
Compare changes
  • Side-by-side
  • Inline
Files
3
@@ -270,17 +270,20 @@ pub fn canonicalize_single_loop_bounds(
edit.replace_all_uses_where(bound_id, new_condition, |usee| *usee == binop_node)?;
}
// Add back to uses of the IV
for user in update_expr_users {
let new_user = Node::Binary {
left: user,
right: *initializer,
op: BinaryOperator::Add,
};
let new_user = edit.add_node(new_user);
edit = edit.replace_all_uses(user, new_user)?;
}
// for user in update_expr_users {
// let new_user = Node::Binary {
// left: user,
// right: *initializer,
// op: BinaryOperator::Add,
// };
// let new_user = edit.add_node(new_user);
// edit = edit.replace_all_uses(user, new_user)?;
// }
// for
// Add the offset back to users of the IV update expression
let new_user = Node::Binary {
left: *update_expression,
right: *initializer,
@@ -294,6 +297,7 @@ pub fn canonicalize_single_loop_bounds(
&& *usee != condition_node
})?;
// Add the offset back to users of the IV directly
let new_user = Node::Binary {
left: *iv_phi,
right: *initializer,
Loading