This patch implements the following from ARM ARM for v7m
PUSH The SP and PC cannot be in the list
POP The SP cannot be in the list. If the PC is in the list, the LR must not be in the list
Apart this following is added,
LDM, LDMIA, LDMDB The SP cannot be in the list. If the PC is in the list, the LR must not be in the list, not in ITBLOCK
STM, STMIA, STMDB The SP and PC cannot be in the list
It's usually capitalised as "Opcode" elsewhere in LLVM.