LLVM 22.0.0git
|
#include "SPIRV.h"
#include "SPIRVBuiltins.h"
#include "SPIRVSubtarget.h"
#include "SPIRVTargetMachine.h"
#include "SPIRVUtils.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/InstIterator.h"
#include "llvm/IR/InstVisitor.h"
#include "llvm/IR/IntrinsicsSPIRV.h"
#include "llvm/IR/PatternMatch.h"
#include "llvm/IR/TypedPointerType.h"
#include "llvm/Transforms/Utils/Local.h"
#include <cassert>
#include <queue>
#include <unordered_set>
#include "SPIRVGenTables.inc"
Go to the source code of this file.
Namespaces | |
namespace | llvm |
This is an optimization pass for GlobalISel generic memory operations. | |
namespace | llvm::SPIRV |
Macros | |
#define | GET_BuiltinGroup_DECL |
#define GET_BuiltinGroup_DECL |
Definition at line 53 of file SPIRVEmitIntrinsics.cpp.
|
static |
Definition at line 1466 of file SPIRVEmitIntrinsics.cpp.
References B(), createSaturatedConversionDecoration(), llvm::dyn_cast(), llvm::CallBase::getCalledFunction(), and I.
|
static |
Definition at line 1435 of file SPIRVEmitIntrinsics.cpp.
References B(), llvm::MDNode::get(), llvm::MetadataAsValue::get(), I, and setInsertPointAfterDef().
Referenced by createRoundingModeDecoration(), and createSaturatedConversionDecoration().
|
static |
Definition at line 1443 of file SPIRVEmitIntrinsics.cpp.
References B(), createDecorationIntrinsic(), llvm::ConstantAsMetadata::get(), llvm::MDNode::get(), llvm::Type::getInt32Ty(), I, and llvm::Int32Ty.
|
static |
Definition at line 1456 of file SPIRVEmitIntrinsics.cpp.
References B(), createDecorationIntrinsic(), llvm::ConstantAsMetadata::get(), llvm::MDNode::get(), llvm::Type::getInt32Ty(), I, and llvm::Int32Ty.
Referenced by addSaturatedDecorationToIntrinsic().
|
static |
Definition at line 358 of file SPIRVEmitIntrinsics.cpp.
References B(), llvm::MDNode::get(), llvm::MDString::get(), llvm::MetadataAsValue::get(), I, reportFatalOnTokenType(), and setInsertPointAfterDef().
|
inlinestatic |
Definition at line 971 of file SPIRVEmitIntrinsics.cpp.
References llvm::dyn_cast(), llvm::SPIRVGlobalRegistry::findDeducedElementType(), llvm::getTypedPointerWrapper(), I, and llvm::isUntypedPointerTy().
|
static |
Definition at line 2276 of file SPIRVEmitIntrinsics.cpp.
References assert(), llvm::BitWidth, llvm::SPIRV::FPFastMathDefaultInfoVector::computeFPFastMathDefaultInfoVecIndex(), and llvm::SmallVectorTemplateCommon< T, typename >::size().
|
static |
Definition at line 2634 of file SPIRVEmitIntrinsics.cpp.
References F, llvm::SPIRVGlobalRegistry::findDeducedElementType(), llvm::FunctionType::get(), llvm::getPointerAddressSpace(), llvm::Value::getType(), llvm::getTypedPointerWrapper(), llvm::Type::isPointerTy(), and llvm::SmallVectorTemplateBase< T, bool >::push_back().
|
static |
Definition at line 2254 of file SPIRVEmitIntrinsics.cpp.
References llvm::SmallVectorImpl< T >::emplace_back(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), F, llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), llvm::Type::getDoubleTy(), llvm::Type::getFloatTy(), and llvm::Type::getHalfTy().
|
static |
Definition at line 584 of file SPIRVEmitIntrinsics.cpp.
References llvm::Function::getContext(), llvm::Type::getInt8Ty(), OpIdx, and llvm::StringRef::starts_with().
INITIALIZE_PASS | ( | SPIRVEmitIntrinsics | , |
"emit-intrinsics" | , | ||
"SPIRV emit intrinsics" | , | ||
false | , | ||
false | ) const |
Definition at line 306 of file SPIRVEmitIntrinsics.cpp.
References llvm::cast(), const, I, inline, and llvm::isa().
Definition at line 319 of file SPIRVEmitIntrinsics.cpp.
References llvm::isa().
Definition at line 396 of file SPIRVEmitIntrinsics.cpp.
References F, llvm::isa(), llvm::isPointerTy(), and llvm::CallingConv::SPIR_KERNEL.
|
static |
Definition at line 314 of file SPIRVEmitIntrinsics.cpp.
References I, and llvm::isa().
|
inlinestatic |
Definition at line 351 of file SPIRVEmitIntrinsics.cpp.
References I, and llvm::report_fatal_error().
Referenced by emitAssignName().
|
static |
Definition at line 340 of file SPIRVEmitIntrinsics.cpp.
References llvm::dyn_cast(), and I.
|
inlinestatic |
Definition at line 403 of file SPIRVEmitIntrinsics.cpp.
References llvm::dyn_cast(), llvm::SPIRVGlobalRegistry::findMutated(), llvm::CallBase::getCalledFunction(), I, llvm::CallBase::isIndirectCall(), llvm::CallBase::isInlineAsm(), and llvm::Function::isIntrinsic().
|
static |
Definition at line 332 of file SPIRVEmitIntrinsics.cpp.
Referenced by createDecorationIntrinsic(), and emitAssignName().
|
static |
Definition at line 325 of file SPIRVEmitIntrinsics.cpp.
References B(), I, and llvm::isa().