------- Comment #84 from bonzini at gnu dot org 2009-05-15 10:35 ------- Ok, I am working on a patch to add a multiple-definitions DF problem and use that together with a domwalk to find the single definitions (instead of reaching-definitions, which is the remaining slow part). The new problem has a bitvector sized by the number of registers rather than the number of defs (that is sized like the bitvectors for liveness), which means it will be fast. It is defined as follows:
MDkill (B) = regs that have a def in B MDinit (B) = (union of MDkill (P) for every P : B \in DomFrontier(P) \cap LRin(B) MDin (B) = MDinit (B) \cup (union of MDout (P) for every predecessor P of B) MDout (B) = MDin (B) - MDkill (B) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33928