LLVM 20.0.0git
|
#include "llvm/Transforms/HipStdPar/HipStdPar.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/Analysis/CallGraph.h"
#include "llvm/Analysis/OptimizationRemarkEmitter.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DebugInfoMetadata.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/Module.h"
#include "llvm/Transforms/Utils/ModuleUtils.h"
#include <cassert>
#include <string>
#include <utility>
Go to the source code of this file.
Functions | |
template<typename T > | |
static void | eraseFromModule (T &ToErase) |
static bool | checkIfSupported (GlobalVariable &G) |
static void | clearModule (Module &M) |
static void | maybeHandleGlobals (Module &M) |
template<unsigned N> | |
static void | removeUnreachableFunctions (const SmallPtrSet< const Function *, N > &Reachable, Module &M) |
static bool | isAcceleratorExecutionRoot (const Function *F) |
static bool | checkIfSupported (const Function *F, const CallBase *CB) |
Variables | |
static constexpr std::pair< StringLiteral, StringLiteral > | ReplaceMap [] |
Definition at line 166 of file HipStdPar.cpp.
References llvm::DS_Error, F, llvm::CallBase::getArgOperand(), llvm::Instruction::getDebugLoc(), llvm::ilist_detail::node_parent_access< NodeTy, ParentTy >::getParent(), N, llvm::StringRef::npos, and OS.
|
inlinestatic |
Definition at line 67 of file HipStdPar.cpp.
References assert(), llvm::SmallVectorTemplateCommon< T, typename >::back(), llvm::SmallPtrSetImpl< PtrType >::contains(), llvm::DS_Error, llvm::SmallVectorBase< Size_T >::empty(), llvm::SmallVectorTemplateCommon< T, typename >::end(), G, I, llvm::SmallVectorImpl< T >::insert(), llvm::SmallPtrSetImpl< PtrType >::insert(), OS, and llvm::SmallVectorTemplateBase< T, bool >::pop_back().
Referenced by maybeHandleGlobals(), and llvm::HipStdParAcceleratorCodeSelectionPass::run().
|
inlinestatic |
Definition at line 109 of file HipStdPar.cpp.
References eraseFromModule().
Referenced by maybeHandleGlobals(), and llvm::HipStdParAcceleratorCodeSelectionPass::run().
Definition at line 62 of file HipStdPar.cpp.
References llvm::PoisonValue::get().
Referenced by clearModule(), and llvm::HipStdParAllocationInterpositionPass::run().
Definition at line 159 of file HipStdPar.cpp.
References llvm::CallingConv::AMDGPU_KERNEL, and F.
Referenced by llvm::HipStdParAcceleratorCodeSelectionPass::run().
|
inlinestatic |
Definition at line 120 of file HipStdPar.cpp.
References checkIfSupported(), clearModule(), and G.
Referenced by llvm::HipStdParAcceleratorCodeSelectionPass::run().
|
inlinestatic |
Definition at line 142 of file HipStdPar.cpp.
References llvm::CallingConv::C, llvm::SmallPtrSetImpl< PtrType >::contains(), llvm::copy_if(), F, llvm::for_each(), llvm::removeFromUsedLists(), and ToRemove.
Referenced by llvm::HipStdParAcceleratorCodeSelectionPass::run().
|
staticconstexpr |
Definition at line 236 of file HipStdPar.cpp.
Referenced by llvm::HipStdParAllocationInterpositionPass::run().