Lines Matching defs:BBInfo

81     /// BBInfo - One per MachineBasicBlock, this is used to cache the result
104 struct BBInfo {
122 BBInfo() : IsDone(false), IsBeingAnalyzed(false),
130 /// BBI - Corresponding BBInfo.
141 BBInfo &BBI;
146 IfcvtToken(BBInfo &b, IfcvtKind k, bool s, unsigned d, unsigned d2 = 0)
152 std::vector<BBInfo> BBAnalysis;
178 bool ReverseBranchCondition(BBInfo &BBI);
179 bool ValidSimple(BBInfo &TrueBBI, unsigned &Dups,
181 bool ValidTriangle(BBInfo &TrueBBI, BBInfo &FalseBBI,
184 bool ValidDiamond(BBInfo &TrueBBI, BBInfo &FalseBBI,
186 void ScanInstructions(BBInfo &BBI);
187 BBInfo &AnalyzeBlock(MachineBasicBlock *BB,
189 bool FeasibilityAnalysis(BBInfo &BBI, SmallVectorImpl<MachineOperand> &Cond,
193 void RemoveExtraEdges(BBInfo &BBI);
194 bool IfConvertSimple(BBInfo &BBI, IfcvtKind Kind);
195 bool IfConvertTriangle(BBInfo &BBI, IfcvtKind Kind);
196 bool IfConvertDiamond(BBInfo &BBI, IfcvtKind Kind,
198 void PredicateBlock(BBInfo &BBI,
203 void CopyAndPredicateBlock(BBInfo &ToBBI, BBInfo &FromBBI,
207 void MergeBlocks(BBInfo &ToBBI, BBInfo &FromBBI, bool AddEdges = true);
227 bool blockAlwaysFallThrough(BBInfo &BBI) const {
308 BBInfo &BBI = Token->BBI;
437 bool IfConverter::ReverseBranchCondition(BBInfo &BBI) {
462 bool IfConverter::ValidSimple(BBInfo &TrueBBI, unsigned &Dups,
488 bool IfConverter::ValidTriangle(BBInfo &TrueBBI, BBInfo &FalseBBI,
529 bool IfConverter::ValidDiamond(BBInfo &TrueBBI, BBInfo &FalseBBI,
629 void IfConverter::ScanInstructions(BBInfo &BBI) {
716 bool IfConverter::FeasibilityAnalysis(BBInfo &BBI,
750 IfConverter::BBInfo &IfConverter::AnalyzeBlock(MachineBasicBlock *BB,
752 BBInfo &BBI = BBAnalysis[BB->getNumber()];
784 BBInfo &TrueBBI = AnalyzeBlock(BBI.TrueBB, Tokens);
785 BBInfo &FalseBBI = AnalyzeBlock(BBI.FalseBB, Tokens);
938 BBInfo &PBBI = BBAnalysis[(*PI)->getNumber()];
957 void IfConverter::RemoveExtraEdges(BBInfo &BBI) {
1024 bool IfConverter::IfConvertSimple(BBInfo &BBI, IfcvtKind Kind) {
1025 BBInfo &TrueBBI = BBAnalysis[BBI.TrueBB->getNumber()];
1026 BBInfo &FalseBBI = BBAnalysis[BBI.FalseBB->getNumber()];
1027 BBInfo *CvtBBI = &TrueBBI;
1028 BBInfo *NextBBI = &FalseBBI;
1104 bool IfConverter::IfConvertTriangle(BBInfo &BBI, IfcvtKind Kind) {
1105 BBInfo &TrueBBI = BBAnalysis[BBI.TrueBB->getNumber()];
1106 BBInfo &FalseBBI = BBAnalysis[BBI.FalseBB->getNumber()];
1107 BBInfo *CvtBBI = &TrueBBI;
1108 BBInfo *NextBBI = &FalseBBI;
1140 BBInfo &PBBI = BBAnalysis[PBB->getNumber()];
1224 bool IfConverter::IfConvertDiamond(BBInfo &BBI, IfcvtKind Kind,
1226 BBInfo &TrueBBI = BBAnalysis[BBI.TrueBB->getNumber()];
1227 BBInfo &FalseBBI = BBAnalysis[BBI.FalseBB->getNumber()];
1253 BBInfo *BBI1 = &TrueBBI;
1254 BBInfo *BBI2 = &FalseBBI;
1397 BBInfo &TailBBI = BBAnalysis[TailBB->getNumber()];
1458 void IfConverter::PredicateBlock(BBInfo &BBI,
1502 void IfConverter::CopyAndPredicateBlock(BBInfo &ToBBI, BBInfo &FromBBI,
1567 void IfConverter::MergeBlocks(BBInfo &ToBBI, BBInfo &FromBBI, bool AddEdges) {