ruiling wrote: The reason StructurizeCFG was there is to transform thread-level CFG into sort of wave-level CFG (like simple if-else was serialized as the hardware wave execute the program that way). So we can easily insert the exec-manipulation instructions properly in the backend. I am not sure do you plan to support arbitrary form of `callbr`, or only very limited form? What is the expected use case? How would callbr be lowered in the backend? (I mean how the wave-execution would be look like if different threads went to different labels?).
https://github.com/llvm/llvm-project/pull/152161 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits