LLVM 22.0.0git
R600TargetMachine.cpp File Reference

This file contains both AMDGPU-R600 target machine and the CodeGen pass builder. More...

#include "R600TargetMachine.h"
#include "R600.h"
#include "R600MachineFunctionInfo.h"
#include "R600MachineScheduler.h"
#include "R600TargetTransformInfo.h"
#include "llvm/Passes/CodeGenPassBuilder.h"
#include "llvm/Transforms/Scalar.h"
#include <optional>

Go to the source code of this file.

Classes

class  R600CodeGenPassBuilder

Functions

static ScheduleDAGInstrscreateR600MachineScheduler (MachineSchedContext *C)

Variables

static cl::opt< boolEnableR600StructurizeCFG ("r600-ir-structurize", cl::desc("Use StructurizeCFG IR pass"), cl::init(true))
static cl::opt< boolEnableR600IfConvert ("r600-if-convert", cl::desc("Use if conversion pass"), cl::ReallyHidden, cl::init(true))
static cl::opt< bool, true > EnableAMDGPUFunctionCallsOpt ("amdgpu-function-calls", cl::desc("Enable AMDGPU function call support"), cl::location(AMDGPUTargetMachine::EnableFunctionCalls), cl::init(true), cl::Hidden)
static MachineSchedRegistry R600SchedRegistry ("r600", "Run R600's custom scheduler", createR600MachineScheduler)

Detailed Description

This file contains both AMDGPU-R600 target machine and the CodeGen pass builder.

The target machine contains all of the hardware specific information needed to emit code for R600 GPUs and the CodeGen pass builder handles the pass pipeline for new pass manager.

Definition in file R600TargetMachine.cpp.

Function Documentation

◆ createR600MachineScheduler()

ScheduleDAGInstrs * createR600MachineScheduler ( MachineSchedContext * C)
static

Variable Documentation

◆ EnableAMDGPUFunctionCallsOpt

cl::opt< bool, true > EnableAMDGPUFunctionCallsOpt("amdgpu-function-calls", cl::desc("Enable AMDGPU function call support"), cl::location(AMDGPUTargetMachine::EnableFunctionCalls), cl::init(true), cl::Hidden) ( "amdgpu-function-calls" ,
cl::desc("Enable AMDGPU function call support") ,
cl::location(AMDGPUTargetMachine::EnableFunctionCalls) ,
cl::init(true) ,
cl::Hidden  )
static

◆ EnableR600IfConvert

cl::opt< bool > EnableR600IfConvert("r600-if-convert", cl::desc("Use if conversion pass"), cl::ReallyHidden, cl::init(true)) ( "r600-if-convert" ,
cl::desc("Use if conversion pass") ,
cl::ReallyHidden ,
cl::init(true)  )
static

◆ EnableR600StructurizeCFG

cl::opt< bool > EnableR600StructurizeCFG("r600-ir-structurize", cl::desc("Use StructurizeCFG IR pass"), cl::init(true)) ( "r600-ir-structurize" ,
cl::desc("Use StructurizeCFG IR pass") ,
cl::init(true)  )
static

◆ R600SchedRegistry

MachineSchedRegistry R600SchedRegistry("r600", "Run R600's custom scheduler", createR600MachineScheduler) ( "r600" ,
"Run R600's custom scheduler" ,
createR600MachineScheduler  )
static