Scalar evolution question

For a pass that we're implementing, we want to do symbolic evaluation of LLVM values as if certain intrinsics were given constants. The scalar evolution pass already lets us compute these values for loop iterations, but it still doesn't let us do it if the SCEV in question corresponds to an IntrinsicInst. It seems that the easiest way to do this is to modify the IR to replace the intrinsic with the constant in question, but this also requires that we undo this modification; is there an easier way to do this?