Enable paranoid IR verification for tests and fix problems revealed by it

Description

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.

Environment

All

Status

Assignee

Unassigned

Reporter

Erik Brangs

Labels

None

Fix versions

Affects versions

Priority

Medium
Configure