LLVM 20.0.0git
|
This pass mainly lowers early terminate pseudo instructions. More...
#include "AMDGPU.h"
#include "GCNSubtarget.h"
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
#include "SIMachineFunctionInfo.h"
#include "llvm/CodeGen/MachineDominators.h"
#include "llvm/InitializePasses.h"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "si-late-branch-lowering" |
Functions | |
INITIALIZE_PASS_BEGIN (SILateBranchLowering, DEBUG_TYPE, "SI insert s_cbranch_execz instructions", false, false) INITIALIZE_PASS_END(SILateBranchLowering | |
static void | generateEndPgm (MachineBasicBlock &MBB, MachineBasicBlock::iterator I, DebugLoc DL, const SIInstrInfo *TII, MachineFunction &MF) |
static void | splitBlock (MachineBasicBlock &MBB, MachineInstr &MI, MachineDominatorTree *MDT) |
Variables | |
DEBUG_TYPE | |
SI insert s_cbranch_execz | instructions |
SI insert s_cbranch_execz | false |
This pass mainly lowers early terminate pseudo instructions.
Definition in file SILateBranchLowering.cpp.
#define DEBUG_TYPE "si-late-branch-lowering" |
Definition at line 23 of file SILateBranchLowering.cpp.
|
static |
Definition at line 69 of file SILateBranchLowering.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::CallingConv::AMDGPU_PS, llvm::BuildMI(), DL, llvm::AMDGPU::Exp::ET_MRT0, llvm::AMDGPU::Exp::ET_MRTZ, llvm::AMDGPU::Exp::ET_NULL, F, llvm::AMDGPU::getHasColorExport(), llvm::AMDGPU::getHasDepthExport(), llvm::MachineBasicBlock::getParent(), llvm::MachineFunction::getSubtarget(), I, llvm::AMDGPU::isGFX10Plus(), MBB, TII, and llvm::RegState::Undef.
INITIALIZE_PASS_BEGIN | ( | SILateBranchLowering | , |
DEBUG_TYPE | , | ||
"SI insert s_cbranch_execz instructions" | , | ||
false | , | ||
false | |||
) |
|
static |
Definition at line 105 of file SILateBranchLowering.cpp.
References llvm::DominatorTreeBase< NodeT, IsPostDom >::applyUpdates(), llvm::MachineDominatorTree::getBase(), MBB, MI, llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::MachineBasicBlock::splitAt(), and llvm::MachineBasicBlock::successors().
DEBUG_TYPE |
Definition at line 64 of file SILateBranchLowering.cpp.
SI insert s_cbranch_execz false |
Definition at line 65 of file SILateBranchLowering.cpp.
SI insert s_cbranch_execz instructions |
Definition at line 65 of file SILateBranchLowering.cpp.