'Assign new block other this instruction.'

def op_FOR_ITER(self, inst, iterator, pair, indval, pred):

    assert (inst.offset in self.blocks), 'FOR_ITER    must    be    block    head'
    val = self.get(iterator)
    pairval = ir.Expr.iternext(value=val, loc=self.loc)
    self.store(pairval, pair)
    iternext = ir.Expr.pair_first(value=self.get(pair), loc=self.loc)
    self.store(iternext, indval)
    isvalid = ir.Expr.pair_second(value=self.get(pair), loc=self.loc)
    self.store(isvalid, pred)
    br = ir.Branch(cond=self.get(pred), truebr=inst.next, falsebr=inst.get_jump_target(), loc=self.loc)
    self.current_block.append(br)
