[SystemZ] Prefer LHI;ST... over LAY;MV...
If we had a store of an integer to memory, and the integer and store size were suitable for a form of MV..., we used MV... no matter what. We could then have sequences like: lay %r2, 0(%r3,%r4) mvi 0(%r2), 4 In these cases it seems better to force the constant into a register and use a normal store: lhi %r2, 4 stc %r2, 0(%r3, %r4) since %r2 is more likely to be hoisted and is easier to rematerialize. llvm-svn: 189098
Showing
- llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp 25 additions, 0 deletionsllvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
- llvm/lib/Target/SystemZ/SystemZInstrFormats.td 16 additions, 10 deletionsllvm/lib/Target/SystemZ/SystemZInstrFormats.td
- llvm/lib/Target/SystemZ/SystemZOperands.td 3 additions, 0 deletionsllvm/lib/Target/SystemZ/SystemZOperands.td
- llvm/test/CodeGen/SystemZ/alloca-02.ll 9 additions, 6 deletionsllvm/test/CodeGen/SystemZ/alloca-02.ll
- llvm/test/CodeGen/SystemZ/frame-13.ll 5 additions, 6 deletionsllvm/test/CodeGen/SystemZ/frame-13.ll
- llvm/test/CodeGen/SystemZ/int-const-03.ll 6 additions, 6 deletionsllvm/test/CodeGen/SystemZ/int-const-03.ll
- llvm/test/CodeGen/SystemZ/int-const-04.ll 10 additions, 10 deletionsllvm/test/CodeGen/SystemZ/int-const-04.ll
- llvm/test/CodeGen/SystemZ/int-const-05.ll 9 additions, 10 deletionsllvm/test/CodeGen/SystemZ/int-const-05.ll
- llvm/test/CodeGen/SystemZ/int-const-06.ll 10 additions, 10 deletionsllvm/test/CodeGen/SystemZ/int-const-06.ll
Loading
Please register or sign in to comment