This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: SSA usage question
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- To: dnovillo at redhat dot com
- Cc: gcc at gcc dot gnu dot org
- Date: Mon, 7 Jun 04 11:22:12 EDT
- Subject: Re: SSA usage question
So, you want a reference like 'a[3]' to show up as 'a[3,v,x]' where 'v'
is TYPE_MIN_VALUE and 'x' is TYPE_SIZE_UNIT? Would 'v' and 'x' be set
sometime before the reference?
I missed your last question.
By "set", do you mean when they get set into the ARRAY_REF or do you
mean when the value is assigned to them during execution?
For the former, they'll get set during gimplification. And that's also
related to the answer to the latter: gimplification will generate the
assignment of those variable to whatever expression they need to have.
Normally, we'd have gimplified TYPE_MIN_VALUE when doing the DECL_STMT
for the TYPE_DECL of that type, so the assignment would have been generated
there, but if it had a PLACEHOLDER_EXPR, the gimplification of the
ARRAY_REF itself would generate the assignments in front of the statement
containing the ARRAY_REF.