Currently aarch64-ldst-opt will incorrectly rename registers with
multiple disjunct subregisters (e.g. result of LD3). This patch updates
the canRenameUpToDef to bail out if it encounters such a register class
that contains the register to rename.
Fixes PR46105.
The fact that this doesn't whitelist specific opcodes makes me suspicious this is overlooking other potential issues. Some instructions with two outputs require that they aren't equal. A call instruction modifies a fixed register. Some instructions have restricted register classes.