Hi Vladmir,

    I think that IRA should give the same result with the same RTL
input. But I find that this is not always true.
    I test IRA with two inputs, say X and Y. The RTL insns are the
same (ignore the UIDs). And the only difference between the two is the
CFG.
    There are two blocks in X which is merged into one block in Y.
Only one edge exists between the two blocks in X.
    After IRA processing, I find the move insns emitted by ira-emit.c
is different. And this brings performance issues with the target code.
    What are the possible reasons for this? Since IRA is somewhat
complex, can you give me some suggestions please?
    Many thanks.

Cheers,
Felix

Reply via email to