I was puzzled by it when fixing
JDK-8274060. It looks that new optimizations added by JDK-8273454 and JDK-8263006 rewire in(1) and in(2) in MulNode::Ideal, which means the chained transformations should see them? Yet, both inputs and their Type-s are cached locally and not refreshed. I have not seen failures due to this yet, but it looks that the current code is subtly incorrect because of this.