LLVM  8.0.1
AMDGPU Directory Reference
Directory dependency graph for AMDGPU:
lib/Target/AMDGPU

Directories

directory  AsmParser
 
directory  Disassembler
 
directory  InstPrinter
 
directory  MCTargetDesc
 
directory  TargetInfo
 
directory  Utils
 

Files

file  AMDGPU.h [code]
 
file  AMDGPUAliasAnalysis.cpp [code]
 This is the AMGPU address space based alias analysis pass.
 
file  AMDGPUAliasAnalysis.h [code]
 This is the AMGPU address space based alias analysis pass.
 
file  AMDGPUAlwaysInlinePass.cpp [code]
 This pass marks all internal functions as always_inline and creates duplicates of all other functions and marks the duplicates as always_inline.
 
file  AMDGPUAnnotateKernelFeatures.cpp [code]
 
file  AMDGPUAnnotateUniformValues.cpp [code]
 This pass adds amdgpu.uniform metadata to IR values so this information can be used during instruction selection.
 
file  AMDGPUArgumentUsageInfo.cpp [code]
 
file  AMDGPUArgumentUsageInfo.h [code]
 
file  AMDGPUAsmPrinter.cpp [code]
 The AMDGPUAsmPrinter is used to print both assembly string and also binary code.
 
file  AMDGPUAsmPrinter.h [code]
 AMDGPU Assembly printer class.
 
file  AMDGPUAtomicOptimizer.cpp [code]
 This pass optimizes atomic operations by using a single lane of a wavefront to perform the atomic operation, thus reducing contention on that memory location.
 
file  AMDGPUCallLowering.cpp [code]
 This file implements the lowering of LLVM calls to machine code calls for GlobalISel.
 
file  AMDGPUCallLowering.h [code]
 This file describes how to lower LLVM calls to machine code calls.
 
file  AMDGPUCodeGenPrepare.cpp [code]
 This pass does misc.
 
file  AMDGPUFixFunctionBitcasts.cpp [code]
 Promote indirect (bitcast) calls to direct calls when they are statically known to be direct.
 
file  AMDGPUFrameLowering.cpp [code]
 
file  AMDGPUFrameLowering.h [code]
 Interface to describe a layout of a stack frame on an AMDGPU target.
 
file  AMDGPUHSAMetadataStreamer.cpp [code]
 AMDGPU HSA Metadata Streamer.
 
file  AMDGPUHSAMetadataStreamer.h [code]
 AMDGPU HSA Metadata Streamer.
 
file  AMDGPUInline.cpp [code]
 This is AMDGPU specific replacement of the standard inliner.
 
file  AMDGPUInstrInfo.cpp [code]
 Implementation of the TargetInstrInfo class that is common to all AMD GPUs.
 
file  AMDGPUInstrInfo.h [code]
 Contains the definition of a TargetInstrInfo class that is common to all AMD GPUs.
 
file  AMDGPUInstructionSelector.cpp [code]
 This file implements the targeting of the InstructionSelector class for AMDGPU.
 
file  AMDGPUInstructionSelector.h [code]
 This file declares the targeting of the InstructionSelector class for AMDGPU.
 
file  AMDGPUIntrinsicInfo.cpp [code]
 AMDGPU Implementation of the IntrinsicInfo class.
 
file  AMDGPUIntrinsicInfo.h [code]
 Interface for the AMDGPU Implementation of the Intrinsic Info class.
 
file  AMDGPUISelDAGToDAG.cpp [code]
 Defines an instruction selector for the AMDGPU target.
 
file  AMDGPUISelLowering.cpp [code]
 This is the parent TargetLowering class for hardware code gen targets.
 
file  AMDGPUISelLowering.h [code]
 Interface definition of the TargetLowering class that is common to all AMD GPUs.
 
file  AMDGPULegalizerInfo.cpp [code]
 This file implements the targeting of the Machinelegalizer class for AMDGPU.
 
file  AMDGPULegalizerInfo.h [code]
 This file declares the targeting of the Machinelegalizer class for AMDGPU.
 
file  AMDGPULibCalls.cpp [code]
 This file does AMD library function optimizations.
 
file  AMDGPULibFunc.cpp [code]
 
file  AMDGPULibFunc.h [code]
 
file  AMDGPULowerIntrinsics.cpp [code]
 
file  AMDGPULowerKernelArguments.cpp [code]
 
file  AMDGPULowerKernelAttributes.cpp [code]
 
file  AMDGPUMachineCFGStructurizer.cpp [code]
 
file  AMDGPUMachineFunction.cpp [code]
 
file  AMDGPUMachineFunction.h [code]
 
file  AMDGPUMachineModuleInfo.cpp [code]
 AMDGPU Machine Module Info.
 
file  AMDGPUMachineModuleInfo.h [code]
 AMDGPU Machine Module Info.
 
file  AMDGPUMacroFusion.cpp [code]
 
file  AMDGPUMacroFusion.h [code]
 
file  AMDGPUMCInstLower.cpp [code]
 Code to lower AMDGPU MachineInstrs to their corresponding MCInst.
 
file  AMDGPUOpenCLEnqueuedBlockLowering.cpp [code]
 
file  AMDGPUPerfHintAnalysis.cpp [code]
 Analyzes if a function potentially memory bound and if a kernel kernel may benefit from limiting number of waves to reduce cache thrashing.
 
file  AMDGPUPerfHintAnalysis.h [code]
 Analyzes if a function potentially memory bound and if a kernel kernel may benefit from limiting number of waves to reduce cache thrashing.
 
file  AMDGPUPromoteAlloca.cpp [code]
 
file  AMDGPUPTNote.h [code]
 Enums and constants for AMDGPU PT_NOTE sections.
 
file  AMDGPURegAsmNames.inc.cpp [code]
 
file  AMDGPURegisterBankInfo.cpp [code]
 This file implements the targeting of the RegisterBankInfo class for AMDGPU.
 
file  AMDGPURegisterBankInfo.h [code]
 This file declares the targeting of the RegisterBankInfo class for AMDGPU.
 
file  AMDGPURegisterInfo.cpp [code]
 Parent TargetRegisterInfo class common to all hw codegen targets.
 
file  AMDGPURegisterInfo.h [code]
 TargetRegisterInfo interface that is implemented by all hw codegen targets.
 
file  AMDGPURewriteOutArguments.cpp [code]
 
file  AMDGPUSubtarget.cpp [code]
 Implements the AMDGPU specific subclass of TargetSubtarget.
 
file  AMDGPUSubtarget.h [code]
 AMDGPU specific subclass of TargetSubtarget.
 
file  AMDGPUTargetMachine.cpp [code]
 The AMDGPU target machine contains all of the hardware specific information needed to emit code for R600 and SI GPUs.
 
file  AMDGPUTargetMachine.h [code]
 The AMDGPU TargetMachine interface definition for hw codgen targets.
 
file  AMDGPUTargetObjectFile.cpp [code]
 
file  AMDGPUTargetObjectFile.h [code]
 This file declares the AMDGPU-specific subclass of TargetLoweringObjectFile.
 
file  AMDGPUTargetTransformInfo.cpp [code]
 
file  AMDGPUTargetTransformInfo.h [code]
 This file a TargetTransformInfo::Concept conforming object specific to the AMDGPU target machine.
 
file  AMDGPUUnifyDivergentExitNodes.cpp [code]
 
 
file  AMDILCFGStructurizer.cpp [code]
 
file  AMDKernelCodeT.h [code]
 
file  GCNDPPCombine.cpp [code]
 
file  GCNHazardRecognizer.cpp [code]
 
file  GCNHazardRecognizer.h [code]
 
file  GCNILPSched.cpp [code]
 
file  GCNIterativeScheduler.cpp [code]
 
file  GCNIterativeScheduler.h [code]
 
file  GCNMinRegStrategy.cpp [code]
 
file  GCNRegPressure.cpp [code]
 
file  GCNRegPressure.h [code]
 
file  GCNSchedStrategy.cpp [code]
 This contains a MachineSchedStrategy implementation for maximizing wave occupancy on GCN hardware.
 
file  GCNSchedStrategy.h [code]
 
file  R600AsmPrinter.cpp [code]
 The R600AsmPrinter is used to print both assembly string and also binary code.
 
file  R600AsmPrinter.h [code]
 R600 Assembly printer class.
 
file  R600ClauseMergePass.cpp [code]
 R600EmitClauseMarker pass emits CFAlu instruction in a conservative maneer.
 
file  R600ControlFlowFinalizer.cpp [code]
 This pass compute turns all control flow pseudo instructions into native one computing their address on the fly; it also sets STACK_SIZE info.
 
file  R600Defines.h [code]
 
file  R600EmitClauseMarkers.cpp [code]
 Add CF_ALU.
 
file  R600ExpandSpecialInstrs.cpp [code]
 Vector, Reduction, and Cube instructions need to fill the entire instruction group to work correctly.
 
file  R600FrameLowering.cpp [code]
 
file  R600FrameLowering.h [code]
 
file  R600InstrInfo.cpp [code]
 R600 Implementation of TargetInstrInfo.
 
file  R600InstrInfo.h [code]
 Interface definition for R600InstrInfo.
 
