LLVM API Documentation
#include "llvm/Analysis/PHITransAddr.h"
#include "llvm/Analysis/InstructionSimplify.h"
#include "llvm/Analysis/ValueTracking.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 bool CanPHITrans | ( | Instruction * | Inst | ) | [static] |
Definition at line 25 of file PHITransAddr.cpp.
References llvm::Instruction::getOpcode(), llvm::User::getOperand(), and llvm::isSafeToSpeculativelyExecute().
Referenced by llvm::PHITransAddr::IsPotentiallyPHITranslatable(), and VerifySubExpr().
static void RemoveInstInputs | ( | Value * | V, |
SmallVectorImpl< Instruction * > & | InstInputs | ||
) | [static] |
Definition at line 123 of file PHITransAddr.cpp.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::dyn_cast(), llvm::SmallVectorTemplateCommon< T, typename >::end(), llvm::SmallVectorImpl< T >::erase(), llvm::User::getNumOperands(), llvm::User::getOperand(), and I.
static bool VerifySubExpr | ( | Value * | Expr, |
SmallVectorImpl< Instruction * > & | InstInputs | ||
) | [static] |
Definition at line 57 of file PHITransAddr.cpp.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), CanPHITrans(), llvm::dyn_cast(), llvm::SmallVectorTemplateCommon< T, typename >::end(), llvm::SmallVectorImpl< T >::erase(), llvm::errs(), llvm::User::getNumOperands(), llvm::User::getOperand(), I, and llvm_unreachable.
Referenced by llvm::PHITransAddr::Verify().