Pass MSSAU to makeLoopInvariant in order to properly update MSSA.
Thanks for this!
Just a general style nit, and LGTM
nit: generally unique_ptr<T>& is only used when you want to update what the unique_ptr itself is pointing to. if you just want to use *MSSAU from the function, please pass it as a MemorySSAUpdater & (or MemorySSAUpdater * if it's potentially null)