diff options
| author | Valery Pykhtin <Valery.Pykhtin@amd.com> | 2019-02-08 11:59:48 +0000 | 
|---|---|---|
| committer | Valery Pykhtin <Valery.Pykhtin@amd.com> | 2019-02-08 11:59:48 +0000 | 
| commit | 7fe97f8c7ca1c6dc380d7499b008808590450efb (patch) | |
| tree | ba7440a5af933f6142e607993f082d0e71e65384 /llvm/include | |
| parent | 08dc50f2fb824dbfb909e9a9babb0f5cdbfe69c2 (diff) | |
| download | bcm5719-llvm-7fe97f8c7ca1c6dc380d7499b008808590450efb.tar.gz bcm5719-llvm-7fe97f8c7ca1c6dc380d7499b008808590450efb.zip | |
[AMDGPU] Fix DPP combiner
Differential revision: https://reviews.llvm.org/D55444
dpp move with uses and old reg initializer should be in the same BB.
bound_ctrl:0 is only considered when bank_mask and row_mask are fully enabled (0xF). Otherwise the old register value is checked for identity.
Added add, subrev, and, or instructions to the old folding function.
Kill flag is cleared for the src0 (DPP register) as it may be copied into more than one user.
The pass is still disabled by default.
llvm-svn: 353513
Diffstat (limited to 'llvm/include')
| -rw-r--r-- | llvm/include/llvm/CodeGen/TargetInstrInfo.h | 7 | 
1 files changed, 7 insertions, 0 deletions
| diff --git a/llvm/include/llvm/CodeGen/TargetInstrInfo.h b/llvm/include/llvm/CodeGen/TargetInstrInfo.h index e6418fbe82d..b732be625de 100644 --- a/llvm/include/llvm/CodeGen/TargetInstrInfo.h +++ b/llvm/include/llvm/CodeGen/TargetInstrInfo.h @@ -428,6 +428,13 @@ public:      RegSubRegPair(unsigned Reg = 0, unsigned SubReg = 0)          : Reg(Reg), SubReg(SubReg) {} + +    bool operator==(const RegSubRegPair& P) const { +      return Reg == P.Reg && SubReg == P.SubReg; +    } +    bool operator!=(const RegSubRegPair& P) const { +      return !(*this == P); +    }    };    /// A pair composed of a pair of a register and a sub-register index, | 

