• Home
  • Raw
  • Download

Lines Matching refs:MCB

33 void HexagonMCShuffler::init(MCInst &MCB) {  in init()  argument
34 if (HexagonMCInstrInfo::isBundle(MCB)) { in init()
37 for (const auto &I : HexagonMCInstrInfo::bundleInstructions(MCB)) { in init()
51 Loc = MCB.getLoc(); in init()
52 BundleFlags = MCB.getOperand(0).getImm(); in init()
55 void HexagonMCShuffler::init(MCInst &MCB, MCInst const &AddMI, in init() argument
57 if (HexagonMCInstrInfo::isBundle(MCB)) { in init()
62 for (auto const &I : HexagonMCInstrInfo::bundleInstructions(MCB)) { in init()
75 Loc = MCB.getLoc(); in init()
76 BundleFlags = MCB.getOperand(0).getImm(); in init()
79 void HexagonMCShuffler::copyTo(MCInst &MCB) { in copyTo() argument
80 MCB.clear(); in copyTo()
81 MCB.addOperand(MCOperand::createImm(BundleFlags)); in copyTo()
82 MCB.setLoc(Loc); in copyTo()
89 MCB.addOperand(MCOperand::createInst(Extender)); in copyTo()
90 MCB.addOperand(MCOperand::createInst(&MI)); in copyTo()
94 bool HexagonMCShuffler::reshuffleTo(MCInst &MCB) { in reshuffleTo() argument
97 copyTo(MCB); in reshuffleTo()
100 LLVM_DEBUG(MCB.dump()); in reshuffleTo()
106 MCInst &MCB) { in HexagonMCShuffle() argument
107 HexagonMCShuffler MCS(Context, Fatal, MCII, STI, MCB); in HexagonMCShuffle()
113 if (!HexagonMCInstrInfo::bundleSize(MCB)) { in HexagonMCShuffle()
123 } else if (!HexagonMCInstrInfo::isBundle(MCB)) { in HexagonMCShuffle()
128 return MCS.reshuffleTo(MCB); in HexagonMCShuffle()
133 MCSubtargetInfo const &STI, MCInst &MCB, in HexagonMCShuffle() argument
138 if (!HexagonMCInstrInfo::bundleSize(MCB)) { in HexagonMCShuffle()
148 } else if (!HexagonMCInstrInfo::isBundle(MCB)) { in HexagonMCShuffle()
157 MCInst Attempt(MCB); in HexagonMCShuffle()
162 MCS.copyTo(MCB); in HexagonMCShuffle()
166 doneShuffling = MCS.reshuffleTo(MCB); in HexagonMCShuffle()
173 HexagonMCShuffler MCS(Context, false, MCII, STI, MCB); in HexagonMCShuffle()
174 doneShuffling = MCS.reshuffleTo(MCB); // shuffle in HexagonMCShuffle()
183 MCSubtargetInfo const &STI, MCInst &MCB, in HexagonMCShuffle() argument
185 if (!HexagonMCInstrInfo::isBundle(MCB)) in HexagonMCShuffle()
190 unsigned int bundleSize = HexagonMCInstrInfo::bundleSize(MCB); in HexagonMCShuffle()
193 bool bhasDuplex = HexagonMCInstrInfo::hasDuplex(MCII, MCB); in HexagonMCShuffle()
213 unsigned maxBundleSize = (HexagonMCInstrInfo::hasImmExt(MCB)) in HexagonMCShuffle()
219 HexagonMCShuffler MCS(Context, false, MCII, STI, MCB, AddMI, false); in HexagonMCShuffle()
220 return MCS.reshuffleTo(MCB); in HexagonMCShuffle()