Remove custom allocation orders in SystemZ.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Wed, 15 Jun 2011 18:02:56 +0000 (18:02 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Wed, 15 Jun 2011 18:02:56 +0000 (18:02 +0000)
commitb79e30cc9e8ce8c6beacbc38a7e27d33ba07fd66
tree66b3cda296885b021265a5fa4a490d1439cc7941
parentf60ceac9cd7230e0d5ff911fced396f6b5d8c815
Remove custom allocation orders in SystemZ.

Note that this actually changes code generation, and someone who
understands this target better should check the changes.

- R12Q is now allocatable. I think it was omitted from the allocation
  order by mistake since it isn't reserved. It as apparently used as a
  GOT pointer sometimes, and it should probably be reserved if that is
  the case.

- The GR64 registers are allocated in a different order now. The
  register allocator will automatically put the CSRs last. There were
  other changes to the order that may have been significant.

The test fix is because r0 and r1 swapped places in the allocation order.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133067 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/SystemZ/SystemZRegisterInfo.cpp
lib/Target/SystemZ/SystemZRegisterInfo.td
test/CodeGen/SystemZ/11-BSwap.ll