LLVM 22.0.0git
|
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/CodeGen/LiveIntervals.h"
#include "llvm/CodeGen/LivePhysRegs.h"
#include "llvm/CodeGen/LiveVariables.h"
#include "llvm/CodeGen/MachineDomTreeUpdater.h"
#include "llvm/CodeGen/MachineDominators.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineJumpTableInfo.h"
#include "llvm/CodeGen/MachineLoopInfo.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/SlotIndexes.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "llvm/CodeGen/TargetLowering.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/Config/llvm-config.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/ModuleSlotTracker.h"
#include "llvm/MC/MCAsmInfo.h"
#include "llvm/MC/MCContext.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Target/TargetMachine.h"
#include <algorithm>
#include <cmath>
Go to the source code of this file.
Classes | |
class | SlotIndexUpdateDelegate |
Macros | |
#define | DEBUG_TYPE "codegen" |
#define | GET_RESULT(RESULT, GETTER, INFIX) |
Functions | |
static int | findJumpTableIndex (const MachineBasicBlock &MBB) |
static bool | jumpTableHasOtherUses (const MachineFunction &MF, const MachineBasicBlock &IgnoreMBB, int JumpTableIndex) |
static void | unbundleSingleMI (MachineInstr *MI) |
Prepare MI to be removed from its bundle. |
Variables | |
static cl::opt< bool > | PrintSlotIndexes ("print-slotindexes", cl::desc("When printing machine IR, annotate instructions and blocks with " "SlotIndexes when available"), cl::init(true), cl::Hidden) |
#define DEBUG_TYPE "codegen" |
Definition at line 43 of file MachineBasicBlock.cpp.
#define GET_RESULT | ( | RESULT, | |
GETTER, | |||
INFIX ) |
Referenced by llvm::MachineBasicBlock::SplitCriticalEdge().
|
static |
Definition at line 682 of file MachineBasicBlock.cpp.
Referenced by llvm::MachineBasicBlock::canSplitCriticalEdge(), jumpTableHasOtherUses(), and llvm::MachineBasicBlock::SplitCriticalEdge().
|
static |
Definition at line 1066 of file MachineBasicBlock.cpp.
References assert(), B(), Cond, findJumpTableIndex(), llvm::TargetSubtargetInfo::getInstrInfo(), llvm::MachineFunction::getJumpTableInfo(), llvm::MachineJumpTableInfo::getJumpTables(), llvm::MachineFunction::getSubtarget(), MBB, llvm::MachineJumpTableEntry::MBBs, and TII.
Referenced by llvm::MachineBasicBlock::canSplitCriticalEdge().
|
static |
Prepare MI to be removed from its bundle.
This fixes bundle flags on MI's neighboring instructions so the bundle won't be broken by removing MI.
Definition at line 1438 of file MachineBasicBlock.cpp.
References MI.
Referenced by llvm::MachineBasicBlock::erase(), and llvm::MachineBasicBlock::remove_instr().
|
static |
Referenced by llvm::MachineBasicBlock::print().