File tree Expand file tree Collapse file tree 3 files changed +11
-6
lines changed
Expand file tree Collapse file tree 3 files changed +11
-6
lines changed Original file line number Diff line number Diff line change @@ -666,11 +666,9 @@ bool Optimizer::fixSandwich(Program &p) const {
666666 std::swap (op1, op2);
667667 op1.source .value *= op2.source .value ;
668668 changed = true ;
669- } else if (op1.type == Operation::Type::MUL &&
670- Semantics::mod (op2.source .value , op1.source .value ) ==
671- Number::ZERO) {
672- std::swap (op1, op2);
673- op1.source .value /= op2.source .value ;
669+ } else if (op1.type == Operation::Type::MUL) {
670+ std::swap (op3, op2);
671+ op3.source .value *= op2.source .value ;
674672 changed = true ;
675673 }
676674 } else if (ProgramUtil::isAdditive (op2.type ) &&
Original file line number Diff line number Diff line change 33sub $ 0 , 12
44mul $ 0 , 3
55; out
6- sub $ 0 , 2
76mul $ 0 , 18
7+ sub $ 0 , 36
Original file line number Diff line number Diff line change 1+ ; in
2+ mul $ 0 , 2
3+ add $ 0 , 1
4+ mul $ 0 , 4
5+ ; out
6+ mul $ 0 , 8
7+ add $ 0 , 4
You can’t perform that action at this time.
0 commit comments