tree 80f9e25907df28ce336fcf5a8534c0c1289335b2
parent 6785951410c35aa9429152d3e041b44b79db53f2
author Dominik Steenken <dost@de.ibm.com> 1742911254 +0100
committer GitHub <noreply@github.com> 1742911254 +0100
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJn4rcWCRC1aQ7uu5UhlAAA6swQAJRKgMNSnhRXad9T7SSMXpvA
 Pa18WLAqcYkc1HGFgn//5Vxoa1rDp8xwVROxZ/GNX5rR2nsL9VVo3SguNIZZ9wHh
 9n6l7OORygfqHfjtBtZnsaghW2HHLt1rEDvYexW816bvKPT0xoubN2HFT4AXlu+e
 6gvcv2WL2wn9ae55CNy9xpyOOODcdXsf2ThtQqrwGh3LDcRqyJ3yeYaBE1AQ6bPr
 3iZVcKAdTyOSOVWrCpaDpg1X8PGm5MxlY4Uig/TfRJtEZh59d9h9+0RJ+Pli3zO9
 dgHP4sCDjNl0juzmqE5n7dAHFoIrd3ySZtlTrwLi8cu9YrowUT+srbZslb99NWt+
 ZQoqdaT8Knt/3iEffibiC/uQagXaBAtH4ff7IhMaEJgNNLYJICInjq4WRWZx75zj
 A3LKB2tkp/xwBOwIeHoFCV/ei3+A0HmQLLCPAk3LNAHjmp9hS2NQJTOsZ2q+kJEu
 e9vhRFxf7xWw2QLCZkGlfZGVvE+zlTZQdtnMypjVswZs13sygZ2dENPMrgRo1RNK
 vZ8Xz0t9Fct7lDKIYT5q+bqPfszBhiuDSny2Ex0ESsad+eZMDmMFOdcY+5ZHjUzX
 mspUGx+PWHL+e7irS/pWTKjsHPkirB6Ux0WWvUoY/KFGszt8cxWVpldQuYKijmzd
 3fDe/3bYK+TJtveMNP4I
 =2fXK
 -----END PGP SIGNATURE-----
 

[SystemZ] Implement basic `isCopyInstrImpl` (#132903)

As a first step toward implementing SystemZ support for instr-ref-based
debug info tracking, this commit adds a basic implementation for the
previously absent `SystemZInstrInfo::isCopyInstrImpl`.

This is accomplished by adding a new flag called `isMoveReg` on the
relevant instructions and calling upon that bit of information to
implement the function. Which instructions to add the flag to was based
on the implementation of `SystemZInstrInfo::copyPhysReg`. The full list
of instructions is as follows:

#### General-Purpose Registers
- `lr`
- `lgr`
#### Floating Point Registers
- `ler`
- `ldr`
- `lxr`
#### Vector Registers
- `vlr`