|
LLVM 23.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 709 of file MachineBasicBlock.cpp.
Referenced by llvm::MachineBasicBlock::canSplitCriticalEdge(), jumpTableHasOtherUses(), and llvm::MachineBasicBlock::SplitCriticalEdge().
|
static |
Definition at line 1093 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 1474 of file MachineBasicBlock.cpp.
References MI.
Referenced by llvm::MachineBasicBlock::erase(), and llvm::MachineBasicBlock::remove_instr().
|
static |
Referenced by llvm::MachineBasicBlock::print().