LLVM 20.0.0git
|
#include "llvm/Transforms/Scalar/DCE.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/Analysis/TargetLibraryInfo.h"
#include "llvm/IR/InstIterator.h"
#include "llvm/IR/Instruction.h"
#include "llvm/InitializePasses.h"
#include "llvm/Pass.h"
#include "llvm/Support/DebugCounter.h"
#include "llvm/Transforms/Scalar.h"
#include "llvm/Transforms/Utils/AssumeBundleBuilder.h"
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
#include "llvm/Transforms/Utils/Local.h"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "dce" |
Functions | |
STATISTIC (DCEEliminated, "Number of insts removed") | |
DEBUG_COUNTER (DCECounter, "dce-transform", "Controls which instructions are eliminated") | |
static bool | DCEInstruction (Instruction *I, SmallSetVector< Instruction *, 16 > &WorkList, const TargetLibraryInfo *TLI) |
static bool | eliminateDeadCode (Function &F, TargetLibraryInfo *TLI) |
|
static |
Definition at line 55 of file DCE.cpp.
References I, llvm::SetVector< T, Vector, Set, N >::insert(), llvm::isInstructionTriviallyDead(), llvm::salvageDebugInfo(), llvm::salvageKnowledge(), llvm::DebugCounter::shouldExecute(), and llvm::Value::use_empty().
Referenced by eliminateDeadCode().
DEBUG_COUNTER | ( | DCECounter | , |
"dce-transform" | , | ||
"Controls which instructions are eliminated" | |||
) |
|
static |
Definition at line 89 of file DCE.cpp.
References llvm::SetVector< T, Vector, Set, N >::count(), DCEInstruction(), llvm::SetVector< T, Vector, Set, N >::empty(), F, I, instructions, llvm::make_early_inc_range(), and llvm::SetVector< T, Vector, Set, N >::pop_back_val().
STATISTIC | ( | DCEEliminated | , |
"Number of insts removed" | |||
) |