https://github.com/andykaylor approved this pull request. This looks good. I just have one suggestion about how to represent the different different emission behavior. https://github.com/llvm/llvm-project/pull/154150