|
LLVM 22.0.0git
|
This file contains the implementation of empty blocks garbage collection pass. More...
#include "llvm/CodeGen/GCEmptyBasicBlocks.h"#include "llvm/ADT/SmallVector.h"#include "llvm/ADT/Statistic.h"#include "llvm/CodeGen/MachineBasicBlock.h"#include "llvm/CodeGen/MachineFunction.h"#include "llvm/CodeGen/MachineFunctionPass.h"#include "llvm/CodeGen/MachineJumpTableInfo.h"#include "llvm/CodeGen/Passes.h"#include "llvm/InitializePasses.h"Go to the source code of this file.
Classes | |
| class | GCEmptyBasicBlocksLegacy |
Macros | |
| #define | DEBUG_TYPE "gc-empty-basic-blocks" |
Functions | |
| STATISTIC (NumEmptyBlocksRemoved, "Number of empty blocks removed") | |
| static bool | removeEmptyBlocks (MachineFunction &MF) |
| INITIALIZE_PASS (GCEmptyBasicBlocksLegacy, "gc-empty-basic-blocks", "Removes empty basic blocks and redirects their uses to their " "fallthrough blocks.", false, false) MachineFunctionPass *llvm | |
This file contains the implementation of empty blocks garbage collection pass.
Definition in file GCEmptyBasicBlocks.cpp.
| #define DEBUG_TYPE "gc-empty-basic-blocks" |
Definition at line 26 of file GCEmptyBasicBlocks.cpp.
| INITIALIZE_PASS | ( | GCEmptyBasicBlocksLegacy | , |
| "gc-empty-basic-blocks" | , | ||
| "Removes empty basic blocks and redirects their uses to their " "fallthrough blocks." | , | ||
| false | , | ||
| false | ) |
Definition at line 106 of file GCEmptyBasicBlocks.cpp.
References llvm::createGCEmptyBasicBlocksLegacyPass().
|
static |
Definition at line 58 of file GCEmptyBasicBlocks.cpp.
References llvm::any_of(), llvm::MachineFunction::back(), llvm::MachineFunction::begin(), llvm::dbgs(), llvm::MachineFunction::getJumpTableInfo(), llvm::MachineFunction::getName(), LLVM_DEBUG, MBB, MI, llvm::MachineJumpTableInfo::ReplaceMBBInJumpTables(), and llvm::MachineFunction::size().
Referenced by llvm::GCEmptyBasicBlocksPass::run(), and GCEmptyBasicBlocksLegacy::runOnMachineFunction().
| STATISTIC | ( | NumEmptyBlocksRemoved | , |
| "Number of empty blocks removed" | ) |