Hashed SSA Form: HSSA
SSA in its basic form is only applicable to scalar variables not involved in aliasing. We present extensions to traditional SSA that allow scalar variables affected by aliasing to be uniformly represented in SSA form. With aliasing, the number of SSA versions can increase rapidly. We describe a tech...
Saved in:
| Published in | SSA-based Compiler Design pp. 213 - 225 |
|---|---|
| Main Authors | , |
| Format | Book Chapter |
| Language | English |
| Published |
Cham
Springer International Publishing
2022
|
| Subjects | |
| Online Access | Get full text |
| ISBN | 303080514X 9783030805142 |
| DOI | 10.1007/978-3-030-80515-9_16 |
Cover
| Summary: | SSA in its basic form is only applicable to scalar variables not involved in aliasing. We present extensions to traditional SSA that allow scalar variables affected by aliasing to be uniformly represented in SSA form. With aliasing, the number of SSA versions can increase rapidly. We describe a technique that can limit such an increase in SSA versions without sacrificing the quality of the SSA-based optimizations performed. Our techniques for modeling aliasing in SSA form further allow us to apply SSA form not just to scalar variables but also to any indirectly accessed memory location. We introduce the concept of virtual variables and use it to model indirect memory operations in SSA form. Because all indirect memory operations are based on address computations, global value numbering on the address computations can greatly increase the accuracy of their SSA form. To this end, we introduce Hashed SSA as the most effective representation of aliases and indirect memory operations, thus allowing all SSA-based optimizations to be uniformly applied to nonlocal variables and indirectly accessed memory locations. |
|---|---|
| ISBN: | 303080514X 9783030805142 |
| DOI: | 10.1007/978-3-030-80515-9_16 |