anchor.diff:    }
   
     visitIf(HIf node) {
  +    if (subGraph !== null && node.block === subGraph.end) {
  +      if (isGeneratingExpression()) {
  +        use(node.inputs[0], JSPrecedence.EXPRESSION_PRECEDENCE);
  +      }
  +      return;
  +    }
       HInstruction condition = node.inputs[0];
       int preVisitedBlocks = 0;
       List<HBasicBlock> dominated = node.block.dominatedBlocks;
  
positive.code:   }
  
    visitLoopBranch(HLoopBranch node) {
      if (subGraph !== null && node.block == subGraph.end) {
        // We are generating code for a loop condition.
        // If doing this as part of a SubGraph traversal, the
        // calling code will handle the control flow logic.
  
negative.code:     }
    }
  
    bool visitAndOrInfo(HAndOrBlockInformation info) => false;
    bool visitIfInfo(HIfBlockInformation info) => false;
    bool visitLoopInfo(HLoopInformation info) => false;
  
    void visitTypeGuard(HTypeGuard node) {
  