Both tryReplaceExtracts and replaceBinOpShuffles may modify the IR, even
if no interleaved loads are generated, but currently the pass pretends
no changes were made.
This patch updates the pass to return true if either of the functions
made any changes. In case of tryReplaceExtracts, changes are made if
there are any Extracts and true is returned.
replaceBinOpShuffles always makes changes if BinOpShuffles is not empty.
It also always returned true, so I went ahead and change it to just
replaceBinOpShuffles.
Fixes PR48208.
Bit of a nitpick, but would it make sense to do the return !BinOpShuffles.empty() in replaceBinOpShuffles? Letting that function return a bool is probably more consistent?