|
LLVM
4.0.0
|
#include "NVPTX.h"#include "MCTargetDesc/NVPTXBaseInfo.h"#include "llvm/ADT/DenseSet.h"#include "llvm/ADT/Optional.h"#include "llvm/ADT/SetVector.h"#include "llvm/IR/Function.h"#include "llvm/IR/InstIterator.h"#include "llvm/IR/Instructions.h"#include "llvm/IR/Operator.h"#include "llvm/Support/Debug.h"#include "llvm/Support/raw_ostream.h"#include "llvm/Transforms/Utils/Local.h"#include "llvm/Transforms/Utils/ValueMapper.h"Go to the source code of this file.
Namespaces | |
| llvm | |
| Compute iterated dominance frontiers using a linear time algorithm. | |
Macros | |
| #define | DEBUG_TYPE "nvptx-infer-addrspace" |
| #define DEBUG_TYPE "nvptx-infer-addrspace" |
Definition at line 92 of file NVPTXInferAddressSpaces.cpp.
|
static |
Definition at line 195 of file NVPTXInferAddressSpaces.cpp.
References llvm::ADDRESS_SPACE_GENERIC, assert(), llvm::Type::getPointerAddressSpace(), llvm::Value::getType(), llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::insert(), and llvm::Type::isPointerTy().
Referenced by collectGenericAddressExpressions().
|
static |
Definition at line 329 of file NVPTXInferAddressSpaces.cpp.
References assert(), llvm::ConstantExpr::getBitCast(), llvm::User::getNumOperands(), llvm::ConstantExpr::getOpcode(), llvm::User::getOperand(), llvm::Type::getPointerAddressSpace(), llvm::Type::getPointerElementType(), llvm::Type::getPointerTo(), llvm::Intrinsic::getType(), llvm::Value::getType(), llvm::ConstantExpr::getWithOperands(), llvm::ValueMap< KeyT, ValueT, Config >::lookup(), and llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back().
Referenced by cloneValueWithNewAddressSpace().
|
static |
Definition at line 271 of file NVPTXInferAddressSpaces.cpp.
References assert(), llvm::GetElementPtrInst::Create(), llvm::PHINode::Create(), GEP, llvm::Instruction::getOpcode(), llvm::User::getOperand(), llvm::PHINode::getOperandNumForIncomingValue(), llvm::Type::getPointerAddressSpace(), llvm::Type::getPointerElementType(), llvm::Type::getPointerTo(), llvm::GetElementPtrInst::getSourceElementType(), llvm::Value::getType(), I, llvm::GetElementPtrInst::idx_begin(), llvm::GetElementPtrInst::idx_end(), llvm::GetElementPtrInst::isInBounds(), llvm::Type::isPointerTy(), llvm_unreachable, llvm::User::operands(), operandWithNewAddressSpaceOrCreateUndef(), and llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back().
Referenced by cloneValueWithNewAddressSpace().
|
static |
Definition at line 378 of file NVPTXInferAddressSpaces.cpp.
References llvm::ADDRESS_SPACE_GENERIC, assert(), cloneConstantExprWithNewAddressSpace(), cloneInstructionWithNewAddressSpace(), llvm::Type::getPointerAddressSpace(), llvm::Value::getType(), and I.
Definition at line 209 of file NVPTXInferAddressSpaces.cpp.
References appendsGenericAddressExpressionToPostorderStack(), getPointerOperands(), I, and llvm::instructions().
|
static |
Definition at line 175 of file NVPTXInferAddressSpaces.cpp.
References assert(), llvm::Operator::getOpcode(), llvm::User::getOperand(), and llvm_unreachable.
Referenced by collectGenericAddressExpressions().
| INITIALIZE_PASS | ( | NVPTXInferAddressSpaces | , |
| "nvptx-infer-addrspace" | , | ||
| "Infer address spaces" | , | ||
| false | , | ||
| false | |||
| ) | const |
Definition at line 150 of file NVPTXInferAddressSpaces.cpp.
Definition at line 404 of file NVPTXInferAddressSpaces.cpp.
References llvm::ADDRESS_SPACE_GENERIC.
|
static |
Definition at line 249 of file NVPTXInferAddressSpaces.cpp.
References llvm::Use::get(), llvm::UndefValue::get(), llvm::Type::getPointerElementType(), llvm::Type::getPointerTo(), llvm::Value::getType(), llvm::ValueMap< KeyT, ValueT, Config >::lookup(), and llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back().
Referenced by cloneInstructionWithNewAddressSpace().
1.8.6