1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
llvm-mirror/lib/Target/AMDGPU
Tim Renouf 790653e3d0 [AMDGPU] For amdpal, widen interpolation mode workaround
Summary:
The interpolation mode workaround ensures that at least one
interpolation mode is enabled in PSInputAddr. It does not also check
PSInputEna on the basis that the user might enable bits in that
depending on run-time state.

However, for amdpal os type, the user does not enable some bits after
compilation based on run-time states; the register values being
generated here are the final ones set in the hardware. Therefore, apply
the workaround to PSInputAddr and PSInputEnable together. (The case
where a bit is set in PSInputAddr but not in PSInputEnable is where the
frontend set up an input arg for a particular interpolation mode, but
nothing uses that input arg. Really we should have an earlier pass that
removes such an arg.)

Reviewers: arsenm, nhaehnle, dstuttard

Subscribers: kzhuravl, wdng, yaxunl, t-tye, llvm-commits

Differential Revision: https://reviews.llvm.org/D37758

llvm-svn: 315591
2017-10-12 16:16:41 +00:00
..
AsmParser AMDGPU/NFC: Minor clean ups in HSA metadata 2017-10-11 22:59:35 +00:00
Disassembler [AMDGPU] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-10 00:46:15 +00:00
InstPrinter AMDGPU: Add R600InstPrinter class 2017-08-17 22:20:04 +00:00
MCTargetDesc [MC] Have MCObjectStreamer take its MCAsmBackend argument via unique_ptr. 2017-10-11 23:34:47 +00:00
TargetInfo fix trivial typos; NFC 2017-07-02 03:24:54 +00:00
Utils [AMDGPU] calling conventions for AMDPAL OS type 2017-09-29 09:51:22 +00:00
AMDGPU.h [AMDGPU] Lower enqueued blocks and generate runtime metadata 2017-10-10 19:39:48 +00:00
AMDGPU.td AMDGPU: Fix incorrect selection of pseudo-branches 2017-10-10 20:22:07 +00:00
AMDGPUAliasAnalysis.cpp [AMDGPU] calling conventions for AMDPAL OS type 2017-09-29 09:51:22 +00:00
AMDGPUAliasAnalysis.h [AMDGPU] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-08 23:53:55 +00:00
AMDGPUAlwaysInlinePass.cpp AMDGPU: Add option to stress calls 2017-09-21 07:00:48 +00:00
AMDGPUAnnotateKernelFeatures.cpp [Analysis] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes. Also affected in files (NFC). 2017-08-31 21:56:16 +00:00
AMDGPUAnnotateUniformValues.cpp AMDGPU: Fix converting unanalyzable global loads to SMRD 2017-07-12 23:06:18 +00:00
AMDGPUArgumentUsageInfo.cpp AMDGPU: Fix implicitarg.ptr handling special inputs 2017-08-03 23:12:44 +00:00
AMDGPUArgumentUsageInfo.h [AMDGPU] Fixed MSVC build break 2017-08-04 10:53:07 +00:00
AMDGPUAsmPrinter.cpp AMDGPU/NFC: Minor clean ups in HSA metadata 2017-10-11 22:59:35 +00:00
AMDGPUAsmPrinter.h AMDGPU/NFC: Minor clean ups in HSA metadata 2017-10-11 22:59:35 +00:00
AMDGPUCallingConv.td AMDGPU: Initial implementation of calls 2017-08-01 19:54:18 +00:00
AMDGPUCallLowering.cpp AMDGPU: Pass special input registers to functions 2017-08-03 23:00:29 +00:00
AMDGPUCallLowering.h AMDGPU: Start defining a calling convention 2017-05-17 21:56:25 +00:00
AMDGPUCodeGenPrepare.cpp AMDGPU : Widen extending scalar loads to 32-bits. 2017-07-26 21:07:28 +00:00
AMDGPUFrameLowering.cpp
AMDGPUFrameLowering.h AMDGPU: Initial implementation of calls 2017-08-01 19:54:18 +00:00
AMDGPUGenRegisterBankInfo.def [GlobalISel] Make GlobalISel a non-optional library. 2017-08-03 21:52:25 +00:00
AMDGPUInline.cpp [AMDGPU] Port of HSAIL inliner 2017-09-20 04:25:58 +00:00
AMDGPUInstrInfo.cpp [AMDGPU][MC][GFX9] Added 16-bit renamed and "_legacy" VALU opcodes 2017-08-09 17:10:47 +00:00
AMDGPUInstrInfo.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
AMDGPUInstrInfo.td AMDGPU: Start adding tail call support 2017-08-11 20:42:08 +00:00
AMDGPUInstructions.td AMDGPU: Remove global isGCN predicates 2017-10-03 00:06:41 +00:00
AMDGPUInstructionSelector.cpp AMDGPU: Start adding offset fields to flat instructions 2017-06-12 15:55:58 +00:00
AMDGPUInstructionSelector.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
AMDGPUIntrinsicInfo.cpp
AMDGPUIntrinsicInfo.h
AMDGPUIntrinsics.td AMDGPU: Remove legacy bfe intrinsics 2017-04-03 18:08:08 +00:00
AMDGPUISelDAGToDAG.cpp AMDGPU: Fix failure to select branch with optnone 2017-10-10 20:34:49 +00:00
AMDGPUISelLowering.cpp [AMDGPU] New 64 bit div/rem expansion 2017-10-06 17:24:45 +00:00
AMDGPUISelLowering.h AMDGPU: Start adding tail call support 2017-08-11 20:42:08 +00:00
AMDGPULegalizerInfo.cpp [GlobalISel] Make GlobalISel a non-optional library. 2017-08-03 21:52:25 +00:00
AMDGPULegalizerInfo.h
AMDGPULibCalls.cpp [AMDGPU] Set fast-math flags on functions given the options 2017-09-29 23:40:19 +00:00
AMDGPULibFunc.cpp [AMDGPU] Transform __read_pipe_* and __write_pipe_* 2017-09-06 00:30:27 +00:00
AMDGPULibFunc.h [AMDGPU] Transform __read_pipe_* and __write_pipe_* 2017-09-06 00:30:27 +00:00
AMDGPULowerIntrinsics.cpp Extend memcpy expansion in Transform/Utils to handle wider operand types. 2017-07-07 02:00:06 +00:00
AMDGPUMachineCFGStructurizer.cpp [dump] Remove NDEBUG from test to enable dump methods [NFC] 2017-10-12 16:16:06 +00:00
AMDGPUMachineFunction.cpp AMDGPU: Start defining a calling convention 2017-05-17 21:56:25 +00:00
AMDGPUMachineFunction.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
AMDGPUMachineModuleInfo.cpp AMDGPU: Implement memory model 2017-07-21 21:19:23 +00:00
AMDGPUMachineModuleInfo.h AMDGPU: Handle more than one memory operand in SIMemoryLegalizer 2017-09-07 16:14:21 +00:00
AMDGPUMacroFusion.cpp AMDGPU: Add macro fusion schedule DAG mutation 2017-07-06 20:57:05 +00:00
AMDGPUMacroFusion.h AMDGPU: Add macro fusion schedule DAG mutation 2017-07-06 20:57:05 +00:00
AMDGPUMCInstLower.cpp Fix AMDGPU build issue 2017-10-11 23:53:36 +00:00
AMDGPUMCInstLower.h
AMDGPUOpenCLEnqueuedBlockLowering.cpp [AMDGPU] Lower enqueued blocks and generate runtime metadata 2017-10-10 19:39:48 +00:00
AMDGPUOpenCLImageTypeLoweringPass.cpp [AMDGPU] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-08 23:53:55 +00:00
AMDGPUPromoteAlloca.cpp AMDGPU: Fix assert on alloca of array of struct 2017-09-14 18:02:29 +00:00
AMDGPUPTNote.h AMDGPU/NFC: Minor clean ups in PAL metadata 2017-10-11 22:41:09 +00:00
AMDGPURegAsmNames.inc.cpp AMDGPU: Work around build special casing .inc files 2017-06-08 19:25:21 +00:00
AMDGPURegisterBankInfo.cpp [GlobalISel] Make GlobalISel a non-optional library. 2017-08-03 21:52:25 +00:00
AMDGPURegisterBankInfo.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
AMDGPURegisterBanks.td
AMDGPURegisterInfo.cpp AMDGPU: Make frame register caller preserved 2017-09-14 17:14:57 +00:00
AMDGPURegisterInfo.h AMDGPU: Start defining a calling convention 2017-05-17 21:56:25 +00:00
AMDGPURegisterInfo.td AMDGPU: Move INDIRECT_BASE_ADDR definition out of common files 2017-07-29 03:44:07 +00:00
AMDGPURewriteOutArguments.cpp [AMDGPU] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-08 23:53:55 +00:00
AMDGPUSubtarget.cpp [AMDGPU] Prevent post-RA scheduler from breaking memory clauses 2017-09-19 20:54:38 +00:00
AMDGPUSubtarget.h [Triple] Add AMDPAL operating system type 2017-09-29 09:48:12 +00:00
AMDGPUTargetMachine.cpp AMDGPU: Fix incorrect selection of pseudo-branches 2017-10-10 20:22:07 +00:00
AMDGPUTargetMachine.h AMDGPU: Fix incorrect selection of pseudo-branches 2017-10-10 20:22:07 +00:00
AMDGPUTargetObjectFile.cpp Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
AMDGPUTargetObjectFile.h [AMDGPU] Get address space mapping by target triple environment 2017-03-27 14:04:01 +00:00
AMDGPUTargetTransformInfo.cpp [AMDGPU] calling conventions for AMDPAL OS type 2017-09-29 09:51:22 +00:00
AMDGPUTargetTransformInfo.h [AMDGPU] Port of HSAIL inliner 2017-09-20 04:25:58 +00:00
AMDGPUUnifyDivergentExitNodes.cpp [SimplifyCFG] put the optional assumption cache pointer in the options struct; NFCI 2017-10-04 20:26:25 +00:00
AMDGPUUnifyMetadata.cpp [AMDGPU] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-10 00:46:15 +00:00
AMDILCFGStructurizer.cpp [AMDGPU] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-08 23:53:55 +00:00
AMDKernelCodeT.h [AMDGPU] Revert r310429 changes in AMDKernelCodeT.h which broke some build bots. 2017-08-09 00:06:29 +00:00
BUFInstructions.td AMDGPU: Remove global isGCN predicates 2017-10-03 00:06:41 +00:00
CaymanInstructions.td AMDGPU: Remove global isGCN predicates 2017-10-03 00:06:41 +00:00
CMakeLists.txt [AMDGPU] Lower enqueued blocks and generate runtime metadata 2017-10-10 19:39:48 +00:00
DSInstructions.td AMDGPU: Remove global isGCN predicates 2017-10-03 00:06:41 +00:00
EvergreenInstructions.td AMDGPU: Remove global isGCN predicates 2017-10-03 00:06:41 +00:00
FLATInstructions.td AMDGPU: Remove global isGCN predicates 2017-10-03 00:06:41 +00:00
GCNHazardRecognizer.cpp AMDGPU: Make worst-case assumption about the wait states in inline assembly 2017-09-06 13:50:13 +00:00
GCNHazardRecognizer.h
GCNIterativeScheduler.cpp [dump] Remove NDEBUG from test to enable dump methods [NFC] 2017-10-12 16:16:06 +00:00
GCNIterativeScheduler.h [AMDGPU] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-10 00:46:15 +00:00
GCNMinRegStrategy.cpp [AMDGPU] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-08 23:53:55 +00:00
GCNRegPressure.cpp [dump] Remove NDEBUG from test to enable dump methods [NFC] 2017-10-12 16:16:06 +00:00
GCNRegPressure.h [AMDGPU] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-10 00:46:15 +00:00
GCNSchedStrategy.cpp [CodeGen] Rename DEBUG_TYPE to match passnames 2017-07-11 22:08:28 +00:00
GCNSchedStrategy.h fix typos in comments and error messges; NFC 2017-07-13 06:48:39 +00:00
LLVMBuild.txt
MIMGInstructions.td AMDGPU: Remove global isGCN predicates 2017-10-03 00:06:41 +00:00
Processors.td AMDGPU: Remove -mcpu=SI 2017-08-07 18:30:35 +00:00
R600ClauseMergePass.cpp AMDGPU/R600: Initialize more passes 2017-08-02 22:19:45 +00:00
R600ControlFlowFinalizer.cpp [AMDGPU] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-10 00:46:15 +00:00
R600Defines.h
R600EmitClauseMarkers.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
R600ExpandSpecialInstrs.cpp [AMDGPU] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-10 00:46:15 +00:00
R600FrameLowering.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
R600FrameLowering.h AMDGPU: Initial implementation of calls 2017-08-01 19:54:18 +00:00
R600InstrFormats.td AMDGPU: Remove global isGCN predicates 2017-10-03 00:06:41 +00:00
R600InstrInfo.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
R600InstrInfo.h
R600Instructions.td AMDGPU: Remove global isGCN predicates 2017-10-03 00:06:41 +00:00
R600Intrinsics.td AMDGPU: Make intrinsics speculatable 2017-05-02 16:57:44 +00:00
R600ISelLowering.cpp Add DAG argument to canMergeStoresTo NFC. 2017-07-10 20:25:54 +00:00
R600ISelLowering.h Add DAG argument to canMergeStoresTo NFC. 2017-07-10 20:25:54 +00:00
R600MachineFunctionInfo.cpp
R600MachineFunctionInfo.h
R600MachineScheduler.cpp [CodeGen] Rename DEBUG_TYPE to match passnames 2017-07-11 22:08:28 +00:00
R600MachineScheduler.h
R600OptimizeVectorRegisters.cpp [AMDGPU] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-10 00:46:15 +00:00
R600Packetizer.cpp AMDGPU/R600: Initialize more passes 2017-08-02 22:19:45 +00:00
R600RegisterInfo.cpp AMDGPU: Start defining a calling convention 2017-05-17 21:56:25 +00:00
R600RegisterInfo.h AMDGPU: Start defining a calling convention 2017-05-17 21:56:25 +00:00
R600RegisterInfo.td AMDGPU: Move INDIRECT_BASE_ADDR definition out of common files 2017-07-29 03:44:07 +00:00
R600Schedule.td
R700Instructions.td
SIAnnotateControlFlow.cpp [AMDGPU] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-08 00:47:13 +00:00
SIDebuggerInsertNops.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
SIDefines.h [AMDGPU] calling conventions for AMDPAL OS type 2017-09-29 09:51:22 +00:00
SIFixSGPRCopies.cpp [AMDGPU] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-08 00:47:13 +00:00
SIFixVGPRCopies.cpp
SIFixWWMLiveness.cpp [AMDGPU] Add support for Whole Wavefront Mode 2017-08-04 18:36:52 +00:00
SIFoldOperands.cpp AMDGPU: Add comment about clamps 2017-10-05 00:13:20 +00:00
SIFrameLowering.cpp [AMDGPU] AMDPAL scratch buffer support 2017-09-29 09:49:35 +00:00
SIFrameLowering.h [AMDGPU] AMDPAL scratch buffer support 2017-09-29 09:49:35 +00:00
SIInsertSkips.cpp [AMDGPU] Avoid predicated execution of the basic blocks containing scalar 2017-10-03 18:55:36 +00:00
SIInsertWaitcnts.cpp [AMDGPU] NFC: test commit 2017-08-16 16:47:29 +00:00
SIInsertWaits.cpp [AMDGPU] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-08 00:47:13 +00:00
SIInstrFormats.td AMDGPU: Remove global isGCN predicates 2017-10-03 00:06:41 +00:00
SIInstrInfo.cpp AMDGPU: Fix not accounting for instruction size in bundles 2017-10-04 22:59:12 +00:00
SIInstrInfo.h AMDGPU: Fix not accounting for instruction size in bundles 2017-10-04 22:59:12 +00:00
SIInstrInfo.td AMDGPU: Fix failure to select branch with optnone 2017-10-10 20:34:49 +00:00
SIInstructions.td AMDGPU: Fix incorrect selection of pseudo-branches 2017-10-10 20:22:07 +00:00
SIIntrinsics.td AMDGPU: Remove legacy export intrinsic 2017-04-04 16:34:39 +00:00
SIISelLowering.cpp [AMDGPU] For amdpal, widen interpolation mode workaround 2017-10-12 16:16:41 +00:00
SIISelLowering.h AMDGPU: Start selecting v_mad_mixhi_f16 2017-09-20 21:01:24 +00:00
SILoadStoreOptimizer.cpp SILoadStoreOptimizer.cpp: Fix build; Clang doesn't like "using anonymous struct" since rL315256. 2017-10-10 08:30:53 +00:00
SILowerControlFlow.cpp [AMDGPU] Preserve inverted bit in SI_IF in presence of SI_KILL 2017-08-04 06:58:42 +00:00
SILowerI1Copies.cpp AMDGPU: VALU carry-in and v_cndmask condition cannot be EXEC 2017-09-29 15:37:31 +00:00
SIMachineFunctionInfo.cpp [AMDGPU] AMDPAL scratch buffer support 2017-09-29 09:49:35 +00:00
SIMachineFunctionInfo.h [AMDGPU] AMDPAL scratch buffer support 2017-09-29 09:49:35 +00:00
SIMachineScheduler.cpp AMDGPU/SI: Fix Depth and Height computation for SI scheduler 2017-07-25 20:37:03 +00:00
SIMachineScheduler.h AMDGPU/SI: Force exports at the end for SI scheduler 2017-07-25 20:36:58 +00:00
SIMemoryLegalizer.cpp AMDGPU: Handle non-temporal loads and stores 2017-09-07 17:14:54 +00:00
SIOptimizeExecMasking.cpp AMDGPU: Fix missing skipFunction calls 2017-10-10 20:48:36 +00:00
SIOptimizeExecMaskingPreRA.cpp AMDGPU: Recompute scc liveness 2017-09-08 18:51:26 +00:00
SIPeepholeSDWA.cpp AMDGPU: Fix missing skipFunction calls 2017-10-10 20:48:36 +00:00
SIRegisterInfo.cpp [SystemZ] implement shouldCoalesce() 2017-09-29 14:31:39 +00:00
SIRegisterInfo.h [SystemZ] implement shouldCoalesce() 2017-09-29 14:31:39 +00:00
SIRegisterInfo.td AMDGPU: VALU carry-in and v_cndmask condition cannot be EXEC 2017-09-29 15:37:31 +00:00
SISchedule.td
SIShrinkInstructions.cpp AMDGPU: Allow SIShrinkInstructions to fold FrameIndexes 2017-07-10 20:04:35 +00:00
SIWholeQuadMode.cpp [AMDGPU] Implement llvm.amdgcn.set.inactive intrinsic 2017-08-04 18:36:54 +00:00
SMInstructions.td AMDGPU: Remove global isGCN predicates 2017-10-03 00:06:41 +00:00
SOPInstructions.td AMDGPU: Fix failure to select branch with optnone 2017-10-10 20:34:49 +00:00
VIInstrFormats.td
VIInstructions.td
VOP1Instructions.td AMDGPU: Remove global isGCN predicates 2017-10-03 00:06:41 +00:00
VOP2Instructions.td AMDGPU: Remove global isGCN predicates 2017-10-03 00:06:41 +00:00
VOP3Instructions.td AMDGPU: Remove global isGCN predicates 2017-10-03 00:06:41 +00:00
VOP3PInstructions.td AMDGPU: Remove global isGCN predicates 2017-10-03 00:06:41 +00:00
VOPCInstructions.td AMDGPU: Remove global isGCN predicates 2017-10-03 00:06:41 +00:00
VOPInstructions.td AMDGPU: Fold clamp modifier for packed instructions 2017-08-31 23:53:50 +00:00