Lines Matching refs:AArch64InstrInfo
80 AArch64InstrInfo::AArch64InstrInfo(const AArch64Subtarget &STI) in AArch64InstrInfo() function in AArch64InstrInfo
87 unsigned AArch64InstrInfo::getInstSizeInBytes(const MachineInstr &MI) const { in getInstSizeInBytes()
166 unsigned AArch64InstrInfo::getInstBundleLength(const MachineInstr &MI) const { in getInstBundleLength()
229 bool AArch64InstrInfo::isBranchOffsetInRange(unsigned BranchOp, in isBranchOffsetInRange()
238 AArch64InstrInfo::getBranchDestBlock(const MachineInstr &MI) const { in getBranchDestBlock()
258 void AArch64InstrInfo::insertIndirectBranch(MachineBasicBlock &MBB, in insertIndirectBranch()
331 bool AArch64InstrInfo::analyzeBranch(MachineBasicBlock &MBB, in analyzeBranch()
447 bool AArch64InstrInfo::analyzeBranchPredicate(MachineBasicBlock &MBB, in analyzeBranchPredicate()
497 bool AArch64InstrInfo::reverseBranchCondition( in reverseBranchCondition()
538 unsigned AArch64InstrInfo::removeBranch(MachineBasicBlock &MBB, in removeBranch()
573 void AArch64InstrInfo::instantiateCondBranch( in instantiateCondBranch()
590 unsigned AArch64InstrInfo::insertBranch( in insertBranch()
698 bool AArch64InstrInfo::canInsertSelect(const MachineBasicBlock &MBB, in canInsertSelect()
747 void AArch64InstrInfo::insertSelect(MachineBasicBlock &MBB, in insertSelect()
899 bool AArch64InstrInfo::isAsCheapAsAMove(const MachineInstr &MI) const { in isAsCheapAsAMove()
926 bool AArch64InstrInfo::isFalkorShiftExtFast(const MachineInstr &MI) { in isFalkorShiftExtFast()
1048 bool AArch64InstrInfo::isSEHInstruction(const MachineInstr &MI) { in isSEHInstruction()
1077 bool AArch64InstrInfo::isCoalescableExtInstr(const MachineInstr &MI, in isCoalescableExtInstr()
1097 bool AArch64InstrInfo::areMemAccessesTriviallyDisjoint( in areMemAccessesTriviallyDisjoint()
1136 bool AArch64InstrInfo::isSchedulingBoundary(const MachineInstr &MI, in isSchedulingBoundary()
1170 bool AArch64InstrInfo::analyzeCompare(const MachineInstr &MI, Register &SrcReg, in analyzeCompare()
1356 bool AArch64InstrInfo::optimizePTestInstr( in optimizePTestInstr()
1515 bool AArch64InstrInfo::optimizeCompareInstr( in optimizeCompareInstr()
1793 bool AArch64InstrInfo::substituteCmpToZero( in substituteCmpToZero()
1918 bool AArch64InstrInfo::removeCmpToZeroOrOne( in removeCmpToZeroOrOne()
1946 bool AArch64InstrInfo::expandPostRAPseudo(MachineInstr &MI) const { in expandPostRAPseudo()
2116 bool AArch64InstrInfo::isGPRZero(const MachineInstr &MI) { in isGPRZero()
2140 bool AArch64InstrInfo::isGPRCopy(const MachineInstr &MI) { in isGPRCopy()
2170 bool AArch64InstrInfo::isFPRCopy(const MachineInstr &MI) { in isFPRCopy()
2189 unsigned AArch64InstrInfo::isLoadFromStackSlot(const MachineInstr &MI, in isLoadFromStackSlot()
2213 unsigned AArch64InstrInfo::isStoreToStackSlot(const MachineInstr &MI, in isStoreToStackSlot()
2237 bool AArch64InstrInfo::isLdStPairSuppressed(const MachineInstr &MI) { in isLdStPairSuppressed()
2244 void AArch64InstrInfo::suppressLdStPair(MachineInstr &MI) { in suppressLdStPair()
2251 bool AArch64InstrInfo::isStridedAccess(const MachineInstr &MI) { in isStridedAccess()
2257 bool AArch64InstrInfo::hasUnscaledLdStOffset(unsigned Opc) { in hasUnscaledLdStOffset()
2293 std::optional<unsigned> AArch64InstrInfo::getUnscaledLdSt(unsigned Opc) { in getUnscaledLdSt()
2323 unsigned AArch64InstrInfo::getLoadStoreImmIdx(unsigned Opc) { in getLoadStoreImmIdx()
2455 bool AArch64InstrInfo::isPairableLdStInst(const MachineInstr &MI) { in isPairableLdStInst()
2498 bool AArch64InstrInfo::isTailCallReturnInst(const MachineInstr &MI) { in isTailCallReturnInst()
2512 unsigned AArch64InstrInfo::convertToFlagSettingOpc(unsigned Opc) { in convertToFlagSettingOpc()
2604 bool AArch64InstrInfo::isCandidateToMergeOrPair(const MachineInstr &MI) const { in isCandidateToMergeOrPair()
2674 bool AArch64InstrInfo::getMemOperandsWithOffsetWidth( in getMemOperandsWithOffsetWidth()
2697 AArch64InstrInfo::getAddrModeFromMemoryOp(const MachineInstr &MemI, in getAddrModeFromMemoryOp()
2715 bool AArch64InstrInfo::canFoldIntoAddrMode(const MachineInstr &MemI, in canFoldIntoAddrMode()
3391 MachineInstr *AArch64InstrInfo::emitLdStWithAddr(MachineInstr &MemI, in emitLdStWithAddr()
3468 bool AArch64InstrInfo::getMemOperandWithOffsetWidth( in getMemOperandWithOffsetWidth()
3517 AArch64InstrInfo::getMemOpBaseRegImmOfsOffsetOperand(MachineInstr &LdSt) const { in getMemOpBaseRegImmOfsOffsetOperand()
3524 bool AArch64InstrInfo::getMemOpInfo(unsigned Opcode, TypeSize &Scale, in getMemOpInfo()
3962 int AArch64InstrInfo::getMemScale(unsigned Opc) { in getMemScale()
4035 bool AArch64InstrInfo::isPreLd(const MachineInstr &MI) { in isPreLd()
4049 bool AArch64InstrInfo::isPreSt(const MachineInstr &MI) { in isPreSt()
4062 bool AArch64InstrInfo::isPreLdSt(const MachineInstr &MI) { in isPreLdSt()
4066 bool AArch64InstrInfo::isPairedLdSt(const MachineInstr &MI) { in isPairedLdSt()
4086 const MachineOperand &AArch64InstrInfo::getLdStBaseOp(const MachineInstr &MI) { in getLdStBaseOp()
4088 AArch64InstrInfo::isPairedLdSt(MI) || AArch64InstrInfo::isPreLdSt(MI) ? 2 in getLdStBaseOp()
4094 AArch64InstrInfo::getLdStOffsetOp(const MachineInstr &MI) { in getLdStOffsetOp()
4096 AArch64InstrInfo::isPairedLdSt(MI) || AArch64InstrInfo::isPreLdSt(MI) ? 3 in getLdStOffsetOp()
4109 bool AArch64InstrInfo::isHForm(const MachineInstr &MI) { in isHForm()
4123 bool AArch64InstrInfo::isQForm(const MachineInstr &MI) { in isQForm()
4137 bool AArch64InstrInfo::hasBTISemantics(const MachineInstr &MI) { in hasBTISemantics()
4163 bool AArch64InstrInfo::isFpOrNEON(const MachineInstr &MI) { in isFpOrNEON()
4189 int Scale = AArch64InstrInfo::getMemScale(Opc); in scaleOffset()
4233 int Scale1 = AArch64InstrInfo::getMemScale(Opcode1); in shouldClusterFI()
4237 int Scale2 = AArch64InstrInfo::getMemScale(Opcode2); in shouldClusterFI()
4252 bool AArch64InstrInfo::shouldClusterMemOps( in shouldClusterMemOps()
4340 void AArch64InstrInfo::copyPhysRegTuple(MachineBasicBlock &MBB, in copyPhysRegTuple()
4367 void AArch64InstrInfo::copyGPRRegTuple(MachineBasicBlock &MBB, in copyGPRRegTuple()
4392 void AArch64InstrInfo::copyPhysReg(MachineBasicBlock &MBB, in copyPhysReg()
4765 void AArch64InstrInfo::storeRegToStackSlot(MachineBasicBlock &MBB, in storeRegToStackSlot()
4948 void AArch64InstrInfo::loadRegFromStackSlot(MachineBasicBlock &MBB, in loadRegFromStackSlot()
5118 void AArch64InstrInfo::decomposeStackOffsetForDwarfOffsets( in decomposeStackOffsetForDwarfOffsets()
5137 void AArch64InstrInfo::decomposeStackOffsetForFrameOffsets( in decomposeStackOffsetForFrameOffsets()
5195 AArch64InstrInfo::decomposeStackOffsetForDwarfOffsets(Offset, NumBytes, in createDefCFAExpression()
5243 AArch64InstrInfo::decomposeStackOffsetForDwarfOffsets( in createCFAOffset()
5420 AArch64InstrInfo::decomposeStackOffsetForFrameOffsets( in emitFrameOffset()
5465 MachineInstr *AArch64InstrInfo::foldMemoryOperandImpl( in foldMemoryOperandImpl()
5668 if (!AArch64InstrInfo::getMemOpInfo(MI.getOpcode(), ScaleValue, Width, MinOff, in isAArch64FrameOffsetLegal()
5678 MI.getOperand(AArch64InstrInfo::getLoadStoreImmIdx(MI.getOpcode())); in isAArch64FrameOffsetLegal()
5685 AArch64InstrInfo::getUnscaledLdSt(MI.getOpcode()); in isAArch64FrameOffsetLegal()
5688 !AArch64InstrInfo::getMemOpInfo(*UnscaledOp, ScaleValue, Width, MinOff, in isAArch64FrameOffsetLegal()
5726 const AArch64InstrInfo *TII) { in rewriteAArch64FrameIndex()
5759 void AArch64InstrInfo::insertNoop(MachineBasicBlock &MBB, in insertNoop()
5765 MCInst AArch64InstrInfo::getNop() const { in getNop()
5770 bool AArch64InstrInfo::useMachineCombiner() const { return true; } in useMachineCombiner()
5930 bool AArch64InstrInfo::isAssociativeAndCommutative(const MachineInstr &Inst, in isAssociativeAndCommutative()
6408 bool AArch64InstrInfo::isThroughputPattern( in isThroughputPattern()
6563 bool AArch64InstrInfo::getMachineCombinerPatterns( in getMachineCombinerPatterns()
6922 void AArch64InstrInfo::genAlternativeCodeSequence( in genAlternativeCodeSequence()
7896 bool AArch64InstrInfo::optimizeCondBranch(MachineInstr &MI) const { in optimizeCondBranch()
8034 AArch64InstrInfo::decomposeMachineOperandsTargetFlags(unsigned TF) const { in decomposeMachineOperandsTargetFlags()
8040 AArch64InstrInfo::getSerializableDirectMachineOperandTargetFlags() const { in getSerializableDirectMachineOperandTargetFlags()
8052 AArch64InstrInfo::getSerializableBitmaskMachineOperandTargetFlags() const { in getSerializableBitmaskMachineOperandTargetFlags()
8070 AArch64InstrInfo::getSerializableMachineMemOperandTargetFlags() const { in getSerializableMachineMemOperandTargetFlags()
8172 AArch64InstrInfo::findRegisterToSaveLRTo(outliner::Candidate &C) const { in findRegisterToSaveLRTo()
8220 AArch64InstrInfo::getOutliningCandidateInfo( in getOutliningCandidateInfo()
8625 void AArch64InstrInfo::mergeOutliningCandidateAttributes( in mergeOutliningCandidateAttributes()
8642 bool AArch64InstrInfo::isFunctionSafeToOutlineFrom( in isFunctionSafeToOutlineFrom()
8673 AArch64InstrInfo::getOutlinableRanges(MachineBasicBlock &MBB, in getOutlinableRanges()
8786 AArch64InstrInfo::getOutliningTypeImpl(MachineBasicBlock::iterator &MIT, in getOutliningTypeImpl()
8931 void AArch64InstrInfo::fixupPostOutline(MachineBasicBlock &MBB) const { in fixupPostOutline()
8964 const AArch64InstrInfo *TII, in signOutlinedFunction()
8976 void AArch64InstrInfo::buildOutlinedFrame( in buildOutlinedFrame()
9105 MachineBasicBlock::iterator AArch64InstrInfo::insertOutlinedCall( in insertOutlinedCall()
9181 bool AArch64InstrInfo::shouldOutlineFromFunctionByDefault( in shouldOutlineFromFunctionByDefault()
9186 void AArch64InstrInfo::buildClearRegister(Register Reg, MachineBasicBlock &MBB, in buildClearRegister()
9207 AArch64InstrInfo::isCopyInstrImpl(const MachineInstr &MI) const { in isCopyInstrImpl()
9231 AArch64InstrInfo::isCopyLikeInstrImpl(const MachineInstr &MI) const { in isCopyLikeInstrImpl()
9240 AArch64InstrInfo::isAddImmediate(const MachineInstr &MI, Register Reg) const { in isAddImmediate()
9313 bool AArch64InstrInfo::isFunctionSafeToSplit(const MachineFunction &MF) const { in isFunctionSafeToSplit()
9324 bool AArch64InstrInfo::isMBBSafeToSplitToCold( in isMBBSafeToSplitToCold()
9363 AArch64InstrInfo::describeLoadedValue(const MachineInstr &MI, in describeLoadedValue()
9390 bool AArch64InstrInfo::isExtendLikelyToBeFolded( in isExtendLikelyToBeFolded()
9410 uint64_t AArch64InstrInfo::getElementSizeForOpcode(unsigned Opc) const { in getElementSizeForOpcode()
9414 bool AArch64InstrInfo::isPTestLikeOpcode(unsigned Opc) const { in isPTestLikeOpcode()
9418 bool AArch64InstrInfo::isWhileOpcode(unsigned Opc) const { in isWhileOpcode()
9423 AArch64InstrInfo::getTailDuplicateSize(CodeGenOptLevel OptLevel) const { in getTailDuplicateSize()
9427 bool AArch64InstrInfo::isLegalAddressingMode(unsigned NumBytes, int64_t Offset, in isLegalAddressingMode()
9458 bool AArch64InstrInfo::isReallyTriviallyReMaterializable( in isReallyTriviallyReMaterializable()
9511 AArch64InstrInfo::probedStackAlloc(MachineBasicBlock::iterator MBBI, in probedStackAlloc()
9517 const AArch64InstrInfo *TII = in probedStackAlloc()