What is "strong phi elimination"

Can you describe quickly (or point to references for the inclined) what this pass will do and what other stuff it might enable for LLVM? I’m just curious.

Ask an ye shall receive. From the .cpp file:


You mean "coalescing" (tips hat to Gabor :).

Another way to look at it is that it is the "normal" SSA phi elimination algorithm, which is normally implemented in terms of an interference graph, without the IG. Not using an IG saves having to build an awful N^2 data structure, which is possible through clever use of SSA properties.