protected IRExpression compile_impl() {
    IRExpression lhs =
        IRArgConverter.castOrConvertIfNecessary(
            IRTypeConstants.pBOOLEAN(), ExpressionTransformer.compile(_expr().getLHS(), _cc()));
    IRExpression rhs =
        IRArgConverter.castOrConvertIfNecessary(
            IRTypeConstants.pBOOLEAN(), ExpressionTransformer.compile(_expr().getRHS(), _cc()));

    return new IRConditionalOrExpression(lhs, rhs);
  }
 @Override
 public IRType getType() {
   return IRTypeConstants.pBOOLEAN();
 }