Rerun peephole optimizers on the whole block

Up until now if a peephole optimizer matched we've only restarted from
the current instruction. This patch restarts optimizations on the whole
block if the previous run had at least one match.

As this can take considerable time this will only be enabled if -O3 or
higher is specified.

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@26640 3ad0048d-3df7-0310-abae-a5850022a9f2