|
LLVM 22.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/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 39 of file LowerConstantIntrinsics.cpp.
|
static |
Definition at line 46 of file LowerConstantIntrinsics.cpp.
References llvm::CallingConv::C, llvm::dyn_cast(), llvm::ConstantInt::getFalse(), llvm::ConstantInt::getTrue(), and II.
Referenced by llvm::lowerConstantIntrinsics().
|
static |
Definition at line 53 of file LowerConstantIntrinsics.cpp.
References llvm::GenericDomTreeUpdater< DerivedT, DomTreeT, PostDomTreeT >::applyUpdates(), llvm::SetVector< T, Vector, Set, N >::begin(), llvm::BranchInst::Create(), llvm::DominatorTreeBase< BasicBlock, false >::Delete, llvm::dyn_cast_or_null(), 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(), llvm::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" | ) |