I'm having some major grief with a few related things that I'm try to
do. The mostly revolve around trying to change the type of an SSA name
(which I've given up in favor of creating new SSA names and replacing
the ones I wanted to change.) However, this seems too has its own
issues.

In one problematic case in particular, I'm seeing a sequence like:

foo_3 = mumble_1 op mumble_2

bar_5 = foo_3 op baz_4

when replace foo_3 with foo_4 the (having the needed new type.)

I'm seeing a later verification phase think

bar_5 = foo_4 op baz_4

is still associated with the foo_3.

Should the transformation above be associated with update_stmt and/or
release_ssa_name_fn? And if they are both needed is there a proper
order required.  Note, when I try using them, I'm seeing some malformed
tree operands that die in horrible ways.

By the way, I realize I can probably simply create a new GIMPLE stmt
from scratch to replace the ones I'm modifying but this will cause
some significant code bloat and I want to avoid that if at all
possible.

There is an addition wrinkle to this problem with C code like this

void
whatever ( int x, .. )
{
  :
  x++;
  :
}

I'm seeing x_2 being thought of as default definition in the following
GIMPLE stmt when it's clearly not since it's defined by the statement.

  x_2 = X_1 + 4

My approach has been to simply make the SSA name to replace x_2a
normal SSA name and not a default def. Is this not reasonable and
correct?

Thanks,

Gary Oblock

Gary





CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, is for 
the sole use of the intended recipient(s) and contains information that is 
confidential and proprietary to Ampere Computing or its subsidiaries. It is to 
be used solely for the purpose of furthering the parties' business 
relationship. Any unauthorized review, copying, or distribution of this email 
(or any attachments thereto) is strictly prohibited. If you are not the 
intended recipient, please contact the sender immediately and permanently 
delete the original and any copies of this email and any attachments thereto.

Reply via email to