vitalybuka wrote: > also, is there a reason to have both a module and a function pass instead of just a module pass? This part is addressed here https://github.com/llvm/llvm-project/pull/120667 https://github.com/llvm/llvm-project/pull/76259