The optimizing compiler provides the possibility to enable extensive sanity checking on the generated IR. This can be accomplished by changing the source file of org.jikesrvm.compilers.opt.ir.IR to enable the paranoid IR verification.
Unfortunately, paranoid IR verification currently fails for our development builds out of the box. That makes it hard to use the paranoid IR verification to debug problems in the optimizing compiler and/or to exclude "simple" IR errors.
IMHO we should devise a way to enable paranoid IR verification at least a subset of our configurations. There are several ways to do this. For example, we could:
have some test runs that build versions of Jikes RVM that are patched to enable paranoid IR checking
enable paranoid IR verification when ExtremeAssertions is set
introduce a new configuration flag similar to the existing assertion flags
We can use this issue to track work on making paranoid IR verification easier to enable and on the work for fixing bugs revealed by the initial enabling of paranoid IR verification.