Is the rustc MIR representation compliant with SSA?

In the rustc-dev book I haven't found arguments that supports or objects to that the MIR. I know that through rustc_codegen_ssa part of the compiler we're able to generate SSA code (like LLVM's one). But there is any MIR construction that goes against the SSA principles?

MIR is not in SSA form.

codegen_ssa checks for some things that can be SSA registers directly, but in general locals in MIR turn into allocas in LLVM. (Which LLVM then attempts to turn into SSA registers.)

3 Likes

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.