'Partial SSA in LLVM

I came across this concept of partial SSA in LLVM where LLVM identifies two classes of variables: (1) top-level variables are those that cannot be referenced indirectly via a pointer, i.e., those whose address is never exposed via the address-of operator or returned via a dynamic memory allocation; (2) address-taken variables are those that have had their address exposed and therefore can be indirectly referenced via a pointer

This definition is verbatim from This paper.

The paper further explains with an example that I can't seem to wrap my head around.

Is there an easier example for this or maybe any other resource I can look into?

Any help would be greatly appreciated.



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source