Lines Matching refs:Opcode

178         int Offset, unsigned Base, bool BaseKill, unsigned Opcode,
184 int Offset, unsigned Base, bool BaseKill, unsigned Opcode,
221 unsigned Opcode = MI.getOpcode(); in getMemoryOpOffset() local
222 bool isAM3 = Opcode == ARM::LDRD || Opcode == ARM::STRD; in getMemoryOpOffset()
226 if (Opcode == ARM::t2LDRi12 || Opcode == ARM::t2LDRi8 || in getMemoryOpOffset()
227 Opcode == ARM::t2STRi12 || Opcode == ARM::t2STRi8 || in getMemoryOpOffset()
228 Opcode == ARM::t2LDRDi8 || Opcode == ARM::t2STRDi8 || in getMemoryOpOffset()
229 Opcode == ARM::LDRi12 || Opcode == ARM::STRi12) in getMemoryOpOffset()
233 if (Opcode == ARM::tLDRi || Opcode == ARM::tSTRi || in getMemoryOpOffset()
234 Opcode == ARM::tLDRspi || Opcode == ARM::tSTRspi) in getMemoryOpOffset()
256 static int getLoadStoreMultipleOpcode(unsigned Opcode, ARM_AM::AMSubMode Mode) { in getLoadStoreMultipleOpcode() argument
257 switch (Opcode) { in getLoadStoreMultipleOpcode()
341 static ARM_AM::AMSubMode getLoadStoreMultipleSubMode(unsigned Opcode) { in getLoadStoreMultipleSubMode() argument
342 switch (Opcode) { in getLoadStoreMultipleSubMode()
629 int Offset, unsigned Base, bool BaseKill, unsigned Opcode, in CreateLoadStoreMulti() argument
649 if (Opcode == ARM::tLDRi) in CreateLoadStoreMulti()
651 else if (Opcode == ARM::tSTRi) in CreateLoadStoreMulti()
657 bool isNotVFP = isi32Load(Opcode) || isi32Store(Opcode); in CreateLoadStoreMulti()
667 } else if (Offset != 0 || Opcode == ARM::tLDRspi || Opcode == ARM::tSTRspi) { in CreateLoadStoreMulti()
670 if (!getLoadStoreMultipleOpcode(Opcode, Mode)) return nullptr; in CreateLoadStoreMulti()
684 if (isi32Load(Opcode)) { in CreateLoadStoreMulti()
694 if (!isLoadSingle(Opcode)) in CreateLoadStoreMulti()
729 (!isi32Store(Opcode) || !ContainsReg(Regs, Base)); in CreateLoadStoreMulti()
779 bool isDef = isLoadSingle(Opcode); in CreateLoadStoreMulti()
783 Opcode = getLoadStoreMultipleOpcode(Opcode, Mode); in CreateLoadStoreMulti()
784 if (!Opcode) in CreateLoadStoreMulti()
802 if (Opcode == ARM::tLDMIA) { in CreateLoadStoreMulti()
805 Opcode = ARM::tLDMIA_UPD; in CreateLoadStoreMulti()
808 MIB = BuildMI(MBB, InsertBefore, DL, TII->get(Opcode)); in CreateLoadStoreMulti()
820 MIB = BuildMI(MBB, InsertBefore, DL, TII->get(Opcode)); in CreateLoadStoreMulti()
836 int Offset, unsigned Base, bool BaseKill, unsigned Opcode, in CreateLoadStoreDouble() argument
840 bool IsLoad = isi32Load(Opcode); in CreateLoadStoreDouble()
841 assert((IsLoad || isi32Store(Opcode)) && "Must have integer load or store"); in CreateLoadStoreDouble()
862 unsigned Opcode = First->getOpcode(); in MergeOpsUpdate() local
863 bool IsLoad = isLoadSingle(Opcode); in MergeOpsUpdate()
913 Opcode, Pred, PredReg, DL, Regs, in MergeOpsUpdate()
917 Opcode, Pred, PredReg, DL, Regs, Cand.Instrs); in MergeOpsUpdate()
942 if (isLoadSingle(Opcode)) { in MergeOpsUpdate()
963 assert(isi32Store(Opcode) || Opcode == ARM::VSTRS || Opcode == ARM::VSTRD); in MergeOpsUpdate()
991 unsigned Opcode = MI.getOpcode(); in mayCombineMisaligned() local
992 if (!isi32Load(Opcode) && !isi32Store(Opcode)) in mayCombineMisaligned()
1006 unsigned Opcode = FirstMI->getOpcode(); in FormCandidates() local
1007 bool isNotVFP = isi32Load(Opcode) || isi32Store(Opcode); in FormCandidates()
1027 if (STI->isCortexM3() && isi32Load(Opcode) && in FormCandidates()
1048 switch (Opcode) { in FormCandidates()
1298 unsigned Opcode = MI->getOpcode(); in MergeBaseUpdateLSMultiple() local
1313 ARM_AM::AMSubMode Mode = getLoadStoreMultipleSubMode(Opcode); in MergeBaseUpdateLSMultiple()
1348 unsigned NewOpc = getUpdatingLSMultipleOpcode(Opcode, Mode); in MergeBaseUpdateLSMultiple()
1476 unsigned Opcode = MI->getOpcode(); in MergeBaseUpdateLoadStore() local
1478 bool isAM5 = (Opcode == ARM::VLDRD || Opcode == ARM::VLDRS || in MergeBaseUpdateLoadStore()
1479 Opcode == ARM::VSTRD || Opcode == ARM::VSTRS); in MergeBaseUpdateLoadStore()
1480 bool isAM2 = (Opcode == ARM::LDRi12 || Opcode == ARM::STRi12); in MergeBaseUpdateLoadStore()
1481 if (isi32Load(Opcode) || isi32Store(Opcode)) in MergeBaseUpdateLoadStore()
1502 NewOpc = getPreIndexedLoadStoreOpcode(Opcode, ARM_AM::add); in MergeBaseUpdateLoadStore()
1504 NewOpc = getPreIndexedLoadStoreOpcode(Opcode, ARM_AM::sub); in MergeBaseUpdateLoadStore()
1510 NewOpc = getPostIndexedLoadStoreOpcode(Opcode, ARM_AM::add); in MergeBaseUpdateLoadStore()
1513 NewOpc = getPostIndexedLoadStoreOpcode(Opcode, ARM_AM::sub); in MergeBaseUpdateLoadStore()
1523 bool isLd = isLoadSingle(Opcode); in MergeBaseUpdateLoadStore()
1614 unsigned Opcode = MI.getOpcode(); in MergeBaseUpdateLSDouble() local
1615 assert((Opcode == ARM::t2LDRDi8 || Opcode == ARM::t2STRDi8) && in MergeBaseUpdateLSDouble()
1639 NewOpc = Opcode == ARM::t2LDRDi8 ? ARM::t2LDRD_PRE : ARM::t2STRD_PRE; in MergeBaseUpdateLSDouble()
1644 NewOpc = Opcode == ARM::t2LDRDi8 ? ARM::t2LDRD_POST : ARM::t2STRD_POST; in MergeBaseUpdateLSDouble()
1661 assert(TII->get(Opcode).getNumOperands() == 6 && in MergeBaseUpdateLSDouble()
1678 unsigned Opcode = MI.getOpcode(); in isMemoryOp() local
1679 switch (Opcode) { in isMemoryOp()
1763 unsigned Opcode = MI->getOpcode(); in FixInvalidRegPairOp() local
1766 if (Opcode != ARM::LDRD && Opcode != ARM::STRD && Opcode != ARM::t2LDRDi8) in FixInvalidRegPairOp()
1779 (Opcode == ARM::LDRD || Opcode == ARM::t2LDRDi8) && STI->isCortexM3(); in FixInvalidRegPairOp()
1781 bool NonConsecutiveRegs = (Opcode == ARM::LDRD || Opcode == ARM::STRD) && in FixInvalidRegPairOp()
1787 bool isT2 = Opcode == ARM::t2LDRDi8 || Opcode == ARM::t2STRDi8; in FixInvalidRegPairOp()
1788 bool isLd = Opcode == ARM::LDRD || Opcode == ARM::t2LDRDi8; in FixInvalidRegPairOp()
1896 unsigned Opcode = MBBI->getOpcode(); in LoadStoreMultipleOpti() local
1906 CurrOpc = Opcode; in LoadStoreMultipleOpti()
1912 if (CurrOpc == Opcode && CurrBase == Base && CurrPred == Pred) { in LoadStoreMultipleOpti()
1921 if (isLoadSingle(Opcode)) { in LoadStoreMultipleOpti()
2000 unsigned Opcode = Merged->getOpcode(); in LoadStoreMultipleOpti() local
2001 if (Opcode == ARM::t2STRDi8 || Opcode == ARM::t2LDRDi8) in LoadStoreMultipleOpti()
2051 unsigned Opcode = PrevMI.getOpcode(); in MergeReturnIntoLDM() local
2052 if (Opcode == ARM::LDMIA_UPD || Opcode == ARM::LDMDA_UPD || in MergeReturnIntoLDM()
2053 Opcode == ARM::LDMDB_UPD || Opcode == ARM::LDMIB_UPD || in MergeReturnIntoLDM()
2054 Opcode == ARM::t2LDMIA_UPD || Opcode == ARM::t2LDMDB_UPD) { in MergeReturnIntoLDM()
2059 assert(((isThumb2 && Opcode == ARM::t2LDMIA_UPD) || in MergeReturnIntoLDM()
2060 Opcode == ARM::LDMIA_UPD) && "Unsupported multiple load-return!"); in MergeReturnIntoLDM()
2263 unsigned Opcode = Op0->getOpcode(); in CanFormLdStDWord() local
2264 if (Opcode == ARM::LDRi12) { in CanFormLdStDWord()
2266 } else if (Opcode == ARM::STRi12) { in CanFormLdStDWord()
2268 } else if (Opcode == ARM::t2LDRi8 || Opcode == ARM::t2LDRi12) { in CanFormLdStDWord()
2272 } else if (Opcode == ARM::t2STRi8 || Opcode == ARM::t2STRi12) { in CanFormLdStDWord()
2993 static bool isLegalOrConvertableAddressImm(unsigned Opcode, int Imm, in isLegalOrConvertableAddressImm() argument
2996 if (isLegalAddressImm(Opcode, Imm, TII)) in isLegalOrConvertableAddressImm()
3000 const MCInstrDesc &Desc = TII->get(Opcode); in isLegalOrConvertableAddressImm()