Open
Description
The pass is "transforms the programs control flow graph into a form that's suitable for code generation on hardware that implements control flow by execution masking", and its transforms seem very closely related to what we do in CUDAnative. We should look into why it can't fix up our heavy use of trap
.
Originally added for R600, https://github.com/llvm-mirror/llvm/blob/6b7d99d47321ebb478b22afd2e317fe89d2149db/lib/Target/R600/AMDGPUStructurizeCFG.cpp
See discussion in JuliaGPU/CUDAnative.jl#4