Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(941)

Unified Diff: pkg/compiler/lib/src/ssa/value_range_analyzer.dart

Issue 1859343004: dartfmt pkg/compiler (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/compiler/lib/src/ssa/validate.dart ('k') | pkg/compiler/lib/src/ssa/value_set.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/compiler/lib/src/ssa/value_range_analyzer.dart
diff --git a/pkg/compiler/lib/src/ssa/value_range_analyzer.dart b/pkg/compiler/lib/src/ssa/value_range_analyzer.dart
index 22c127aead0a3aad5b8b4b44709f2c808df3a093..8893e90ee75904a51de9529987fafae17c0652c9 100644
--- a/pkg/compiler/lib/src/ssa/value_range_analyzer.dart
+++ b/pkg/compiler/lib/src/ssa/value_range_analyzer.dart
@@ -56,9 +56,8 @@ class ValueRangeInfo {
}
Range newMarkerRange() {
- return new Range(new MarkerValue(false, this),
- new MarkerValue(true, this),
- this);
+ return new Range(
+ new MarkerValue(false, this), new MarkerValue(true, this), this);
}
}
@@ -73,7 +72,7 @@ abstract class Value {
Value operator +(Value other) => const UnknownValue();
Value operator -(Value other) => const UnknownValue();
- Value operator -() => const UnknownValue();
+ Value operator -() => const UnknownValue();
Value operator &(Value other) => const UnknownValue();
Value min(Value other) {
@@ -138,7 +137,7 @@ class IntValue extends Value {
Value operator +(other) {
if (other.isZero) return this;
- if (other is !IntValue) return other + this;
+ if (other is! IntValue) return other + this;
ConstantSystem constantSystem = info.constantSystem;
var constant = constantSystem.add.fold(
constantSystem.createInt(value), constantSystem.createInt(other.value));
@@ -148,7 +147,7 @@ class IntValue extends Value {
Value operator -(other) {
if (other.isZero) return this;
- if (other is !IntValue) return -other + this;
+ if (other is! IntValue) return -other + this;
ConstantSystem constantSystem = info.constantSystem;
var constant = constantSystem.subtract.fold(
constantSystem.createInt(value), constantSystem.createInt(other.value));
@@ -159,14 +158,13 @@ class IntValue extends Value {
Value operator -() {
if (isZero) return this;
ConstantSystem constantSystem = info.constantSystem;
- var constant = constantSystem.negate.fold(
- constantSystem.createInt(value));
+ var constant = constantSystem.negate.fold(constantSystem.createInt(value));
if (!constant.isInt) return const UnknownValue();
return info.newIntValue(constant.primitiveValue);
}
Value operator &(other) {
- if (other is !IntValue) return const UnknownValue();
+ if (other is! IntValue) return const UnknownValue();
ConstantSystem constantSystem = info.constantSystem;
var constant = constantSystem.bitAnd.fold(
constantSystem.createInt(value), constantSystem.createInt(other.value));
@@ -174,17 +172,17 @@ class IntValue extends Value {
}
Value min(other) {
- if (other is !IntValue) return other.min(this);
+ if (other is! IntValue) return other.min(this);
return this.value < other.value ? this : other;
}
Value max(other) {
- if (other is !IntValue) return other.max(this);
+ if (other is! IntValue) return other.max(this);
return this.value < other.value ? other : this;
}
bool operator ==(other) {
- if (other is !IntValue) return false;
+ if (other is! IntValue) return false;
return this.value == other.value;
}
@@ -252,7 +250,7 @@ class InstructionValue extends Value {
InstructionValue(this.instruction, info) : super(info);
bool operator ==(other) {
- if (other is !InstructionValue) return false;
+ if (other is! InstructionValue) return false;
return this.instruction == other.instruction;
}
@@ -319,9 +317,9 @@ class AddValue extends BinaryOperationValue {
AddValue(left, right, info) : super(left, right, info);
bool operator ==(other) {
- if (other is !AddValue) return false;
- return (left == other.left && right == other.right)
- || (left == other.right && right == other.left);
+ if (other is! AddValue) return false;
+ return (left == other.left && right == other.right) ||
+ (left == other.right && right == other.left);
}
int get hashCode => throw new UnsupportedError('AddValue.hashCode');
@@ -367,7 +365,7 @@ class SubtractValue extends BinaryOperationValue {
SubtractValue(left, right, info) : super(left, right, info);
bool operator ==(other) {
- if (other is !SubtractValue) return false;
+ if (other is! SubtractValue) return false;
return left == other.left && right == other.right;
}
@@ -415,7 +413,7 @@ class NegateValue extends Value {
NegateValue(this.value, info) : super(info);
bool operator ==(other) {
- if (other is !NegateValue) return false;
+ if (other is! NegateValue) return false;
return value == other.value;
}
@@ -481,10 +479,9 @@ class Range {
* Checks if the given values are unknown, and creates a
* range that does not have any unknown values.
*/
- Range.normalize(Value low, Value up, info) : this(
- low == const UnknownValue() ? const MinIntValue() : low,
- up == const UnknownValue() ? const MaxIntValue() : up,
- info);
+ Range.normalize(Value low, Value up, info)
+ : this(low == const UnknownValue() ? const MinIntValue() : low,
+ up == const UnknownValue() ? const MaxIntValue() : up, info);
Range union(Range other) {
return info.newNormalizedRange(
@@ -497,14 +494,20 @@ class Range {
// If we could not compute max or min, pick a value in the two
// ranges, with priority to [IntValue]s because they are simpler.
if (low == const UnknownValue()) {
- if (lower is IntValue) low = lower;
- else if (other.lower is IntValue) low = other.lower;
- else low = lower;
+ if (lower is IntValue)
+ low = lower;
+ else if (other.lower is IntValue)
+ low = other.lower;
+ else
+ low = lower;
}
if (up == const UnknownValue()) {
- if (upper is IntValue) up = upper;
- else if (other.upper is IntValue) up = other.upper;
- else up = upper;
+ if (upper is IntValue)
+ up = upper;
+ else if (other.upper is IntValue)
+ up = other.upper;
+ else
+ up = upper;
}
return info.newNormalizedRange(low, up);
}
@@ -522,10 +525,10 @@ class Range {
}
Range operator &(Range other) {
- if (isSingleValue
- && other.isSingleValue
- && lower is IntValue
- && other.lower is IntValue) {
+ if (isSingleValue &&
+ other.isSingleValue &&
+ lower is IntValue &&
+ other.lower is IntValue) {
return info.newNormalizedRange(lower & other.lower, upper & other.upper);
}
if (isPositive && other.isPositive) {
@@ -607,10 +610,8 @@ class SsaValueRangeAnalyzer extends HBaseVisitor implements OptimizationPhase {
CodegenWorkItem work;
HGraph graph;
- SsaValueRangeAnalyzer(this.compiler,
- constantSystem,
- this.optimizer,
- this.work)
+ SsaValueRangeAnalyzer(
+ this.compiler, constantSystem, this.optimizer, this.work)
: info = new ValueRangeInfo(constantSystem),
this.constantSystem = constantSystem;
@@ -633,7 +634,6 @@ class SsaValueRangeAnalyzer extends HBaseVisitor implements OptimizationPhase {
}
void visitBasicBlock(HBasicBlock block) {
-
void visit(HInstruction instruction) {
Range range = instruction.accept(this);
if (instruction.isInteger(compiler)) {
@@ -732,14 +732,14 @@ class SsaValueRangeAnalyzer extends HBaseVisitor implements OptimizationPhase {
// Check if the index is strictly below the upper bound of the length
// range.
Value maxIndex = lengthRange.upper - info.intOne;
- bool belowLength = maxIndex != const MaxIntValue()
- && indexRange.upper.min(maxIndex) == indexRange.upper;
+ bool belowLength = maxIndex != const MaxIntValue() &&
+ indexRange.upper.min(maxIndex) == indexRange.upper;
// Check if the index is strictly below the lower bound of the length
// range.
- belowLength = belowLength
- || (indexRange.upper != lengthRange.lower
- && indexRange.upper.min(lengthRange.lower) == indexRange.upper);
+ belowLength = belowLength ||
+ (indexRange.upper != lengthRange.lower &&
+ indexRange.upper.min(lengthRange.lower) == indexRange.upper);
if (indexRange.isPositive && belowLength) {
check.block.rewrite(check, check.index);
check.block.remove(check);
@@ -759,16 +759,15 @@ class SsaValueRangeAnalyzer extends HBaseVisitor implements OptimizationPhase {
// greater or equal than the lower bound of the index.
Value low = lengthRange.lower.max(indexRange.lower);
if (low != const UnknownValue()) {
- HInstruction instruction =
- createRangeConversion(next, check.length);
+ HInstruction instruction = createRangeConversion(next, check.length);
ranges[instruction] = info.newNormalizedRange(low, lengthRange.upper);
}
}
// Update the range of the index if using the maximum index
// narrows it. Use that new range for this instruction as well.
- Range newIndexRange = indexRange.intersection(
- info.newNormalizedRange(info.intZero, maxIndex));
+ Range newIndexRange = indexRange
+ .intersection(info.newNormalizedRange(info.intZero, maxIndex));
if (indexRange == newIndexRange) return indexRange;
// Explicitly attach the range information to the index instruction,
// which may be used by other instructions. Returning the new range will
@@ -790,12 +789,12 @@ class SsaValueRangeAnalyzer extends HBaseVisitor implements OptimizationPhase {
if (relational is HIdentity) {
handleEqualityCheck(relational);
} else if (operation.apply(leftRange, rightRange)) {
- relational.block.rewrite(
- relational, graph.addConstantBool(true, compiler));
+ relational.block
+ .rewrite(relational, graph.addConstantBool(true, compiler));
relational.block.remove(relational);
} else if (negateOperation(operation).apply(leftRange, rightRange)) {
- relational.block.rewrite(
- relational, graph.addConstantBool(false, compiler));
+ relational.block
+ .rewrite(relational, graph.addConstantBool(false, compiler));
relational.block.remove(relational);
}
return info.newUnboundRange();
@@ -805,8 +804,7 @@ class SsaValueRangeAnalyzer extends HBaseVisitor implements OptimizationPhase {
Range right = ranges[node.right];
Range left = ranges[node.left];
if (left.isSingleValue && right.isSingleValue && left == right) {
- node.block.rewrite(
- node, graph.addConstantBool(true, compiler));
+ node.block.rewrite(node, graph.addConstantBool(true, compiler));
node.block.remove(node);
}
}
@@ -820,18 +818,18 @@ class SsaValueRangeAnalyzer extends HBaseVisitor implements OptimizationPhase {
// so special case those.
if (left.isInteger(compiler) && right.isInteger(compiler)) {
if (divisor.isPositive) {
- return info.newNormalizedRange(info.intZero, divisor.upper -
- info.intOne);
+ return info.newNormalizedRange(
+ info.intZero, divisor.upper - info.intOne);
} else if (divisor.isNegative) {
- return info.newNormalizedRange(info.intZero, info.newNegateValue(
- divisor.lower) - info.intOne);
+ return info.newNormalizedRange(
+ info.intZero, info.newNegateValue(divisor.lower) - info.intOne);
}
} else if (left.isNumber(compiler) && right.isNumber(compiler)) {
if (divisor.isPositive) {
return info.newNormalizedRange(info.intZero, divisor.upper);
} else if (divisor.isNegative) {
- return info.newNormalizedRange(info.intZero, info.newNegateValue(
- divisor.lower));
+ return info.newNormalizedRange(
+ info.intZero, info.newNegateValue(divisor.lower));
}
}
}
@@ -846,8 +844,9 @@ class SsaValueRangeAnalyzer extends HBaseVisitor implements OptimizationPhase {
Range handleBinaryOperation(HBinaryArithmetic instruction) {
if (!instruction.isInteger(compiler)) return info.newUnboundRange();
- return instruction.operation(constantSystem).apply(
- ranges[instruction.left], ranges[instruction.right]);
+ return instruction
+ .operation(constantSystem)
+ .apply(ranges[instruction.left], ranges[instruction.right]);
}
Range visitAdd(HAdd add) {
@@ -891,8 +890,8 @@ class SsaValueRangeAnalyzer extends HBaseVisitor implements OptimizationPhase {
return ranges[instruction.checkedInput];
}
- HInstruction createRangeConversion(HInstruction cursor,
- HInstruction instruction) {
+ HInstruction createRangeConversion(
+ HInstruction cursor, HInstruction instruction) {
JavaScriptBackend backend = compiler.backend;
HRangeConversion newInstruction =
new HRangeConversion(instruction, backend.intType);
@@ -932,9 +931,8 @@ class SsaValueRangeAnalyzer extends HBaseVisitor implements OptimizationPhase {
}
}
- Range computeConstrainedRange(BinaryOperation operation,
- Range leftRange,
- Range rightRange) {
+ Range computeConstrainedRange(
+ BinaryOperation operation, Range leftRange, Range rightRange) {
Range range;
if (operation == const LessOperation()) {
range = info.newNormalizedRange(
@@ -955,7 +953,7 @@ class SsaValueRangeAnalyzer extends HBaseVisitor implements OptimizationPhase {
Range visitConditionalBranch(HConditionalBranch branch) {
var condition = branch.condition;
// TODO(ngeoffray): Handle complex conditions.
- if (condition is !HRelational) return info.newUnboundRange();
+ if (condition is! HRelational) return info.newUnboundRange();
if (condition is HIdentity) return info.newUnboundRange();
HInstruction right = condition.right;
HInstruction left = condition.left;
« no previous file with comments | « pkg/compiler/lib/src/ssa/validate.dart ('k') | pkg/compiler/lib/src/ssa/value_set.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698