file  R600ISelLowering.cpp [code]
 Custom DAG lowering for R600.
 
file  R600ISelLowering.h [code]
 R600 DAG Lowering interface definition.
 
file  R600MachineFunctionInfo.cpp [code]
 
file  R600MachineFunctionInfo.h [code]
 
file  R600MachineScheduler.cpp [code]
 R600 Machine Scheduler interface.
 
file  R600MachineScheduler.h [code]
 R600 Machine Scheduler interface.
 
file  R600OpenCLImageTypeLoweringPass.cpp [code]
 This pass resolves calls to OpenCL image attribute, image resource ID and sampler resource ID getter functions.
 
file  R600OptimizeVectorRegisters.cpp [code]
 This pass merges inputs of swizzeable instructions into vector sharing common data and/or have enough undef subreg using swizzle abilities.
 
file  R600Packetizer.cpp [code]
 This pass implements instructions packetization for R600.
 
file  R600RegisterInfo.cpp [code]
 R600 implementation of the TargetRegisterInfo class.
 
file  R600RegisterInfo.h [code]
 Interface definition for R600RegisterInfo.
 
file  SIAddIMGInit.cpp [code]
 Any MIMG instructions that use tfe or lwe require an initialization of the result register that will be written in the case of a memory access failure The required code is also added to tie this init code to the result of the img instruction.
 
file  SIAnnotateControlFlow.cpp [code]
 Annotates the control flow with hardware specific intrinsics.
 
file  SIDebuggerInsertNops.cpp [code]
 Inserts one nop instruction for each high level source statement for debugger usage.
 
file  SIDefines.h [code]
 
file  SIFixSGPRCopies.cpp [code]
 Copies from VGPR to SGPR registers are illegal and the register coalescer will sometimes generate these illegal copies in situations like this:
 
file  SIFixupVectorISel.cpp [code]
 SIFixupVectorISel pass cleans up post ISEL Vector issues.
 
file  SIFixVGPRCopies.cpp [code]
 Add implicit use of exec to vector register copies.
 
file  SIFixWWMLiveness.cpp [code]
 Computations in WWM can overwrite values in inactive channels for variables that the register allocator thinks are dead.
 
file  SIFoldOperands.cpp [code]
 
file  SIFormMemoryClauses.cpp [code]
 This pass creates bundles of SMEM and VMEM instructions forming memory clauses if XNACK is enabled.
 
file  SIFrameLowering.cpp [code]
 
file  SIFrameLowering.h [code]
 
file  SIInsertSkips.cpp [code]
 This pass inserts branches on the 0 exec mask over divergent branches branches when it's expected that jumping over the untaken control flow will be cheaper than having every workitem no-op through it.
 
file  SIInsertWaitcnts.cpp [code]
 Insert wait instructions for memory reads and writes.
 
file  SIInstrInfo.cpp [code]
 SI Implementation of TargetInstrInfo.
 
file  SIInstrInfo.h [code]
 Interface definition for SIInstrInfo.
 
file  SIISelLowering.cpp [code]
 Custom DAG lowering for SI.
 
file  SIISelLowering.h [code]
 SI DAG Lowering interface definition.
 
file  SILoadStoreOptimizer.cpp [code]
 
file  SILowerControlFlow.cpp [code]
 This pass lowers the pseudo control flow instructions to real machine instructions.
 
file  SILowerI1Copies.cpp [code]
 
file  SIMachineFunctionInfo.cpp [code]
 
file  SIMachineFunctionInfo.h [code]
 
file  SIMachineScheduler.cpp [code]
 SI Machine Scheduler interface.
 
file  SIMachineScheduler.h [code]
 SI Machine Scheduler interface.
 
file  SIMemoryLegalizer.cpp [code]
 Memory legalizer - implements memory model.
 
file  SIModeRegister.cpp [code]
 This pass inserts changes to the Mode register settings as required.
 
file  SIOptimizeExecMasking.cpp [code]
 
file  SIOptimizeExecMaskingPreRA.cpp [code]
 This pass removes redundant S_OR_B64 instructions enabling lanes in the exec.
 
file  SIPeepholeSDWA.cpp [code]
 
file  SIProgramInfo.h [code]
 Defines struct to track resource usage for kernels and entry functions.
 
file  SIRegisterInfo.cpp [code]
 SI implementation of the TargetRegisterInfo class.
 
file  SIRegisterInfo.h [code]
 Interface definition for SIRegisterInfo.
 
file  SIShrinkInstructions.cpp [code]
 
file  SIWholeQuadMode.cpp [code]
 This pass adds instructions to enable whole quad mode for pixel shaders, and whole wavefront mode for all programs.