DylanFleming-arm wrote: Most of the changes in this PR are largely repeated across files, I've split the implementation by function family across several commits, to hopefully make reviewing them in batches easier. :) https://github.com/llvm/llvm-project/pull/199273