The hack in question is intended to workaround seemingly bogus #line markers in cpp output. As far as I can tell, llvm cpp doesn't do this by default, so there's no reason to add -P.
In our /bin/sh, the main incantation should be placed in a sub-shell in order to properly pipe the output to fgrep.
The main motivation for this change is admittedly to stop emitting the noise about clang not being gcc in make -s buildworld