Control Dependencies for Loops

hagerman@ece.cmu.edu (John Hagerman)
Tue, 20 Apr 1993 21:31:36 GMT

          From comp.compilers

Related articles
Control Dependencies for Loops hagerman@ece.cmu.edu (1993-04-20)
Re: Control Dependencies for Loops paco@ariel.cs.rice.edu (1993-04-22)
More on Control Dependencies for Loops hagerman@ece.cmu.edu (1993-04-22)
Re: Control Dependencies for Loops girkar@kpc.com (1993-04-22)
| List of all articles for this month |
Newsgroups: comp.compilers
From: hagerman@ece.cmu.edu (John Hagerman)
Keywords: analysis, question
Organization: Carnegie Mellon University
Date: Tue, 20 Apr 1993 21:31:36 GMT

This definition of control dependence is fairly typical, right?


    DEP(x,y) iff !POST-DOM(y,x)
                        and there exists a path P=<x,...,y> such that
                                  for all z in P (except x,y), POST-DOM(y,z)


Consider the following loop:


    while (E) do S;


and the corresponding CFG:


        [START]
              |
              v
            [E]<-+
              | |
              v |
        +-<?> |
        | | |
        | v |
        | [S] |
        | | |
        | +---+
        v
    [END]


The above definition specifies that DEP(<?>,[E]) and DEP(<?>,[S]). But it
seems like I should only be concerned with the dependencies within a
single iteration, so why have DEP(<?>,[E]) at all? Is it only an artifact
of the definition? If I change the definition so that backedges are not
permitted in P, do I shoot myself?


Thanks - John
--
hagerman@ece.cmu.edu
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.