Lines Matching defs:combine

9 // This pass replaces transfer instructions by combine instructions.
12 // replace them with a combine instruction.
37 #define DEBUG_TYPE "hexagon-copy-combine"
100 void combine(MachineInstr &I1, MachineInstr &I2,
128 INITIALIZE_PASS(HexagonCopyToCombine, "hexagon-copy-combine",
155 // workaround for an ABI bug that prevents GOT relocations on combine
160 // Only combine constant extended A2_tfrsi if we are in aggressive mode.
183 /// into a combine (ignoring register constraints).
196 // There is no combine of two constant extended values.
202 // There is a combine of two constant extended values into CONST64,
209 // There is no combine of two constant extended values, unless handled above
210 // Make both 8-bit size checks to allow both combine (#,##) and combine(##,#)
248 /// that the two instructions can be paired in a combine.
256 // It is not safe to move I1 and I2 into one combine if I2 has a true
473 // Don't combine a TFR whose user could be newified (instructions that
483 // Find a second instruction that can be merged into a combine
491 combine(I1, *I2, MI, DoInsertAtI1, OptForSize);
501 /// in \p DoInsertAtI1 if the combine must be inserted at instruction \p I1
502 /// false if the combine must be inserted at the returned instruction.
523 // Don't combine a TFR whose user could be newified.
538 // instructions to be merged into a combine.
554 void HexagonCopyToCombine::combine(MachineInstr &I1, MachineInstr &I2,
583 // There is a combine of two constant extended values into CONST64.
588 // Emit combine.
723 // Insert new combine instruction.
724 // DoubleRegDest = combine #HiImm, #LoImm
771 // Insert new combine instruction.
772 // DoubleRegDest = combine #HiImm, LoReg
820 // Insert new combine instruction.
821 // DoubleRegDest = combine HiReg, #LoImm
839 // Insert new combine instruction.
840 // DoubleRegDest = combine HiReg, LoReg