Can I compute my IIR faster given limited possible input values? I have an IIR routine in C++ I'm trying to speed up.

Currently I'm using a DF2 implementation. Since my input signal will always be either 1.0 or -1.0 is it possible for me to optimize the algorithm, removing some calculations or precomputing values for given blocks of input?

Thanks!
Depends on the hardware running your C++ code.  If you have a slow multiply unit and fast branching, then you might be able to replace a few slower multiply-adds with faster adds or subtracts.  But on most modern GHz CPUs, the add/sub branch penalty will likely be slower than a floating-point mul-add by +-1.0.