1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
llvm-mirror/lib/Target/AMDGPU
Matt Arsenault 26ff5d8529 AMDGPU: Start interpreting byref on kernel arguments
These are treated identically to value aggregates placed in the kernel
argument list. A %struct.foo or %struct.foo addrspace(4)*
byref(sizeof(%struct.foo)) align(alignof(%struct.foo)) argument should
produce the same offsets and argument metadata.

This handles all 3 kernel ABI implementations, and the two HSA
metadata emission paths.
2020-07-21 18:11:22 -04:00
..
AsmParser AMDGPU: Rename add/sub with carry out instructions 2020-07-16 13:16:30 -04:00
Disassembler [AMDGPU] Add gfx1030 target 2020-06-15 16:18:05 -07:00
MCTargetDesc [AMDGPU][MC] Corrected MTBUF parsing and decoding 2020-07-15 19:46:00 +03:00
TargetInfo
Utils [AMDGPU][MC] Corrected MTBUF parsing and decoding 2020-07-15 19:46:00 +03:00
AMDGPU.h AMDGPU/GlobalISel: Add stub reg-bank aware combiner pass 2020-05-31 20:40:14 -04:00
AMDGPU.td [AMDGPU] Add gfx1030 target 2020-06-15 16:18:05 -07:00
AMDGPUAliasAnalysis.cpp AMDGPU: Skip GetUnderlyingObject check in pointsToConstantMemory 2020-05-09 16:00:08 -04:00
AMDGPUAliasAnalysis.h Remove orphan AMDGPUAAResult::Aliases and AMDGPUAAResult::PathAliases declarations. NFC. 2020-06-25 16:00:44 +01:00
AMDGPUAlwaysInlinePass.cpp AMDGPU: Hack out noinline on functions using LDS globals 2020-04-02 14:12:07 -04:00
AMDGPUAnnotateKernelFeatures.cpp AMDGPU: Annotate functions that have stack objects 2020-05-19 18:51:00 -04:00
AMDGPUAnnotateUniformValues.cpp AMDGPU: Fix not using scalar loads for global reads in shaders 2020-06-02 09:49:23 -04:00
AMDGPUArgumentUsageInfo.cpp AMDGPU/GlobalISel: Add types to special inputs 2020-07-06 17:00:55 -04:00
AMDGPUArgumentUsageInfo.h AMDGPU: Use MCRegister for preloaded arguments 2020-07-20 13:34:28 -04:00
AMDGPUAsmPrinter.cpp [AMDGPU][CODEGEN] Added support of new inline assembler constraints 2020-07-02 17:20:15 +03:00
AMDGPUAsmPrinter.h
AMDGPUAtomicOptimizer.cpp [SVE] Eliminate calls to default-false VectorType::get() from AMDGPU 2020-05-29 17:54:17 -07:00
AMDGPUCallingConv.td [AMDGPU] Introduce more scratch registers in the ABI. 2020-05-05 23:02:58 +05:30
AMDGPUCallLowering.cpp AMDGPU: Start interpreting byref on kernel arguments 2020-07-21 18:11:22 -04:00
AMDGPUCallLowering.h AMDGPU: Start interpreting byref on kernel arguments 2020-07-21 18:11:22 -04:00
AMDGPUCodeGenPrepare.cpp [AMDGPU] Fix and simplify AMDGPUCodeGenPrepare::expandDivRem32 2020-07-08 19:14:48 +01:00
AMDGPUCombine.td AMDGPU/GlobalISel: Add stub reg-bank aware combiner pass 2020-05-31 20:40:14 -04:00
AMDGPUExportClustering.cpp [AMDGPU] Strengthen export cluster ordering 2020-05-13 23:07:37 +09:00
AMDGPUExportClustering.h [AMDGPU] Cluster shader exports 2020-05-07 19:05:38 +09:00
AMDGPUFeatures.td AMDGPU: Change internal tracking of wave size 2020-06-01 17:55:08 -04:00
AMDGPUFixFunctionBitcasts.cpp AMDGPU.h - reduce TargetMachine.h include. NFC. 2020-05-24 15:27:41 +01:00
AMDGPUFrameLowering.cpp
AMDGPUFrameLowering.h
AMDGPUGenRegisterBankInfo.def [AMDGPU][GlobalISel] Revise handling of wide loads in RegBankSelect 2020-05-11 18:10:16 -07:00
AMDGPUGISel.td [llvm] NFC: Fix trivial typo in rst and td files 2020-04-23 14:26:32 +09:00
AMDGPUGlobalISelUtils.cpp
AMDGPUGlobalISelUtils.h AMDGPU/GlobalISel: Start selecting image intrinsics 2020-03-30 17:33:04 -04:00
AMDGPUHSAMetadataStreamer.cpp AMDGPU: Start interpreting byref on kernel arguments 2020-07-21 18:11:22 -04:00
AMDGPUHSAMetadataStreamer.h AMDGPU: Start interpreting byref on kernel arguments 2020-07-21 18:11:22 -04:00
AMDGPUInline.cpp Revert "Revert "[llvm][NFC] Cleanup uses of std::function in Inlining-related APIs"" 2020-05-15 12:29:16 -07:00
AMDGPUInstrInfo.cpp
AMDGPUInstrInfo.h AMDGPU/GlobalISel: Change intrinsic ID for _L to _LZ opt 2020-04-01 13:03:02 -04:00
AMDGPUInstrInfo.td AMDGPU: Remove intermediate DAG node for trig_preop intrinsic 2020-06-16 21:06:25 -04:00
AMDGPUInstructions.td [AMDGPU] Fix and simplify AMDGPUTargetLowering::LowerUDIVREM 2020-07-08 19:14:49 +01:00
AMDGPUInstructionSelector.cpp AMDGPU: Remove outdated fixme 2020-07-20 11:41:41 -04:00
AMDGPUInstructionSelector.h [AMDGPU][GlobalISel] Select llvm.amdgcn.ballot 2020-07-13 12:14:43 +02:00
AMDGPUISelDAGToDAG.cpp [AMDGPU] Avoid splitting FLAT offsets in unsafe ways 2020-07-17 11:44:10 +01:00
AMDGPUISelLowering.cpp AMDGPU: Start interpreting byref on kernel arguments 2020-07-21 18:11:22 -04:00
AMDGPUISelLowering.h AMDGPU: Remove intermediate DAG node for trig_preop intrinsic 2020-06-16 21:06:25 -04:00
AMDGPULegalizerInfo.cpp AMDGPU/GlobalISel: Initial Implementation of calls 2020-07-20 11:13:22 -04:00
AMDGPULegalizerInfo.h AMDGPU/GlobalISel: Initial Implementation of calls 2020-07-20 11:13:22 -04:00
AMDGPULibCalls.cpp [Alignment][NFC] Use proper getter to retrieve alignment from ConstantInt and ConstantSDNode 2020-07-03 08:06:43 +00:00
AMDGPULibFunc.cpp [SVE] Eliminate calls to default-false VectorType::get() from AMDGPU 2020-05-29 17:54:17 -07:00
AMDGPULibFunc.h AMDGPULibFunc - fix include order. NFC. 2020-05-24 13:25:59 +01:00
AMDGPULowerIntrinsics.cpp
AMDGPULowerKernelArguments.cpp AMDGPU: Start interpreting byref on kernel arguments 2020-07-21 18:11:22 -04:00
AMDGPULowerKernelAttributes.cpp
AMDGPUMachineCFGStructurizer.cpp
AMDGPUMachineFunction.cpp [Alignment][NFC] Migrate AMDGPU backend to Align 2020-06-29 11:56:06 +00:00
AMDGPUMachineFunction.h Remove GlobalValue::getAlignment(). 2020-06-23 19:13:42 -07:00
AMDGPUMachineModuleInfo.cpp
AMDGPUMachineModuleInfo.h
AMDGPUMacroFusion.cpp
AMDGPUMacroFusion.h
AMDGPUMCInstLower.cpp
AMDGPUOpenCLEnqueuedBlockLowering.cpp
AMDGPUPerfHintAnalysis.cpp AMDGPU.h - reduce TargetMachine.h include. NFC. 2020-05-24 15:27:41 +01:00
AMDGPUPerfHintAnalysis.h
AMDGPUPostLegalizerCombiner.cpp AMDGPU/GlobalISel: Fix asserts on non-s32 sitofp/uitofp sources 2020-06-23 10:00:35 -04:00
AMDGPUPreLegalizerCombiner.cpp [gicombiner] Allow generated combiners to store additional members 2020-06-16 14:47:04 -07:00
AMDGPUPrintfRuntimeBinding.cpp [SVE] Eliminate calls to default-false VectorType::get() from AMDGPU 2020-05-29 17:54:17 -07:00
AMDGPUPromoteAlloca.cpp AMDGPU: Fix not accounting for constantexpr uses of LDS globals 2020-07-20 11:41:41 -04:00
AMDGPUPropagateAttributes.cpp [AMDGPU] Propagate amdgpu-waves-per-eu to callees 2020-03-26 14:43:44 -07:00
AMDGPUPTNote.h
AMDGPURegBankCombiner.cpp [gicombiner] Allow generated combiners to store additional members 2020-06-16 14:47:04 -07:00
AMDGPURegisterBankInfo.cpp AMDGPU/GlobalISel: Remove unnecessary parameter 2020-07-20 20:53:01 -04:00
AMDGPURegisterBankInfo.h AMDGPU/GlobalISel: Remove unnecessary parameter 2020-07-20 20:53:01 -04:00
AMDGPURegisterBanks.td [AMDGPU] Define AGPR subregs 2020-04-28 15:30:43 -07:00
AMDGPURewriteOutArguments.cpp [SVE] Remove usages of VectorType::getNumElements() from AMDGPU 2020-05-13 15:57:55 -07:00
AMDGPUSearchableTables.td [AMDGPU] Add gfx1030 target 2020-06-15 16:18:05 -07:00
AMDGPUSubtarget.cpp AMDGPU: Start interpreting byref on kernel arguments 2020-07-21 18:11:22 -04:00
AMDGPUSubtarget.h [AMDGPU] Removed s_mov_regrd and mov_fed opcodes 2020-07-17 19:52:54 +03:00
AMDGPUTargetMachine.cpp [AMDGPU] Move LowerSwitch pass to CodeGenPrepare. 2020-07-11 16:33:38 +05:30
AMDGPUTargetMachine.h AMDGPU: Fix wrong null value for private address space 2020-05-26 16:35:13 -04:00
AMDGPUTargetObjectFile.cpp
AMDGPUTargetObjectFile.h AMDGPUTargetObjectFile.h - remove unnecessary includes. NFC. 2020-05-24 13:57:02 +01:00
AMDGPUTargetTransformInfo.cpp Verifier: Disallow byval and similar for AMDGPU calling conventions 2020-07-20 10:58:57 -04:00
AMDGPUTargetTransformInfo.h [NFC] Separate Peeling Properties into its own struct (re-land after minor fix) 2020-07-10 18:39:30 +00:00
AMDGPUUnifyDivergentExitNodes.cpp Reland "[NFC] SimplifyCFGOptions: drop multi-parameter ctor, use default member-init" 2020-07-16 13:40:01 +03:00
AMDGPUUnifyMetadata.cpp
AMDILCFGStructurizer.cpp
AMDKernelCodeT.h
BUFInstructions.td [AMDGPU][MC] Corrected MTBUF parsing and decoding 2020-07-15 19:46:00 +03:00
CaymanInstructions.td [AMDGPU] Fix and simplify AMDGPUTargetLowering::LowerUDIVREM 2020-07-08 19:14:49 +01:00
CMakeLists.txt AMDGPU/GlobalISel: Add stub reg-bank aware combiner pass 2020-05-31 20:40:14 -04:00
DSInstructions.td [AMDGPU] Add gfx1030 target 2020-06-15 16:18:05 -07:00
EvergreenInstructions.td [TableGen] Drop deprecated leading # operation (NOP) and replace ## with # 2020-04-25 16:26:45 -07:00
FLATInstructions.td [AMDGPU] Add gfx1030 target 2020-06-15 16:18:05 -07:00
GCNDPPCombine.cpp AMDGPU: Rename add/sub with carry out instructions 2020-07-16 13:16:30 -04:00
GCNHazardRecognizer.cpp [AMDGPU] Removed s_mov_regrd and mov_fed opcodes 2020-07-17 19:52:54 +03:00
GCNHazardRecognizer.h [AMDGPU] Removed s_mov_regrd and mov_fed opcodes 2020-07-17 19:52:54 +03:00
GCNILPSched.cpp
GCNIterativeScheduler.cpp
GCNIterativeScheduler.h
GCNMinRegStrategy.cpp SmallPtrSet::find -> SmallPtrSet::count 2020-06-07 22:38:08 +02:00
GCNNSAReassign.cpp
GCNProcessors.td [AMDGPU] Add gfx1030 target 2020-06-15 16:18:05 -07:00
GCNRegBankReassign.cpp [AMDGPU] Use std::pair to return two values. NFC. 2020-06-26 11:47:12 +01:00
GCNRegPressure.cpp
GCNRegPressure.h Upgrade some instances of std::sort to llvm::sort. NFC. 2020-03-28 19:23:29 +01:00
GCNSchedStrategy.cpp
GCNSchedStrategy.h
LLVMBuild.txt
MIMGInstructions.td [AMDGPU] Add gfx1030 target 2020-06-15 16:18:05 -07:00
R600.td
R600AsmPrinter.cpp
R600AsmPrinter.h
R600ClauseMergePass.cpp
R600ControlFlowFinalizer.cpp
R600Defines.h
R600EmitClauseMarkers.cpp
R600ExpandSpecialInstrs.cpp
R600FrameLowering.cpp CodeGen: Use Register in TargetFrameLowering 2020-04-07 17:07:44 -04:00
R600FrameLowering.h CodeGen: Use Register in TargetFrameLowering 2020-04-07 17:07:44 -04:00
R600InstrFormats.td
R600InstrInfo.cpp CodeGen: Use Register in TargetFrameLowering 2020-04-07 17:07:44 -04:00
R600InstrInfo.h
R600Instructions.td AMDGPU: Remove denormal subtarget features 2020-04-02 17:17:12 -04:00
R600ISelLowering.cpp [Alignment][NFC] Migrate AMDGPU backend to Align 2020-06-29 11:56:06 +00:00
R600ISelLowering.h
R600MachineFunctionInfo.cpp
R600MachineFunctionInfo.h
R600MachineScheduler.cpp
R600MachineScheduler.h
R600OpenCLImageTypeLoweringPass.cpp
R600OptimizeVectorRegisters.cpp AMDGPU: Use Register 2020-06-30 12:13:08 -04:00
R600Packetizer.cpp
R600Processors.td
R600RegisterInfo.cpp
R600RegisterInfo.h
R600RegisterInfo.td
R600Schedule.td
R700Instructions.td
SIAddIMGInit.cpp
SIAnnotateControlFlow.cpp
SIDefines.h [AMDGPU][MC] Corrected MTBUF parsing and decoding 2020-07-15 19:46:00 +03:00
SIFixSGPRCopies.cpp [AMDGPU] Reject moving PHI to VALU if the only VGPR input originated from move immediate 2020-05-28 19:25:51 +03:00
SIFixupVectorISel.cpp AMDGPU: Rename add/sub with carry out instructions 2020-07-16 13:16:30 -04:00
SIFixVGPRCopies.cpp
SIFoldOperands.cpp AMDGPU: Rename add/sub with carry out instructions 2020-07-16 13:16:30 -04:00
SIFormMemoryClauses.cpp
SIFrameLowering.cpp [Alignment][NFC] Migrate MachineFrameInfo::CreateStackObject to Align 2020-07-01 07:28:11 +00:00
SIFrameLowering.h For PAL, make sure Scratch Buffer Descriptor do not clobber GIT pointer 2020-05-06 10:31:15 -04:00
SIInsertHardClauses.cpp [AMDGPU/MemOpsCluster] Let mem ops clustering logic also consider number of clustered bytes 2020-06-01 22:52:34 +05:30
SIInsertSkips.cpp [AMDGPU] Insert PS early exit at end of control flow 2020-07-03 14:04:34 +09:00
SIInsertWaitcnts.cpp [AMDGPU] Skip CFIInstructions in SIInsertWaitcnts 2020-06-17 12:41:03 -04:00
SIInstrFormats.td AMDGPU: Start adding MODE register uses to instructions 2020-05-27 14:47:00 -04:00
SIInstrInfo.cpp Revert "[AMDGPU/MemOpsCluster] Implement new heuristic for computing max mem ops cluster size" 2020-07-17 12:20:37 +05:30
SIInstrInfo.h [AMDGPU] Select s_cselect 2020-06-25 10:38:23 +02:00
SIInstrInfo.td [AMDGPU][MC] Corrected MTBUF parsing and decoding 2020-07-15 19:46:00 +03:00
SIInstructions.td AMDGPU: Rename add/sub with carry out instructions 2020-07-16 13:16:30 -04:00
SIISelLowering.cpp AMDGPU: Start interpreting byref on kernel arguments 2020-07-21 18:11:22 -04:00
SIISelLowering.h [AMDGPU] Tweak getTypeLegalizationCost() 2020-07-06 14:07:48 -07:00
SILoadStoreOptimizer.cpp AMDGPU: Rename add/sub with carry out instructions 2020-07-16 13:16:30 -04:00
SILowerControlFlow.cpp [AMDGPU] Insert PS early exit at end of control flow 2020-07-03 14:04:34 +09:00
SILowerI1Copies.cpp
SILowerSGPRSpills.cpp [Alignment][NFC] Migrate MachineFrameInfo::CreateStackObject to Align 2020-07-01 07:28:11 +00:00
SIMachineFunctionInfo.cpp [AMDGPU] Spill more than wavesize CSR SGPRs 2020-07-01 07:40:47 +00:00
SIMachineFunctionInfo.h AMDGPU: Use MCRegister for preloaded arguments 2020-07-20 13:34:28 -04:00
SIMachineScheduler.cpp
SIMachineScheduler.h
SIMemoryLegalizer.cpp [AMDGPU] Skip generating cache invalidating instructions on AMDPAL 2020-04-24 13:53:44 +02:00
SIModeRegister.cpp [AMDGPU] Avoid redundant mode register writes 2020-06-24 14:11:29 +01:00
SIOptimizeExecMasking.cpp
SIOptimizeExecMaskingPreRA.cpp [AMDGPU] Propagate dead flag during pre-RA exec mask optimizations 2020-07-14 12:53:43 +09:00
SIPeepholeSDWA.cpp AMDGPU: Rename add/sub with carry out instructions 2020-07-16 13:16:30 -04:00
SIPostRABundler.cpp AMDGPU: Do not bundle inline asm 2020-06-14 13:24:50 -04:00
SIPreAllocateWWMRegs.cpp
SIPreEmitPeephole.cpp [AMDGPU] Translate s_and/s_andn2 to s_mov in vcc optimisation 2020-07-17 11:48:57 +09:00
SIProgramInfo.h
SIRegisterInfo.cpp AMDGPU: Rename add/sub with carry out instructions 2020-07-16 13:16:30 -04:00
SIRegisterInfo.h [NFC] Move getAll{S,V}GPR{32,128} methods to SIFrameLowering 2020-06-17 12:08:09 -04:00
SIRegisterInfo.td AMDGPU: Define mode register 2020-05-23 13:24:42 -04:00
SIRemoveShortExecBranches.cpp
SISchedule.td [AMDGPU] More accurate gfx10 latencies 2020-06-04 10:29:32 +01:00
SIShrinkInstructions.cpp [AMDGPU] Avoid using s_cmpk when src0 is not register 2020-07-14 09:05:53 +01:00
SIWholeQuadMode.cpp [AMDGPU] Update more live intervals in SIWholeQuadMode 2020-06-22 13:50:15 +01:00
SMInstructions.td AMDGPU: Remove mayLoad/mayStore from some side effecting intrinsics 2020-06-18 14:12:19 -04:00
SOPInstructions.td [AMDGPU] Removed s_mov_regrd and mov_fed opcodes 2020-07-17 19:52:54 +03:00
VIInstrFormats.td
VOP1Instructions.td [AMDGPU] Removed s_mov_regrd and mov_fed opcodes 2020-07-17 19:52:54 +03:00
VOP2Instructions.td DAG: Handle expanding strict_fsub into fneg and strict_fadd 2020-07-21 16:17:10 -04:00
VOP3Instructions.td AMDGPU: Rename gfx9 version of v_add_i32/v_sub_i32 2020-07-16 13:32:05 -04:00
VOP3PInstructions.td AMDGPU: Set more mov flags on V_ACCVGPR_{READ|WRITE}_B32 2020-07-01 18:58:59 -04:00
VOPCInstructions.td AMDGPU: Start adding MODE register uses to instructions 2020-05-27 14:47:00 -04:00
VOPInstructions.td AMDGPU: Set mayRaiseFPException 2020-06-04 17:35:27 -04:00