The fir::LLVMTypeConverter has a TBAABuilder. The current design prevents the type converter stored in conversion patterns from being const. This is generally dangerous because type conversion rules should not change during a dialect conversion.
This revision wraps the TBAABuilder in a unique_ptr. That way, the type converter itself can be const, but the TBAABuilder can still have mutable state. (What's important form an MLIR perspective is that the type conversion rules cannot change.)
This change is needed for D157601.
Alternatively, this could be turned into a TBAABuilder * const.