Closed pcineverdies closed 1 week ago
Thanks a lot for your review!
I just left a couple of comments regarding some possible implementation choices!
Apart some coding style corrections you pointed out, the main modification consists in not relying anymore on the MLIR block numbering (thus the horrible getBlockIndex
), implementing an hand-made numbering system which always accomplishes the requirements of the algorithm.
This PR is a further step into #177, implementing the GSA analysis pass, that is in charge of extracting GSA information out of each block argument in the
cf
blocks. The pass relies on the GSA definitions from paper [1] and a custom algorithm to make it coherent with the implicit SSA representation provided by MLIR. Furthermore, the experimentalFtdSupport
library is included, which implements a set of operations which are in common for multiple situations around Fast Token Delivery.[1] P. Tu and D. Padua, “Efficient Building and Placing of Gating Functions,” ACM SIGPLAN Notices, vol. 30, no. 6, pp. 47–55, Jan. 1995, doi: 10.1145/223428.207115.