| Index: runtime/vm/flow_graph_optimizer.h
|
| diff --git a/runtime/vm/flow_graph_optimizer.h b/runtime/vm/flow_graph_optimizer.h
|
| index 5b05ea737739db1a9cd7d1e58f9f0b48fc9801b4..7f524cc5eb7d83585864665df32c23792249da21 100644
|
| --- a/runtime/vm/flow_graph_optimizer.h
|
| +++ b/runtime/vm/flow_graph_optimizer.h
|
| @@ -34,6 +34,7 @@ class FlowGraphOptimizer : public FlowGraphVisitor {
|
| // Merge instructions (only per basic-block).
|
| void TryOptimizePatterns();
|
|
|
| +
|
| // Returns true if any instructions were canonicalized away.
|
| bool Canonicalize();
|
|
|
| @@ -43,6 +44,9 @@ class FlowGraphOptimizer : public FlowGraphVisitor {
|
|
|
| void InferIntRanges();
|
|
|
| + // Optimize mint operations using range analysis output.
|
| + void TryRangeDerivedOptimizations();
|
| +
|
| void AnalyzeTryCatch();
|
|
|
| bool TryInlineRecognizedMethod(intptr_t receiver_cid,
|
| @@ -238,6 +242,8 @@ class FlowGraphOptimizer : public FlowGraphVisitor {
|
| void OptimizeLeftShiftBitAndSmiOp(Definition* bit_and_instr,
|
| Definition* left_instr,
|
| Definition* right_instr);
|
| + Definition* OptimizeMint32BitMasks(BinaryMintOpInstr* mask);
|
| + bool TryMarkMint32Bit(Definition* mintop);
|
| void TryMergeTruncDivMod(GrowableArray<BinarySmiOpInstr*>* merge_candidates);
|
| void TryMergeMathUnary(GrowableArray<MathUnaryInstr*>* merge_candidates);
|
|
|
|
|