LLVM 20.0.0git
|
#include "llvm/Transforms/Scalar/LowerConstantIntrinsics.h"
#include "llvm/ADT/PostOrderIterator.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/Analysis/DomTreeUpdater.h"
#include "llvm/Analysis/GlobalsModRef.h"
#include "llvm/Analysis/InstructionSimplify.h"
#include "llvm/Analysis/MemoryBuiltins.h"
#include "llvm/Analysis/TargetLibraryInfo.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/Dominators.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/PatternMatch.h"
#include "llvm/InitializePasses.h"
#include "llvm/Pass.h"
#include "llvm/Support/Debug.h"
#include "llvm/Transforms/Scalar.h"
#include "llvm/Transforms/Utils/Local.h"
#include <optional>
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "lower-is-constant-intrinsic" |
Functions | |
STATISTIC (IsConstantIntrinsicsHandled, "Number of 'is.constant' intrinsic calls handled") | |
STATISTIC (ObjectSizeIntrinsicsHandled, "Number of 'objectsize' intrinsic calls handled") | |
static Value * | lowerIsConstantIntrinsic (IntrinsicInst *II) |
static bool | replaceConditionalBranchesOnConstant (Instruction *II, Value *NewValue, DomTreeUpdater *DTU) |
#define DEBUG_TYPE "lower-is-constant-intrinsic" |
Definition at line 40 of file LowerConstantIntrinsics.cpp.
|
static |
Definition at line 47 of file LowerConstantIntrinsics.cpp.
References llvm::CallingConv::C, llvm::ConstantInt::getFalse(), llvm::ConstantInt::getTrue(), and II.
Referenced by llvm::lowerConstantIntrinsics().
|
static |
Definition at line 54 of file LowerConstantIntrinsics.cpp.
References llvm::GenericDomTreeUpdater< DerivedT, DomTreeT, PostDomTreeT >::applyUpdates(), llvm::SetVector< T, Vector, Set, N >::begin(), llvm::BranchInst::Create(), llvm::SetVector< T, Vector, Set, N >::end(), llvm::Instruction::eraseFromParent(), llvm::Instruction::getDebugLoc(), llvm::User::getOperand(), llvm::ilist_detail::node_parent_access< NodeTy, ParentTy >::getParent(), llvm::BranchInst::getSuccessor(), II, llvm::BranchInst::isUnconditional(), llvm::PatternMatch::m_One(), llvm::PatternMatch::m_Zero(), llvm::PatternMatch::match(), Other, llvm::pred_empty(), llvm::replaceAndRecursivelySimplify(), and llvm::Instruction::setDebugLoc().
Referenced by llvm::lowerConstantIntrinsics().
STATISTIC | ( | IsConstantIntrinsicsHandled | , |
"Number of 'is.constant' intrinsic calls handled" | |||
) |
STATISTIC | ( | ObjectSizeIntrinsicsHandled | , |
"Number of 'objectsize' intrinsic calls handled" | |||
) |