LLVM
8.0.1
|
#include "X86.h"
#include "X86InstrInfo.h"
#include "X86Subtarget.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/CodeGen/MachineBranchProbabilityInfo.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/Support/BranchProbability.h"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "x86-condbr-folding" |
Functions | |
STATISTIC (NumFixedCondBrs, "Number of x86 condbr folded") | |
static void | fixPHIsInSucc (MachineBasicBlock *MBB, MachineBasicBlock *OldMBB, MachineBasicBlock *NewMBB) |
static bool | setBranchProb (MachineBasicBlock *MBB, MachineBasicBlock *SuccMBB, BranchProbability Prob) |
static MachineBasicBlock::iterator | findUncondBrI (MachineBasicBlock *MBB) |
#define DEBUG_TYPE "x86-condbr-folding" |
Definition at line 58 of file X86CondBrFolding.cpp.
|
inlinestatic |
Definition at line 214 of file X86CondBrFolding.cpp.
References llvm::MachineBasicBlock::addSuccessor(), assert(), llvm::SmallVectorTemplateCommon< T >::back(), llvm::MachineBasicBlock::begin(), llvm::BuildMI(), llvm::X86::COND_E, llvm::X86::COND_G, llvm::X86::COND_GE, llvm::X86::COND_L, llvm::X86::COND_LE, llvm::X86::COND_NE, llvm::dbgs(), llvm::MachineBasicBlock::end(), llvm::MachineBasicBlock::erase(), llvm::MachineInstr::eraseFromParent(), llvm::find_if(), llvm::MachineBasicBlock::findDebugLoc(), fixPHIsInSucc(), llvm::SmallVectorTemplateCommon< T >::front(), GetCondBranchFromCond(), llvm::X86::getCondFromBranchOpc(), llvm::MachineOperand::getImm(), llvm::MachineInstrBuilder::getInstr(), llvm::X86Subtarget::getInstrInfo(), llvm::MachineBasicBlock::getNumber(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineFunction::getSubtarget(), llvm::MachineBasicBlock::hasSuccessorProbabilities(), I, llvm::MachineBasicBlock::insert(), llvm::MachineOperand::isImm(), llvm::MachineBasicBlock::isSuccessor(), llvm::BranchProbability::isUnknown(), LLVM_DEBUG, llvm_unreachable, MI, Modified, llvm::MachineBasicBlock::normalizeSuccProbs(), llvm::MachineBasicBlock::pred_size(), llvm::MachineBasicBlock::push_back(), llvm::MachineInstr::removeFromParent(), llvm::MachineBasicBlock::removeSuccessor(), setBranchProb(), llvm::SmallVectorBase::size(), llvm::ARM_MB::ST, llvm::MachineBasicBlock::succ_size(), std::swap(), llvm::X86Subtarget::threewayBranchProfitable(), and TII.
|
static |
Definition at line 188 of file X86CondBrFolding.cpp.
References llvm::MachineOperand::getMBB(), llvm::MachineBasicBlock::instr_begin(), llvm::MachineBasicBlock::instr_end(), MI, and llvm::MachineOperand::setMBB().
Referenced by findUncondBrI().
|
inlinestatic |
Definition at line 202 of file X86CondBrFolding.cpp.
References llvm::find(), llvm::MachineBasicBlock::setSuccProbability(), llvm::MachineBasicBlock::succ_begin(), and llvm::MachineBasicBlock::succ_end().
Referenced by findUncondBrI().
STATISTIC | ( | NumFixedCondBrs | , |
"Number of x86 condbr folded" | |||
) |