https://github.com/DigitalMars/Compiler/blob/master/dm/src/d...
I've also written a loop unroller, but it can be improved:
https://github.com/DigitalMars/Compiler/blob/master/dm/src/d...
My evaluation was based on comparing the code gen output of the various compilers, not looking at how they were achieved.
As for SSA, DMD's optimizer is based on an intermediate representation that is a binary tree. A binary tree is a form of SSA - each operator node is a value assigned once and never modified.
> Respectfully
No worries. I'm used to people telling me I can't do things :-)