Method inlining assumes a method that states it will return a value, returns a value. In Java this isn't always the case as a method can throw an exception. A common pattern is for a method to throw an unimplemented exception. This behavior is seen in benchmark code. For example running DaCapo jython with -X:aos:initial_compiler=opt and paranoid IR checking will result in a failure as uses are found for the result of a method that never defines the result value. A similar failure occurs in SPECjvm's javac.
This tracker supersedes SF bug tracker 1358987: