LLVM
8.0.1
|
#include "llvm/Analysis/PHITransAddr.h"
#include "llvm/Analysis/InstructionSimplify.h"
#include "llvm/Analysis/ValueTracking.h"
#include "llvm/Config/llvm-config.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/Dominators.h"
#include "llvm/IR/Instructions.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
Go to the source code of this file.
Functions | |
static bool | CanPHITrans (Instruction *Inst) |
static bool | VerifySubExpr (Value *Expr, SmallVectorImpl< Instruction *> &InstInputs) |
static void | RemoveInstInputs (Value *V, SmallVectorImpl< Instruction *> &InstInputs) |
|
static |
Definition at line 26 of file PHITransAddr.cpp.
References llvm::MCID::Add, llvm::Instruction::getOpcode(), llvm::User::getOperand(), and llvm::isSafeToSpeculativelyExecute().
Referenced by llvm::PHITransAddr::IsPotentiallyPHITranslatable(), RemoveInstInputs(), and VerifySubExpr().
|
static |
Definition at line 123 of file PHITransAddr.cpp.
References llvm::MCID::Add, assert(), llvm::SmallVectorTemplateCommon< T, typename >::begin(), C, CanPHITrans(), llvm::DominatorTree::dominates(), llvm::dyn_cast(), llvm::SmallVectorTemplateCommon< T >::end(), llvm::SmallVectorTemplateCommon< T, typename >::end(), llvm::lltok::equal, llvm::SmallVectorImpl< T >::erase(), llvm::find(), GEP, llvm::ConstantExpr::getAdd(), llvm::ConstantExpr::getCast(), llvm::User::getNumOperands(), llvm::Instruction::getOpcode(), llvm::User::getOperand(), llvm::Instruction::getParent(), llvm::BasicBlock::getParent(), llvm::Value::getType(), I, llvm::is_contained(), isInput(), llvm::isSafeToSpeculativelyExecute(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::SimplifyAddInst(), llvm::SimplifyGEPInst(), llvm::SmallVectorBase::size(), and llvm::Value::users().
|
static |
Definition at line 58 of file PHITransAddr.cpp.
References CanPHITrans(), llvm::dyn_cast(), llvm::SmallVectorTemplateCommon< T >::end(), llvm::SmallVectorImpl< T >::erase(), llvm::errs(), llvm::find(), llvm::User::getNumOperands(), llvm::User::getOperand(), I, and llvm_unreachable.
Referenced by llvm::PHITransAddr::Verify().