public virtual Expression VisitIdentifier(Identifier id) { if (idConst.Match(id)) { Changed = true; return(idConst.Transform()); } if (idProcConstRule.Match(id)) { Changed = true; return(idProcConstRule.Transform()); } // jkl: Copy propagation causes real problems when used during trashed register analysis. // If needed in other passes, it should be an option for expression e if (idCopyPropagation.Match(id)) { Changed = true; return(idCopyPropagation.Transform()); } if (idBinIdc.Match(id)) { Changed = true; return(idBinIdc.Transform()); } return(id); }