UserProc::removeRedundantReturns can invalidate implicit assigned Phi defs.
reductor opened this issue · comments
Implicit assigns come from UserProc::typeAnalysis->UserProc::addImplicitAssigns, when a change has occured with UserProc::removeRedundantReturns this causes UserProc::updateForUseChange which will reassign Phi defs in UserProc::doRenameBlockVars but this does not cover implicit assigns, we could call addImplicitAssigns or typeAnalysis after this in UserProc::updateForUseChange, however with a pass based system and dependencies we could reduce the chance of this sort of thing occuring again.
I'm closing this because this should be fixed now. Feel free to open a new issue if the problem reoccurs.