LLVM  8.0.1
Macros | Functions | Variables
AMDGPURewriteOutArguments.cpp File Reference
#include "AMDGPU.h"
#include "Utils/AMDGPUBaseInfo.h"
#include "llvm/Analysis/MemoryDependenceAnalysis.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/Analysis/MemoryLocation.h"
#include "llvm/IR/Argument.h"
#include "llvm/IR/Attributes.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/Type.h"
#include "llvm/IR/Use.h"
#include "llvm/IR/User.h"
#include "llvm/IR/Value.h"
#include "llvm/Pass.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#include <utility>
Include dependency graph for AMDGPURewriteOutArguments.cpp:

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 76 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 ( NumOutArgumentsReplaced  ,
"Number out arguments moved to struct return values"   
)

◆ STATISTIC() [2/2]

STATISTIC ( NumOutArgumentFunctionsReplaced  ,
"Number of functions with 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))
static

◆ Arguments

AMDGPU Rewrite Out Arguments

Definition at line 131 of file AMDGPURewriteOutArguments.cpp.

◆ DEBUG_TYPE

DEBUG_TYPE

Definition at line 131 of file AMDGPURewriteOutArguments.cpp.

◆ false

AMDGPU Rewrite Out false

Definition at line 131 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))
static