Hello,

I am doing interprocedural dataflow analysis and countered the following
issue. Suppose I have an GIMPLE IR code as follows, which is after the
"simdclone" pass while before my own SIMPLE IPA pass:


foo (int a, int b)
{
  int c;
  int d;
  int D.2425;
  int _5;

  <bb 2> :
*  c_4 = a_2(D) + b_3(D);  *
*  _5 = c_4;*
  ....

As you can see, while propagating certain dataflow facts among local
variables are smooth (e.g., from c_4 --> c_4 --> _5), I can hardly somehow
"link" function parameter "a" (or "b") with its first local usage "a_2(D)"
or "b_3(D)".

So my question is, when traversing the GIMPLE statements and encounter SSA
variables like "a_2(D)" or "b_3(D)", how do I know they originate from
parameter "a" and "b"?

Thank you!

Best,
Shuai

Reply via email to