reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1408 MIRBuilder.setInstr(MI); 1410 switch (MI.getOpcode()) { 1414 return widenScalarExtract(MI, TypeIdx, WideTy); 1416 return widenScalarInsert(MI, TypeIdx, WideTy); 1418 return widenScalarMergeValues(MI, TypeIdx, WideTy); 1420 return widenScalarUnmergeValues(MI, TypeIdx, WideTy); 1426 {MI.getOperand(2).getReg()}); 1428 {MI.getOperand(3).getReg()}); 1429 unsigned Opcode = MI.getOpcode() == TargetOpcode::G_UADDO 1434 LLT OrigTy = MRI.getType(MI.getOperand(0).getReg()); 1440 MIRBuilder.buildICmp(CmpInst::ICMP_NE, MI.getOperand(1).getReg(), NewOp, 1443 MIRBuilder.buildTrunc(MI.getOperand(0).getReg(), NewOp); 1444 MI.eraseFromParent(); 1453 Observer.changingInstr(MI); 1454 widenScalarDst(MI, WideTy, 0); 1455 Observer.changedInstr(MI); 1459 Register SrcReg = MI.getOperand(1).getReg(); 1464 if (MI.getOpcode() == TargetOpcode::G_CTTZ) { 1475 auto MIBNewOp = MIRBuilder.buildInstr(MI.getOpcode(), {WideTy}, {MIBSrc}); 1477 if (MI.getOpcode() == TargetOpcode::G_CTLZ || 1478 MI.getOpcode() == TargetOpcode::G_CTLZ_ZERO_UNDEF) { 1486 MIRBuilder.buildZExtOrTrunc(MI.getOperand(0), MIBNewOp); 1487 MI.eraseFromParent(); 1491 Observer.changingInstr(MI); 1492 Register DstReg = MI.getOperand(0).getReg(); 1497 widenScalarSrc(MI, WideTy, 1, TargetOpcode::G_ANYEXT); 1499 MI.getOperand(0).setReg(DstExt); 1512 Observer.changedInstr(MI); 1516 Observer.changingInstr(MI); 1518 Register DstReg = MI.getOperand(0).getReg(); 1523 widenScalarSrc(MI, WideTy, 1, TargetOpcode::G_ANYEXT); 1524 MI.getOperand(0).setReg(DstExt); 1530 Observer.changedInstr(MI); 1542 Observer.changingInstr(MI); 1543 widenScalarSrc(MI, WideTy, 1, TargetOpcode::G_ANYEXT); 1544 widenScalarSrc(MI, WideTy, 2, TargetOpcode::G_ANYEXT); 1545 widenScalarDst(MI, WideTy); 1546 Observer.changedInstr(MI); 1550 Observer.changingInstr(MI); 1553 widenScalarSrc(MI, WideTy, 1, TargetOpcode::G_ANYEXT); 1554 widenScalarDst(MI, WideTy); 1559 widenScalarSrc(MI, WideTy, 2, TargetOpcode::G_ZEXT); 1562 Observer.changedInstr(MI); 1569 Observer.changingInstr(MI); 1570 widenScalarSrc(MI, WideTy, 1, TargetOpcode::G_SEXT); 1571 widenScalarSrc(MI, WideTy, 2, TargetOpcode::G_SEXT); 1572 widenScalarDst(MI, WideTy); 1573 Observer.changedInstr(MI); 1578 Observer.changingInstr(MI); 1581 unsigned CvtOp = MI.getOpcode() == TargetOpcode::G_ASHR ? 1584 widenScalarSrc(MI, WideTy, 1, CvtOp); 1585 widenScalarDst(MI, WideTy); 1590 widenScalarSrc(MI, WideTy, 2, TargetOpcode::G_ZEXT); 1593 Observer.changedInstr(MI); 1599 Observer.changingInstr(MI); 1600 widenScalarSrc(MI, WideTy, 1, TargetOpcode::G_ZEXT); 1601 widenScalarSrc(MI, WideTy, 2, TargetOpcode::G_ZEXT); 1602 widenScalarDst(MI, WideTy); 1603 Observer.changedInstr(MI); 1607 Observer.changingInstr(MI); 1612 widenScalarSrc(MI, WideTy, 2, TargetOpcode::G_ANYEXT); 1613 widenScalarSrc(MI, WideTy, 3, TargetOpcode::G_ANYEXT); 1614 widenScalarDst(MI, WideTy); 1616 bool IsVec = MRI.getType(MI.getOperand(1).getReg()).isVector(); 1618 widenScalarSrc(MI, WideTy, 1, MIRBuilder.getBoolExtOp(IsVec, false)); 1620 Observer.changedInstr(MI); 1625 Observer.changingInstr(MI); 1628 widenScalarDst(MI, WideTy); 1630 widenScalarSrc(MI, WideTy, 1, TargetOpcode::G_FPEXT); 1632 Observer.changedInstr(MI); 1637 Observer.changingInstr(MI); 1638 widenScalarSrc(MI, WideTy, 1, TargetOpcode::G_SEXT); 1639 Observer.changedInstr(MI); 1645 Observer.changingInstr(MI); 1646 widenScalarSrc(MI, WideTy, 1, TargetOpcode::G_ZEXT); 1647 Observer.changedInstr(MI); 1653 Observer.changingInstr(MI); 1654 widenScalarDst(MI, WideTy); 1655 Observer.changedInstr(MI); 1662 LLT Ty = MRI.getType(MI.getOperand(0).getReg()); 1666 Observer.changingInstr(MI); 1670 widenScalarSrc(MI, WideTy, 0, ExtType); 1672 Observer.changedInstr(MI); 1676 MachineOperand &SrcMO = MI.getOperand(1); 1679 Observer.changingInstr(MI); 1682 widenScalarDst(MI, WideTy); 1683 Observer.changedInstr(MI); 1687 MachineOperand &SrcMO = MI.getOperand(1); 1706 Observer.changingInstr(MI); 1709 widenScalarDst(MI, WideTy, 0, TargetOpcode::G_FPTRUNC); 1710 Observer.changedInstr(MI); 1714 Observer.changingInstr(MI); 1715 widenScalarDst(MI, WideTy); 1716 Observer.changedInstr(MI); 1720 Observer.changingInstr(MI); 1721 widenScalarSrc(MI, WideTy, 0, MIRBuilder.getBoolExtOp(false, false)); 1722 Observer.changedInstr(MI); 1726 Observer.changingInstr(MI); 1728 widenScalarDst(MI, WideTy); 1730 widenScalarSrc(MI, WideTy, 2, TargetOpcode::G_FPEXT); 1731 widenScalarSrc(MI, WideTy, 3, TargetOpcode::G_FPEXT); 1733 Observer.changedInstr(MI); 1737 Observer.changingInstr(MI); 1739 widenScalarDst(MI, WideTy); 1742 MI.getOperand(1).getPredicate())) 1745 widenScalarSrc(MI, WideTy, 2, ExtOpcode); 1746 widenScalarSrc(MI, WideTy, 3, ExtOpcode); 1748 Observer.changedInstr(MI); 1753 Observer.changingInstr(MI); 1754 widenScalarSrc(MI, WideTy, 2, TargetOpcode::G_SEXT); 1755 Observer.changedInstr(MI); 1761 Observer.changingInstr(MI); 1762 for (unsigned I = 1; I < MI.getNumOperands(); I += 2) { 1763 MachineBasicBlock &OpMBB = *MI.getOperand(I + 1).getMBB(); 1765 widenScalarSrc(MI, WideTy, I, TargetOpcode::G_ANYEXT); 1768 MachineBasicBlock &MBB = *MI.getParent(); 1770 widenScalarDst(MI, WideTy); 1771 Observer.changedInstr(MI); 1776 Register VecReg = MI.getOperand(1).getReg(); 1778 Observer.changingInstr(MI); 1780 widenScalarSrc(MI, LLT::vector(VecTy.getNumElements(), 1784 widenScalarDst(MI, WideTy, 0); 1785 Observer.changedInstr(MI); 1791 Observer.changingInstr(MI); 1793 widenScalarSrc(MI, WideTy, 2, TargetOpcode::G_SEXT); 1794 Observer.changedInstr(MI); 1799 Observer.changingInstr(MI); 1801 Register VecReg = MI.getOperand(1).getReg(); 1805 widenScalarSrc(MI, WideVecTy, 1, TargetOpcode::G_ANYEXT); 1806 widenScalarSrc(MI, WideTy, 2, TargetOpcode::G_ANYEXT); 1807 widenScalarDst(MI, WideVecTy, 0); 1808 Observer.changedInstr(MI); 1813 Observer.changingInstr(MI); 1815 widenScalarSrc(MI, WideTy, 3, TargetOpcode::G_SEXT); 1816 Observer.changedInstr(MI); 1853 Observer.changingInstr(MI); 1855 for (unsigned I = 1, E = MI.getNumOperands(); I != E; ++I) 1856 widenScalarSrc(MI, WideTy, I, TargetOpcode::G_FPEXT); 1858 widenScalarDst(MI, WideTy, 0, TargetOpcode::G_FPTRUNC); 1859 Observer.changedInstr(MI); 1865 Observer.changingInstr(MI); 1866 widenScalarSrc(MI, WideTy, 1, TargetOpcode::G_ZEXT); 1867 Observer.changedInstr(MI); 1873 Observer.changingInstr(MI); 1874 widenScalarDst(MI, WideTy, 0); 1875 Observer.changedInstr(MI); 1878 Observer.changingInstr(MI); 1881 for (int I = 1, E = MI.getNumOperands(); I != E; ++I) 1882 widenScalarSrc(MI, WideEltTy, I, TargetOpcode::G_ANYEXT); 1887 auto &TII = *MI.getMF()->getSubtarget().getInstrInfo(); 1888 MI.setDesc(TII.get(TargetOpcode::G_BUILD_VECTOR_TRUNC)); 1890 widenScalarDst(MI, WideTy, 0); 1893 Observer.changedInstr(MI); 1900 Observer.changingInstr(MI); 1901 widenScalarSrc(MI, WideTy, 1, TargetOpcode::G_ANYEXT); 1902 widenScalarDst(MI, WideTy, 0, TargetOpcode::G_TRUNC); 1903 Observer.changedInstr(MI);