Mesa GLSL IR Gets Single Static Assignment Support
Connor Abbott, the high school student that has been working extensively on the Lima ARM reverse-engineered graphics driver, is now working on Single Static Assignment (SSA) support inside Mesa.
Connor is trying to add SSA to Mesa's GLSL intermediate representation since it makes writing compiler optimizations easier and faster. SSA form is used by both the GCC and Clang compilers and among graphics drivers is already used by the R600-SB and Nouveau back-ends, but it's not part of Mesa's official GLSL IR.
By having SSA support within Mesa's GLSL IR, it will also be possible to share more optimizations among the different Mesa/Gallium3D drivers. "Adding support for SSA will allow the various optimizations these backends perform to be implemented in one place, instead of making each driver reinvent the wheel (as several have already done). Additionally, all new backends would recieve these optimizations, reducing the burden of writing a compiler backend for a new driver."
Connor Abbott published a set of eleven patches on the Mesa mailing list today under a "request for comments" flag. The patches just implement SSA within Mesa's GLSL code but don't provide any new optimization patches. He's soliciting feedback on the SSA form implementation before going ahead with the optimization work.
More details on the Mesa SSA work can be found via this mailing list post.
Connor is trying to add SSA to Mesa's GLSL intermediate representation since it makes writing compiler optimizations easier and faster. SSA form is used by both the GCC and Clang compilers and among graphics drivers is already used by the R600-SB and Nouveau back-ends, but it's not part of Mesa's official GLSL IR.
By having SSA support within Mesa's GLSL IR, it will also be possible to share more optimizations among the different Mesa/Gallium3D drivers. "Adding support for SSA will allow the various optimizations these backends perform to be implemented in one place, instead of making each driver reinvent the wheel (as several have already done). Additionally, all new backends would recieve these optimizations, reducing the burden of writing a compiler backend for a new driver."
Connor Abbott published a set of eleven patches on the Mesa mailing list today under a "request for comments" flag. The patches just implement SSA within Mesa's GLSL code but don't provide any new optimization patches. He's soliciting feedback on the SSA form implementation before going ahead with the optimization work.
More details on the Mesa SSA work can be found via this mailing list post.
3 Comments