LLVM 20.0.0git
|
This pass marks all internal functions as always_inline and creates duplicates of all other functions and marks the duplicates as always_inline. More...
#include "AMDGPU.h"
#include "AMDGPUTargetMachine.h"
#include "Utils/AMDGPUBaseInfo.h"
#include "llvm/CodeGen/CommandFlags.h"
#include "llvm/IR/Module.h"
#include "llvm/Pass.h"
#include "llvm/Support/CommandLine.h"
Go to the source code of this file.
Functions | |
static INITIALIZE_PASS(AMDGPUAlwaysInline, "amdgpu-always-inline", "AMDGPU Inline All Functions", false, false) char AMDGPUAlwaysInline void | recursivelyVisitUsers (GlobalValue &GV, SmallPtrSetImpl< Function * > &FuncsToAlwaysInline) |
static bool | alwaysInlineImpl (Module &M, bool GlobalOpt) |
This pass marks all internal functions as always_inline and creates duplicates of all other functions and marks the duplicates as always_inline.
Definition in file AMDGPUAlwaysInlinePass.cpp.
Definition at line 89 of file AMDGPUAlwaysInlinePass.cpp.
References A, llvm::Triple::amdgcn, llvm::SmallPtrSetImpl< PtrType >::count(), llvm::SmallPtrSetImplBase::empty(), llvm::AMDGPUTargetMachine::EnableFunctionCalls, llvm::AMDGPUTargetMachine::EnableLowerModuleLDS, F, llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::GlobalValue::InternalLinkage, llvm::AMDGPUAS::LOCAL_ADDRESS, recursivelyVisitUsers(), and llvm::AMDGPUAS::REGION_ADDRESS.
Referenced by llvm::AMDGPUAlwaysInlinePass::run().
|
static |
Definition at line 56 of file AMDGPUAlwaysInlinePass.cpp.
References llvm::append_range(), F, I, llvm::SmallPtrSetImpl< PtrType >::insert(), and llvm::AMDGPU::isEntryFunctionCC().
Referenced by alwaysInlineImpl().