For the case,
t8: i32 = or t7, t4 t10: i32 = ORRWrs t8, t8, TargetConstant:i32<73>
the userfulbits of t8 should be full bits of itself (t8 | (t8 >> shiftConstant)). Current implementation doesn't catch the case and may get a wrong result. The patch supplements the missing case.
nit: Can you write it as:
That's a little easier to read.