This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[tree-ssa]quick SSAPRE question


Hello,

I know this isn't really a gcc question, but I figured this was the one
place I could find a lot of people who have read:

"Partial Redundancy Elimination in SSA Form." ACM Transactions on
Programming Languages and Systems, 21(3): 627-676, 1999. (Robert
Kennedy, Sun Chan, Shin-Ming Liu, Raymond Lo, Peng Tu, and Fred Chow)

I don't know how many times I've started reading this article and I
*always* get stuck in the same place:

In section 2.3 definition 2 explains "redundant" as:

"If E1 and E2 are occurrences of some computation E and there is a control
flow path from E1 to E2 containing nothing that may alter the value of E,
we say that E2 is redundant with respect to E1."

Definition 3 in the same section explains "exposed" as:

"Let E1 be an occurrence of some computation E, and let p be some point in
the program. If there is a control flow path from p to E1 containing
nothing that may alter the value of E and containing no occurrence of E
between p and E1, we say that E1 is exposed with respect to p."

Immediately thereafter a set (omega) is defined as:

"the set of occurrences with respect to which an
occurrence E0 is exposed and redundant"

What am I missing here? It seems to me that if E0 is exposed with
respect to an occurence it *must* also be redundant with respect to that
occurence, making the "...and redundant" part in the definition of omega
unnecessary.


If no one here can help me with this question, maybe you can point me in
the direction of a better forum for it.

Thanks in advance.


/Per


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]