summaryrefslogtreecommitdiff
path: root/src/passes/OptimizeInstructions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/passes/OptimizeInstructions.cpp')
-rw-r--r--src/passes/OptimizeInstructions.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/passes/OptimizeInstructions.cpp b/src/passes/OptimizeInstructions.cpp
index 85f777eb5..dbee3f457 100644
--- a/src/passes/OptimizeInstructions.cpp
+++ b/src/passes/OptimizeInstructions.cpp
@@ -287,7 +287,7 @@ struct OptimizeInstructions
if (c->value.isSignedMin()) {
c->value = Literal::makeSignedMax(c->type);
} else {
- c->value = c->value.abs().sub(Literal::makeFromInt32(1, c->type));
+ c->value = c->value.abs().sub(Literal::makeOne(c->type));
}
return curr;
}
@@ -1321,7 +1321,7 @@ private:
// Operations on one
// (signed)x % 1 ==> 0
if (matches(curr, binary(Abstract::RemS, pure(&left), ival(1)))) {
- right->value = Literal::makeSingleZero(type);
+ right->value = Literal::makeZero(type);
return right;
}
// (signed)x % C_pot != 0 ==> (x & (abs(C_pot) - 1)) != 0
@@ -1338,7 +1338,7 @@ private:
if (c->value.isSignedMin()) {
c->value = Literal::makeSignedMax(c->type);
} else {
- c->value = c->value.abs().sub(Literal::makeFromInt32(1, c->type));
+ c->value = c->value.abs().sub(Literal::makeOne(c->type));
}
return curr;
}
@@ -1382,12 +1382,12 @@ private:
}
// (signed)x % -1 ==> 0
if (matches(curr, binary(Abstract::RemS, pure(&left), ival(-1)))) {
- right->value = Literal::makeSingleZero(type);
+ right->value = Literal::makeZero(type);
return right;
}
// (unsigned)x > -1 ==> 0
if (matches(curr, binary(Abstract::GtU, pure(&left), ival(-1)))) {
- right->value = Literal::makeSingleZero(Type::i32);
+ right->value = Literal::makeZero(Type::i32);
right->type = Type::i32;
return right;
}
@@ -1406,7 +1406,7 @@ private:
}
// x * -1 ==> 0 - x
if (matches(curr, binary(Abstract::Mul, any(&left), ival(-1)))) {
- right->value = Literal::makeSingleZero(type);
+ right->value = Literal::makeZero(type);
curr->op = Abstract::getBinary(type, Abstract::Sub);
curr->left = right;
curr->right = left;
@@ -1414,7 +1414,7 @@ private:
}
// (unsigned)x <= -1 ==> 1
if (matches(curr, binary(Abstract::LeU, pure(&left), ival(-1)))) {
- right->value = Literal::makeFromInt32(1, Type::i32);
+ right->value = Literal::makeOne(Type::i32);
right->type = Type::i32;
return right;
}