[LLVMdev] alias set collapse and LICM

Sanjoy Das
Mon, 27 Apr 2015 22:44:18 -0000

> Can you explain why the alias sets are collapsed into one here?

If I'm reading the code correctly, it is because the readonly call
aliases all of %a, %b and %c.  Since two pointers can be in two
different alias sets only if they do not alias, %a has to be in the
same alias set as the read only call and so does %b and %c.
Therefore, all of them have to be in the same alias set.

>  Can that collapsing simply be avoided for read-only calls without creating
a second alias set?

I have not yet come up with a simple scheme to solve that problem
within AliasSetTracker.  Obviously, that does not mean that there
isn't one.

-- Sanjoy