This refactors out the offset and address operand pattern matching into a ComplexPattern, so that one pattern fragment can match the dynamic and static (offset) addresses in all possible positions.
Split out from D139530, which also contained an improvement to global address folding.
Can we wrap comments to 80 cols if possible? The same for other comment blocks too.