LLVM 20.0.0git
|
#include "AMDGPU.h"
#include "GCNSubtarget.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/PostOrderIterator.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineRegionInfo.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/InitializePasses.h"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "amdgpucfgstructurizer" |
Variables | |
static int | structurize_once = 0 |
char | AMDGPUMachineCFGStructurizerID = AMDGPUMachineCFGStructurizer::ID |
amdgpu machine cfg | structurizer |
amdgpu machine cfg AMDGPU Machine CFG | Structurizer |
amdgpu machine cfg AMDGPU Machine CFG | false |
#define DEBUG_TYPE "amdgpucfgstructurizer" |
Definition at line 28 of file AMDGPUMachineCFGStructurizer.cpp.
|
static |
Definition at line 2788 of file AMDGPUMachineCFGStructurizer.cpp.
References assert(), getPHINumInputs(), llvm::MachineBasicBlock::instrs(), and MBBI.
|
static |
Definition at line 1619 of file AMDGPUMachineCFGStructurizer.cpp.
References MBB, and llvm::SmallVectorTemplateBase< T, bool >::push_back().
|
static |
Definition at line 2545 of file AMDGPUMachineCFGStructurizer.cpp.
References llvm::CallingConv::C, containsNewBackedge(), llvm::SmallPtrSetImpl< PtrType >::insert(), MBB, mbbHasBackEdge(), and llvm::reverse().
Referenced by containsNewBackedge().
|
static |
Definition at line 2566 of file AMDGPUMachineCFGStructurizer.cpp.
References containsNewBackedge().
|
static |
Definition at line 597 of file AMDGPUMachineCFGStructurizer.cpp.
|
static |
Definition at line 1252 of file AMDGPUMachineCFGStructurizer.cpp.
References MBB, llvm::MachineBasicBlock::succ_begin(), llvm::MachineBasicBlock::succ_size(), and llvm::MachineBasicBlock::terminators().
Referenced by fixupRegionExits().
|
static |
Definition at line 1265 of file AMDGPUMachineCFGStructurizer.cpp.
References assert().
Referenced by fixupRegionExits().
void fixupRegionExits | ( | RegionMRT * | Region | ) |
Definition at line 1311 of file AMDGPUMachineCFGStructurizer.cpp.
References fixMBBTerminator(), and fixRegionTerminator().
|
static |
Definition at line 304 of file AMDGPUMachineCFGStructurizer.cpp.
|
static |
Definition at line 284 of file AMDGPUMachineCFGStructurizer.cpp.
Referenced by checkRegOnlyPHIInputs().
|
static |
Definition at line 289 of file AMDGPUMachineCFGStructurizer.cpp.
|
static |
Definition at line 299 of file AMDGPUMachineCFGStructurizer.cpp.
|
static |
Definition at line 1670 of file AMDGPUMachineCFGStructurizer.cpp.
Referenced by hasOneExitNode().
|
static |
Definition at line 1685 of file AMDGPUMachineCFGStructurizer.cpp.
References getSingleExitNode().
INITIALIZE_PASS_BEGIN | ( | AMDGPUMachineCFGStructurizer | , |
"amdgpu-machine-cfg-structurizer" | , | ||
"AMDGPU Machine CFG Structurizer" | , | ||
false | , | ||
false | |||
) |
|
static |
Definition at line 2226 of file AMDGPUMachineCFGStructurizer.cpp.
References llvm::MachineFunction::begin(), llvm::MachineBasicBlock::getParent(), and MBB.
|
static |
Definition at line 1406 of file AMDGPUMachineCFGStructurizer.cpp.
References llvm::is_contained().
|
static |
Definition at line 2537 of file AMDGPUMachineCFGStructurizer.cpp.
References llvm::SmallPtrSetImpl< PtrType >::contains(), MBB, and llvm::MachineBasicBlock::successors().
Referenced by containsNewBackedge().
bool regionIsSequence | ( | RegionMRT * | Region | ) |
Definition at line 1299 of file AMDGPUMachineCFGStructurizer.cpp.
|
static |
Definition at line 1754 of file AMDGPUMachineCFGStructurizer.cpp.
References llvm::dbgs(), llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::insert(), LLVM_DEBUG, llvm::MachineBasicBlock::predecessors(), llvm::printMBBReference(), llvm::MachineBasicBlock::succ_begin(), llvm::MachineBasicBlock::succ_size(), and llvm::MachineBasicBlock::successors().
|
static |
Definition at line 1744 of file AMDGPUMachineCFGStructurizer.cpp.
References MBB, llvm::MachineBasicBlock::succ_begin(), and llvm::MachineBasicBlock::succ_end().
|
static |
Definition at line 2523 of file AMDGPUMachineCFGStructurizer.cpp.
References llvm::RegionBase< Tr >::contains().
|
static |
Definition at line 294 of file AMDGPUMachineCFGStructurizer.cpp.
References PHI.
|
static |
Definition at line 2467 of file AMDGPUMachineCFGStructurizer.cpp.
References llvm::MachineBasicBlock::addSuccessor(), llvm::MachineFunction::CreateMachineBasicBlock(), llvm::MachineBasicBlock::end(), llvm::ilist_node_impl< OptionsT >::getIterator(), llvm::MachineBasicBlock::getParent(), I, llvm::MachineFunction::insert(), MBB, llvm::MachineBasicBlock::splice(), and llvm::MachineBasicBlock::transferSuccessorsAndUpdatePHIs().
Referenced by llvm::RopePieceBTree::erase(), llvm::jitlink::identifyMachOSectionStartAndEndSymbols(), llvm::RopePieceBTree::insert(), and llvm::StringRef::split().
char AMDGPUMachineCFGStructurizerID = AMDGPUMachineCFGStructurizer::ID |
Definition at line 2827 of file AMDGPUMachineCFGStructurizer.cpp.
Definition at line 2833 of file AMDGPUMachineCFGStructurizer.cpp.
|
static |
Definition at line 2718 of file AMDGPUMachineCFGStructurizer.cpp.
amdgpu machine cfg structurizer |
Definition at line 2832 of file AMDGPUMachineCFGStructurizer.cpp.
Definition at line 2833 of file AMDGPUMachineCFGStructurizer.cpp.