if (!fuseReads) { return super.visitPopExpression(self, tapeType); }
	public Object visitPopExpression(SIRPopExpression self,					 CType tapeType) {	    // leave it alone not fusing reads	    if (!fuseReads) {		return super.visitPopExpression(self, tapeType);	    }	    // build ref to pop array	    JLocalVariableExpression lhs = 		new JLocalVariableExpression(null, curInfo.popBuffer);	    // build increment of index to array	    JExpression rhs =		new JPrefixExpression(null, 				      Constants.OPE_PREINC, 				      new JLocalVariableExpression(null,								   curInfo.								   popCounter));	    // return a new array access expression	    return new JArrayAccessExpression(null, lhs, rhs);	}