An extension to the SSA representation for predicated code The SSA representation has proved to be a very effective intermediate representation, and its use is not limited to high level intermediate representations. Our compiler uses the SSA representation on an intermediate representation at the machine code level, where all the specificities of the instruction set are visible. In particular, our target processors have different level of support for predicated instructions. Predicated instructions can be generated in the compiler by peephole optimizations, on simple patterns such as min/max, or by a general if-conversion algorithm. Predicated code is difficult to analyze and optimize outside an SSA representation, and the SSA representation provides no support for conditional definitions. We will present an extension of the SSA representation that allows a program with predicated operations to be put in SSA form. We will first present the motivations for such an extension, we will show that standard SSA algorithms can be applied on this representation, and we will present the advantages of this representation to optimize predicated code. This SSA extension is already implemented in our production compilers.