Index: include/llvm/CodeGen/MachineInstrBuilder.h =================================================================== --- include/llvm/CodeGen/MachineInstrBuilder.h +++ include/llvm/CodeGen/MachineInstrBuilder.h @@ -386,6 +386,16 @@ return B ? RegState::Debug : 0; } +inline unsigned getRegState(const MachineOperand &RegOp) { + assert(RegOp.isReg() && "Not a register operand"); + return getDefRegState(RegOp.isDef()) | + getImplRegState(RegOp.isImplicit()) | + getKillRegState(RegOp.isKill()) | + getDeadRegState(RegOp.isDead()) | + getUndefRegState(RegOp.isUndef()) | + getInternalReadRegState(RegOp.isInternalRead()) | + getDebugRegState(RegOp.isDebug()); +} /// Helper class for constructing bundles of MachineInstrs. /// Index: lib/Target/Hexagon/HexagonSplitDouble.cpp =================================================================== --- lib/Target/Hexagon/HexagonSplitDouble.cpp +++ lib/Target/Hexagon/HexagonSplitDouble.cpp @@ -108,18 +108,6 @@ "Hexagon Split Double Registers", false, false) -static inline uint32_t getRegState(const MachineOperand &R) { - assert(R.isReg()); - return getDefRegState(R.isDef()) | - getImplRegState(R.isImplicit()) | - getKillRegState(R.isKill()) | - getDeadRegState(R.isDead()) | - getUndefRegState(R.isUndef()) | - getInternalReadRegState(R.isInternalRead()) | - (R.isDebug() ? RegState::Debug : 0); -} - - void HexagonSplitDoubleRegs::dump_partition(raw_ostream &os, const USet &Part, const TargetRegisterInfo &TRI) { dbgs() << '{';