Questions tagged [static-single-assignment]

For questions about Static Single Assignment (SSA) form, an intermediate form where variables are assigned exactly once. SSA is used to assist some analyses and optimizations, and is usually generated by the compiler.

Filter by
Sorted by
Tagged with
6 votes
1 answer
303 views

Optimization algorithm using conditional invariants

I am looking for an optimization algorithm that would make use of invariants in regions of code. For example if (n == 0) f(n); should be changed to ...
chrysante's user avatar
  • 748
10 votes
2 answers
784 views

Do all nodes (except for the entry) in SSA have an immediate dominator?

I'm reading SSA-driven Compiler Design and I'm having trouble understanding this section from Chapter 2: The immediate dominator or “idom” of a node N is the unique node that strictly dominates N but ...
Mike Cluck's user avatar
10 votes
3 answers
874 views

Can you, should you, go straight from AST to SSA?

I'm beginning to read Appel's book Modern Compiler Implementation in C. The book is about 25 years old, so maybe it's not so "modern" anymore, I don't know. I'm skimming the book and it ...
Rob N's user avatar
  • 1,073
9 votes
3 answers
524 views

What are the disadvantages of using SSA form?

SSA form is common intermediate representation used in compilers where all variables are assigned to exactly once. It greatly helps with a myriad of optimizations, such as constant folding, dead code ...
Seggan's user avatar
  • 2,603