Hi,

I have one function (F) that has been specialized for two different calling
contexts (F1 and F2) and two late SIMPLE_IPA_PASSes (A and B). Pass A
changes some MEM_REFs such that the type of MEM_REF is compatible with the
type of the first operand of the expression. Pass A changes both F1 and F2.
I have printed the function bodies of both F1 and F2 during Pass A and
everything looks correct. Pass B uses these changes.

However I noticed this interesting behaviour:

1. If I fix F1 first and then F2, then pass B will see F2 correctly but
some of F1 MEM_REFs will be incorrect.
2. If I fix F2 first and then F1, then pass B will see F1 correctly but
some of F2 MEM_REFs will be incorrect.

My question is do different specialized functions share the same trees? How
would I then change the bodies of specialized functions?

Thanks!

Reply via email to