| /freebsd/contrib/llvm-project/llvm/lib/Target/NVPTX/ |
| H A D | NVPTXInstrInfo.cpp | 83 MachineBasicBlock *&TBB, in analyzeBranch() argument 98 TBB = LastInst.getOperand(0).getMBB(); in analyzeBranch() 102 TBB = LastInst.getOperand(1).getMBB(); in analyzeBranch() 120 TBB = SecondLastInst.getOperand(1).getMBB(); in analyzeBranch() 130 TBB = SecondLastInst.getOperand(0).getMBB(); in analyzeBranch() 168 MachineBasicBlock *TBB, in insertBranch() argument 176 assert(TBB && "insertBranch must not be told to insert a fallthrough"); in insertBranch() 183 BuildMI(&MBB, DL, get(NVPTX::GOTO)).addMBB(TBB); in insertBranch() 185 BuildMI(&MBB, DL, get(NVPTX::CBranch)).add(Cond[0]).addMBB(TBB); in insertBranch() 190 BuildMI(&MBB, DL, get(NVPTX::CBranch)).add(Cond[0]).addMBB(TBB); in insertBranch()
|
| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
| H A D | EarlyIfConversion.cpp | 98 MachineBasicBlock *TBB; member in __anon4c5015260111::SSAIfConv 105 bool isTriangle() const { return TBB == Tail || FBB == Tail; } in isTriangle() 108 MachineBasicBlock *getTPred() const { return TBB == Tail ? Head : TBB; } in getTPred() 170 void clearRepeatedKillFlagsFromTBB(MachineBasicBlock *TBB, 447 TBB = FBB = Tail = nullptr; in canConvertIf() 495 if (TII->analyzeBranch(*Head, TBB, FBB, Cond)) { in canConvertIf() 501 if (!TBB) { in canConvertIf() 515 FBB = TBB == Succ0 ? Succ1 : Succ0; in canConvertIf() 548 if (TBB != Tail && !canPredicateInstrs(TBB)) in canConvertIf() 553 if (TBB != Tail && !canSpeculateInstrs(TBB)) in canConvertIf() [all …]
|
| H A D | BranchRelaxation.cpp | 377 MachineBasicBlock *TBB = nullptr, *FBB = nullptr; in fixupConditionalBranch() local 388 auto insertBranch = [&](MachineBasicBlock *MBB, MachineBasicBlock *TBB, in fixupConditionalBranch() 393 TII->insertBranch(*MBB, TBB, FBB, Cond, DL, &NewBrSize); in fixupConditionalBranch() 418 bool Fail = TII->analyzeBranch(*MBB, TBB, FBB, Cond); in fixupConditionalBranch() 432 if (MBB->getSectionID() != TBB->getSectionID() && in fixupConditionalBranch() 433 TBB->getSectionID() == MBBSectionID::ColdSectionID && in fixupConditionalBranch() 443 insertUncondBranch(NewBB, TBB); in fixupConditionalBranch() 446 MBB->replaceSuccessor(TBB, NewBB); in fixupConditionalBranch() 447 NewBB->addSuccessor(TBB); in fixupConditionalBranch() 460 << printMBBReference(*MBB) << " to " << printMBBReference(*TBB) in fixupConditionalBranch() [all …]
|
| H A D | MachineLoopUtils.cpp | 122 MachineBasicBlock *TBB = nullptr, *FBB = nullptr; in PeelSingleBlockLoop() local 124 bool CanAnalyzeBr = !TII->analyzeBranch(*Loop, TBB, FBB, Cond); in PeelSingleBlockLoop() 128 TII->insertBranch(*Loop, TBB == Exit ? NewBB : TBB, in PeelSingleBlockLoop()
|
| H A D | BranchFolding.cpp | 490 MachineBasicBlock *TBB = nullptr, *FBB = nullptr; in FixTail() local 495 if (I != MF->end() && !TII->analyzeBranch(*CurMBB, TBB, FBB, Cond, true)) { in FixTail() 497 if (TBB == NextBB && !Cond.empty() && !FBB) { in FixTail() 1139 MachineBasicBlock *TBB = nullptr, *FBB = nullptr; in TailMergeBlocks() local 1141 if (!TII->analyzeBranch(*PBB, TBB, FBB, Cond, true)) { in TailMergeBlocks() 1145 if (!Cond.empty() && TBB == IBB) { in TailMergeBlocks() 1158 if (TBB && (Cond.empty() || FBB)) { in TailMergeBlocks() 1162 TII->insertBranch(*PBB, (TBB == IBB) ? FBB : TBB, nullptr, in TailMergeBlocks() 1944 MachineBasicBlock *TBB = nullptr, *FBB = nullptr; in HoistCommonCodeInSuccs() local 1946 if (TII->analyzeBranch(*MBB, TBB, FBB, Cond, true) || !TBB || Cond.empty()) in HoistCommonCodeInSuccs() [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/WebAssembly/ |
| H A D | WebAssemblyInstrInfo.cpp | 92 MachineBasicBlock *&TBB, in analyzeBranch() argument 114 TBB = MI.getOperand(0).getMBB(); in analyzeBranch() 122 TBB = MI.getOperand(0).getMBB(); in analyzeBranch() 127 TBB = MI.getOperand(0).getMBB(); in analyzeBranch() 162 MachineBasicBlock &MBB, MachineBasicBlock *TBB, MachineBasicBlock *FBB, in insertBranch() argument 167 if (!TBB) in insertBranch() 170 BuildMI(&MBB, DL, get(WebAssembly::BR)).addMBB(TBB); in insertBranch() 177 BuildMI(&MBB, DL, get(WebAssembly::BR_IF)).addMBB(TBB).add(Cond[1]); in insertBranch() 179 BuildMI(&MBB, DL, get(WebAssembly::BR_UNLESS)).addMBB(TBB).add(Cond[1]); in insertBranch()
|
| H A D | WebAssemblyFixBrTableDefaults.cpp | 101 MachineBasicBlock *TBB = nullptr, *FBB = nullptr; in fixBrTableDefault() local 104 bool Analyzed = !TII.analyzeBranch(*HeaderMBB, TBB, FBB, Cond); in fixBrTableDefault() 116 if (TBB && TBB != MBB) { in fixBrTableDefault() 135 MI.addOperand(MF, MachineOperand::CreateMBB(TBB)); in fixBrTableDefault()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/MSP430/ |
| H A D | MSP430InstrInfo.cpp | 160 MachineBasicBlock *&TBB, in analyzeBranch() argument 190 TBB = I->getOperand(0).getMBB(); in analyzeBranch() 201 TBB = nullptr; in analyzeBranch() 208 TBB = I->getOperand(0).getMBB(); in analyzeBranch() 221 FBB = TBB; in analyzeBranch() 222 TBB = I->getOperand(0).getMBB(); in analyzeBranch() 230 assert(TBB); in analyzeBranch() 234 if (TBB != I->getOperand(0).getMBB()) in analyzeBranch() 249 MachineBasicBlock *TBB, in insertBranch() argument 255 assert(TBB && "insertBranch must not be told to insert a fallthrough"); in insertBranch() [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/ |
| H A D | RISCVRedundantCopyElimination.cpp | 72 MachineBasicBlock *TBB) { in guaranteesZeroRegInBlock() argument 74 assert(TBB != nullptr && "Expected branch target basic block"); in guaranteesZeroRegInBlock() 77 TBB == &MBB) in guaranteesZeroRegInBlock() 80 TBB != &MBB) in guaranteesZeroRegInBlock() 96 MachineBasicBlock *TBB = nullptr, *FBB = nullptr; in optimizeBlock() local 98 if (TII->analyzeBranch(*PredMBB, TBB, FBB, Cond, /*AllowModify*/ false) || in optimizeBlock() 103 if (!guaranteesZeroRegInBlock(MBB, Cond, TBB)) in optimizeBlock()
|
| H A D | RISCVLateBranchOpt.cpp | 49 MachineBasicBlock *TBB, *FBB; in runOnBasicBlock() local 51 if (RII->analyzeBranch(MBB, TBB, FBB, Cond, /*AllowModify=*/false)) in runOnBasicBlock() 54 if (!TBB || Cond.size() != 3) in runOnBasicBlock() 70 RISCVInstrInfo::evaluateCondBranch(CC, C0, C1) ? TBB : FBB; in runOnBasicBlock()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/XCore/ |
| H A D | XCoreInstrInfo.cpp | 186 MachineBasicBlock *&TBB, in analyzeBranch() argument 204 TBB = LastInst->getOperand(0).getMBB(); in analyzeBranch() 215 TBB = LastInst->getOperand(1).getMBB(); in analyzeBranch() 236 TBB = SecondLastInst->getOperand(1).getMBB(); in analyzeBranch() 248 TBB = SecondLastInst->getOperand(0).getMBB(); in analyzeBranch() 268 MachineBasicBlock *TBB, in insertBranch() argument 274 assert(TBB && "insertBranch must not be told to insert a fallthrough"); in insertBranch() 282 BuildMI(&MBB, DL, get(XCore::BRFU_lu6)).addMBB(TBB); in insertBranch() 287 .addMBB(TBB); in insertBranch() 296 .addMBB(TBB); in insertBranch()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/Xtensa/ |
| H A D | XtensaInstrInfo.cpp | 351 MachineBasicBlock *&TBB, in analyzeBranch() argument 385 TBB = ThisTarget->getMBB(); in analyzeBranch() 397 TBB = ThisTarget->getMBB(); in analyzeBranch() 404 FBB = TBB; in analyzeBranch() 405 TBB = ThisTarget->getMBB(); in analyzeBranch() 417 assert(TBB); in analyzeBranch() 421 if (TBB != ThisTarget->getMBB()) in analyzeBranch() 461 MachineBasicBlock &MBB, MachineBasicBlock *TBB, MachineBasicBlock *FBB, in insertBranch() argument 470 Count = insertBranchAtInst(MBB, MBB.end(), TBB, Cond, DL, BytesAdded); in insertBranch() 478 Count += insertBranchAtInst(MBB, MBB.end(), TBB, Cond, DL, BytesAdded); in insertBranch() [all …]
|
| H A D | XtensaInstrInfo.h | 86 bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB, 94 unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB, 106 MachineBasicBlock *TBB,
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/AVR/ |
| H A D | AVRInstrInfo.cpp | 262 MachineBasicBlock *&TBB, in analyzeBranch() argument 295 TBB = I->getOperand(0).getMBB(); in analyzeBranch() 307 TBB = nullptr; in analyzeBranch() 315 TBB = I->getOperand(0).getMBB(); in analyzeBranch() 365 FBB = TBB; in analyzeBranch() 366 TBB = I->getOperand(0).getMBB(); in analyzeBranch() 374 assert(TBB); in analyzeBranch() 378 if (TBB != I->getOperand(0).getMBB()) { in analyzeBranch() 395 MachineBasicBlock *TBB, in insertBranch() argument 403 assert(TBB && "insertBranch must not be told to insert a fallthrough"); in insertBranch() [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
| H A D | HexagonBranchRelaxation.cpp | 153 MachineBasicBlock *TBB = nullptr, *FBB = nullptr; in isJumpOutOfRange() local 157 if (HII->analyzeBranch(B, TBB, FBB, Cond, false)) { in isJumpOutOfRange() 162 TBB = FirstTerm->getOperand(HII->getCExtOpNum(*FirstTerm)).getMBB(); in isJumpOutOfRange() 164 if (TBB && &MI == &*FirstTerm) { in isJumpOutOfRange() 165 Distance = std::abs((long long)InstOffset - BlockToInstOffset[TBB]) in isJumpOutOfRange()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/BPF/ |
| H A D | BPFInstrInfo.cpp | 167 MachineBasicBlock *&TBB, in analyzeBranch() argument 192 TBB = I->getOperand(0).getMBB(); in analyzeBranch() 203 TBB = nullptr; in analyzeBranch() 210 TBB = I->getOperand(0).getMBB(); in analyzeBranch() 221 MachineBasicBlock *TBB, in insertBranch() argument 229 assert(TBB && "insertBranch must not be told to insert a fallthrough"); in insertBranch() 234 BuildMI(&MBB, DL, get(BPF::JMP)).addMBB(TBB); in insertBranch()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/ARC/ |
| H A D | ARCInstrInfo.cpp | 171 MachineBasicBlock *&TBB, in analyzeBranch() argument 175 TBB = FBB = nullptr; in analyzeBranch() 199 TBB = I->getOperand(0).getMBB(); in analyzeBranch() 206 FBB = TBB; in analyzeBranch() 207 TBB = I->getOperand(0).getMBB(); in analyzeBranch() 373 MachineBasicBlock *TBB, in insertBranch() argument 380 assert(TBB && "insertBranch must not be told to insert a fallthrough"); in insertBranch() 385 BuildMI(&MBB, DL, get(ARC::BR)).addMBB(TBB); in insertBranch() 390 MIB.addMBB(TBB); in insertBranch()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/Mips/ |
| H A D | MipsInstrInfo.cpp | 118 MachineBasicBlock *&TBB, in analyzeBranch() argument 123 BranchType BT = analyzeBranch(MBB, TBB, FBB, Cond, AllowModify, BranchInstrs); in analyzeBranch() 128 void MipsInstrInfo::BuildCondBr(MachineBasicBlock &MBB, MachineBasicBlock *TBB, in BuildCondBr() argument 140 MIB.addMBB(TBB); in BuildCondBr() 144 MachineBasicBlock *TBB, in insertBranch() argument 150 assert(TBB && "insertBranch must not be told to insert a fallthrough"); in insertBranch() 163 BuildCondBr(MBB, TBB, DL, Cond); in insertBranch() 171 BuildMI(&MBB, DL, get(UncondBrOpc)).addMBB(TBB); in insertBranch() 173 BuildCondBr(MBB, TBB, DL, Cond); in insertBranch() 214 MachineBasicBlock &MBB, MachineBasicBlock *&TBB, MachineBasicBlock *&FBB, in analyzeBranch() argument [all …]
|
| H A D | MipsInstrInfo.h | 65 bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB, 73 unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB, 81 BranchType analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB, 214 void BuildCondBr(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/M68k/ |
| H A D | M68kInstrInfo.cpp | 86 MachineBasicBlock *&TBB, in AnalyzeBranchImpl() argument 128 TBB = UncondBranch.second; in AnalyzeBranchImpl() 141 TBB = nullptr; in AnalyzeBranchImpl() 208 TBB = UncondBranch.second; in AnalyzeBranchImpl() 214 TBB = CondBranchTarget; in AnalyzeBranchImpl() 223 TBB = CondBranchTarget; in AnalyzeBranchImpl() 234 assert(TBB); in AnalyzeBranchImpl() 241 if (OldBranchCode == BranchCode && TBB == NewTBB) in AnalyzeBranchImpl() 252 MachineBasicBlock *&TBB, in analyzeBranch() argument 256 return AnalyzeBranchImpl(MBB, TBB, FBB, Cond, AllowModify); in analyzeBranch() [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/ |
| H A D | AArch64ConditionOptimizer.cpp | 347 MachineBasicBlock *TBB = nullptr, *FBB = nullptr; in runOnMachineFunction() local 348 if (TII->analyzeBranch(*HBB, TBB, FBB, HeadCond)) { in runOnMachineFunction() 353 if (!TBB || TBB == HBB) { in runOnMachineFunction() 359 if (TII->analyzeBranch(*TBB, TBB_TBB, TBB_FBB, TrueCond)) { in runOnMachineFunction() 368 MachineInstr *TrueCmpMI = findSuitableCompare(TBB); in runOnMachineFunction()
|
| H A D | AArch64SpeculationHardening.cpp | 147 bool endsWithCondControlFlow(MachineBasicBlock &MBB, MachineBasicBlock *&TBB, 182 MachineBasicBlock &MBB, MachineBasicBlock *&TBB, MachineBasicBlock *&FBB, in endsWithCondControlFlow() argument 185 if (TII->analyzeBranch(MBB, TBB, FBB, analyzeBranchCondCode, false)) in endsWithCondControlFlow() 195 assert(TBB != nullptr); in endsWithCondControlFlow() 202 if (TBB == FBB) in endsWithCondControlFlow() 240 MachineBasicBlock *TBB = nullptr; in instrumentControlFlow() local 244 if (!endsWithCondControlFlow(MBB, TBB, FBB, CondCode)) { in instrumentControlFlow() 253 MachineBasicBlock *SplitEdgeTBB = MBB.SplitCriticalEdge(TBB, *this); in instrumentControlFlow()
|
| H A D | AArch64ConditionalCompares.cpp | 499 MachineBasicBlock *TBB = nullptr, *FBB = nullptr; in canConvert() local 500 if (TII->analyzeBranch(*Head, TBB, FBB, HeadCond)) { in canConvert() 508 if (!TBB || HeadCond.empty()) { in canConvert() 522 if (TBB != CmpBB) { in canConvert() 523 assert(TBB == Tail && "Unexpected TBB"); in canConvert() 528 TBB = FBB = nullptr; in canConvert() 529 if (TII->analyzeBranch(*CmpBB, TBB, FBB, CmpBBCond)) { in canConvert() 535 if (!TBB || CmpBBCond.empty()) { in canConvert() 548 if (TBB != Tail) in canConvert()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/SPIRV/ |
| H A D | SPIRVInstrInfo.cpp | 211 MachineBasicBlock *&TBB, in analyzeBranch() argument 260 MachineBasicBlock *TBB, in insertBranch() argument 265 if (!TBB) in insertBranch() 267 BuildMI(&MBB, DL, get(SPIRV::OpBranch)).addMBB(TBB); in insertBranch()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/Sparc/ |
| H A D | SparcInstrInfo.cpp | 243 MachineBasicBlock *&TBB, in analyzeBranch() argument 261 TBB = LastInst->getOperand(0).getMBB(); in analyzeBranch() 266 parseCondBranch(LastInst, TBB, Cond); in analyzeBranch() 285 TBB = LastInst->getOperand(0).getMBB(); in analyzeBranch() 300 parseCondBranch(SecondLastInst, TBB, Cond); in analyzeBranch() 308 TBB = SecondLastInst->getOperand(0).getMBB(); in analyzeBranch() 326 MachineBasicBlock *TBB, in insertBranch() argument 331 assert(TBB && "insertBranch must not be told to insert a fallthrough"); in insertBranch() 337 BuildMI(&MBB, DL, get(SP::BA)).addMBB(TBB); in insertBranch() 348 BuildMI(&MBB, DL, get(Opc)).addMBB(TBB).addImm(CC).addReg(Reg); in insertBranch() [all …]
|