LLVM 19.0.0git
Macros | Functions | Variables
AMDGPURewriteOutArguments.cpp File Reference
#include "AMDGPU.h"
#include "Utils/AMDGPUBaseInfo.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/Analysis/MemoryDependenceAnalysis.h"
#include "llvm/IR/AttributeMask.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/Instructions.h"
#include "llvm/InitializePasses.h"
#include "llvm/Pass.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "amdgpu-rewrite-out-arguments"
 

Functions

 STATISTIC (NumOutArgumentsReplaced, "Number out arguments moved to struct return values")
 
 STATISTIC (NumOutArgumentFunctionsReplaced, "Number of functions with out arguments moved to struct return values")
 
 INITIALIZE_PASS_BEGIN (AMDGPURewriteOutArguments, DEBUG_TYPE, "AMDGPU Rewrite Out Arguments", false, false) INITIALIZE_PASS_END(AMDGPURewriteOutArguments
 

Variables

static cl::opt< boolAnyAddressSpace ("amdgpu-any-address-space-out-arguments", cl::desc("Replace pointer out arguments with " "struct returns for non-private address space"), cl::Hidden, cl::init(false))
 
static cl::opt< unsignedMaxNumRetRegs ("amdgpu-max-return-arg-num-regs", cl::desc("Approximately limit number of return registers for replacing out arguments"), cl::Hidden, cl::init(16))
 
 DEBUG_TYPE
 
AMDGPU Rewrite Out Arguments
 
AMDGPU Rewrite Out false
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "amdgpu-rewrite-out-arguments"

Definition at line 57 of file AMDGPURewriteOutArguments.cpp.

Function Documentation

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( AMDGPURewriteOutArguments  ,
DEBUG_TYPE  ,
"AMDGPU Rewrite Out Arguments"  ,
false  ,
false   
)

◆ STATISTIC() [1/2]

STATISTIC ( NumOutArgumentFunctionsReplaced  ,
"Number of functions with out arguments moved to struct return values"   
)

References DL.

◆ STATISTIC() [2/2]

STATISTIC ( NumOutArgumentsReplaced  ,
"Number out arguments moved to struct return values"   
)

Variable Documentation

◆ AnyAddressSpace

cl::opt< bool > AnyAddressSpace("amdgpu-any-address-space-out-arguments", cl::desc("Replace pointer out arguments with " "struct returns for non-private address space"), cl::Hidden, cl::init(false)) ( "amdgpu-any-address-space-out-arguments"  ,
cl::desc("Replace pointer out arguments with " "struct returns for non-private address space")  ,
cl::Hidden  ,
cl::init(false)   
)
static

◆ Arguments

AMDGPU Rewrite Out Arguments

Definition at line 109 of file AMDGPURewriteOutArguments.cpp.

◆ DEBUG_TYPE

DEBUG_TYPE

Definition at line 108 of file AMDGPURewriteOutArguments.cpp.

◆ false

AMDGPU Rewrite Out false

Definition at line 109 of file AMDGPURewriteOutArguments.cpp.

◆ MaxNumRetRegs

cl::opt< unsigned > MaxNumRetRegs("amdgpu-max-return-arg-num-regs", cl::desc("Approximately limit number of return registers for replacing out arguments"), cl::Hidden, cl::init(16)) ( "amdgpu-max-return-arg-num-regs"  ,
cl::desc("Approximately limit number of return registers for replacing out arguments")  ,
cl::Hidden  ,
cl::init(16)   
)
static