What does PHI node mean? [GCC Internals Manual]

Cheng Renquan crquan@gmail.com
Wed Jul 14 11:08:00 GMT 2010


From: Andrew Haley <aph@redhat.com>
> It's an interesting point.  Do you think that the gccint manual should
> assume some knowledge of how optimizing compilers work?
> It's explained in
> Advanced Compiler Design and Implementation, Steven Muchnick, ISBN 1558603204
> and
> http://en.wikipedia.org/wiki/Static_single_assignment_form
> We have never to my knowledge included links to Wikipedia in gcc
> documentation, but this might be a good time to start.
>
> Andrew.

Thank you, I've also found SSA 's meaning through its abbrev wikipedia entry,

http://en.wikipedia.org/wiki/SSA

but for PHI, I still did't find a good entry,

http://en.wikipedia.org/wiki/PHI

Someone know what PHI means, please tell, thank you. My native language
is not English, sorry for my understanding, but if someone really know
"PHI", please tell, I will thank you;

All through gccint manual, I only find one paragraph, looks like a
definition for "PHI function" or "PHI node", but it also doesn't explain
what "PHI" abbrev for? is "PHI" part of some word, or initial letter of
three words?

" Sometimes, flow of control makes it impossible to determine the most
recent version of a variable.  In these cases, the compiler inserts an
artificial definition for that variable called "PHI function" or "PHI
node".  This new definition merges all the incoming versions of the
variable to create a new name for it.  For instance,"




I mean: if gccint has a terminology index or table, at least explain
what it abbreviated for, maybe that would look better;
just like any technology book has a term glossary, at the end;

I'm just an amateurish newbie compiler hacker, please help if you could,
I'm trying to understand gcc more and trying to contribute back, such
one like:
http://gcc.gnu.org/ml/gcc-patches/2010-07/msg00912.html

and BTW, please add Cc me because I didn't subscribe gcc-help. thank you.



More information about the Gcc-help mailing list