This allows us to fold global and constant pool addresses into
load/store during isel instead of in the post-isel peephole. I
did not copy the alignment check for ConsantPoolSDNode because it
wasn't tested.
Remove the now untested GlobalAddressSDNode and ConsantPoolSDNode
handling from the peephole.
I think the only time the peephole is used now is when we split a
constant add into (addi (addi X, C1), C2) or (addi (add X, C3), C4). I plan to look at folding
that into SelectAddrRegImm next.
Er, correct me if I'm wrong here, but don't we need to be checking the combined offset for safety against the alignment? If the original GV had a base aligned to 16, and an offset of 15, wouldn't adding a new offset of 15 cause problems? We could in theory adjust the base, but do we actually do that?
(If this concern is valid, the original code had it too.)