llvm-project/llvm/lib/Target/AMDGPU
Matt Arsenault 432aaea63f AMDGPU: Rename OpenCL lowering pass to be R600 specific.
This pass is
  a) broken.
  b) r600 specific.

Fixing (a) is a bit more non-trivial, but fixing (b)
is easy. Move this pass to being R600 only for now.

This pass does pass all the unit tests, however clang
no longer generates code that looks like the unit test
input, so fixing the pass requires fixing the tests and
the pass as one, and checking it works with clang still.

Patch by Dave Airlie

llvm-svn: 332196
2018-05-13 10:04:48 +00:00
..
AsmParser [AMDGPU] Added checks for dpp_ctrl value 2018-05-08 16:53:02 +00:00
Disassembler AMDGPU: Add Vega12 and Vega20 2018-04-30 19:08:16 +00:00
InstPrinter [AMDGPU] Added checks for dpp_ctrl value 2018-05-08 16:53:02 +00:00
MCTargetDesc [AMDGPU] Provide machine -> name mapping 2018-05-08 18:53:04 +00:00
TargetInfo Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
Utils Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
AMDGPU.h AMDGPU: Rename OpenCL lowering pass to be R600 specific. 2018-05-13 10:04:48 +00:00
AMDGPU.td AMDGPU/NFC: Update D16PreservesUnusedBits description based Tony Tye's comments 2018-05-04 22:53:55 +00:00
AMDGPUAliasAnalysis.cpp [AMDGPU] Change constant addr space to 4 2018-02-13 18:00:25 +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 [CodeGen] Rename functions PrintReg* to printReg* 2017-11-28 12:42:37 +00:00
AMDGPUArgumentUsageInfo.h [AMDGPU] Fixed MSVC build break 2017-08-04 10:53:07 +00:00
AMDGPUAsmPrinter.cpp [AMDGPU] Fix compilation failure when IR contains comdat 2018-05-11 20:40:14 +00:00
AMDGPUAsmPrinter.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
AMDGPUCallLowering.cpp AMDGPU/GlobalISel: Don't try to lower hull shaders 2018-05-07 22:17:54 +00:00
AMDGPUCallLowering.h
AMDGPUCallingConv.td AMDGPU: Initial implementation of calls 2017-08-01 19:54:18 +00:00
AMDGPUCodeGenPrepare.cpp Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
AMDGPUFrameLowering.cpp
AMDGPUFrameLowering.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
AMDGPUGISel.td AMDGPU/GlobalISel: Implement select() for 32-bit G_FPTOUI 2018-05-11 05:44:16 +00:00
AMDGPUGenRegisterBankInfo.def AMDGPU/GlobalISel: Use a more correct getValueMapping 2018-03-01 21:08:51 +00:00
AMDGPUISelDAGToDAG.cpp Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
AMDGPUISelLowering.cpp AMDGPU: Ignore any_extend in mul24 combine 2018-05-09 21:11:35 +00:00
AMDGPUISelLowering.h AMDGPU: Add combine for trunc of bitcast from build_vector 2018-05-09 18:37:39 +00:00
AMDGPUInline.cpp Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
AMDGPUInstrInfo.cpp Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
AMDGPUInstrInfo.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
AMDGPUInstrInfo.td AMDGPU: Add intrinsics llvm.amdgcn.cvt.{pknorm.i16, pknorm.u16, pk.i16, pk.u16} 2018-01-31 20:18:04 +00:00
AMDGPUInstructionSelector.cpp AMDGPU/GlobalISel: Implement select() for >32-bit G_STORE 2018-05-11 23:12:49 +00:00
AMDGPUInstructionSelector.h AMDGPU/GlobalISel: Implement select() for 32-bit G_FPTOUI 2018-05-11 05:44:16 +00:00
AMDGPUInstructions.td [AMDGPU] Supported ds_write_b128 generation. 2018-03-16 18:12:00 +00:00
AMDGPUIntrinsicInfo.cpp Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
AMDGPUIntrinsicInfo.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
AMDGPUIntrinsics.td AMDGPU: Remove deprecated llvm.AMDGPU.kilp intrinsic 2018-04-24 21:37:57 +00:00
AMDGPULegalizerInfo.cpp [IR][CodeGen] Remove dependency on EVT from IR/Function.cpp. Move EVT to CodeGen layer. 2018-03-29 17:21:10 +00:00
AMDGPULegalizerInfo.h AMDGPU/GlobalISel: Pass subtarget + TM to LegalizerInfo 2018-03-08 16:24:16 +00:00
AMDGPULibCalls.cpp Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
AMDGPULibFunc.cpp [AMDGPU] Remove hardcoded address space value from AMDGPULibFunc 2017-11-04 17:37:43 +00:00
AMDGPULibFunc.h [AMDGPU] Remove hardcoded address space value from AMDGPULibFunc 2017-11-04 17:37:43 +00:00
AMDGPULowerIntrinsics.cpp
AMDGPUMCInstLower.cpp Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
AMDGPUMCInstLower.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
AMDGPUMachineCFGStructurizer.cpp IWYU for llvm-config.h in llvm, additions. 2018-04-30 14:59:11 +00:00
AMDGPUMachineFunction.cpp MachineFunction: Return reference from getFunction(); NFC 2017-12-15 22:22:58 +00:00
AMDGPUMachineFunction.h [NFC] fix trivial typos in document and comments 2018-04-14 08:59:00 +00:00
AMDGPUMachineModuleInfo.cpp Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
AMDGPUMachineModuleInfo.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
AMDGPUMacroFusion.cpp Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
AMDGPUMacroFusion.h
AMDGPUOpenCLEnqueuedBlockLowering.cpp Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
AMDGPUPTNote.h AMDGPU/NFC: Move AMDGPU specific note types to ELF.h 2017-10-12 18:59:54 +00:00
AMDGPUPromoteAlloca.cpp AMDGPU/SI: Don't promote alloca to vector for AddrSpaceCast instruction. 2018-05-11 22:17:57 +00:00
AMDGPURegAsmNames.inc.cpp
AMDGPURegisterBankInfo.cpp AMDGPU/GlobalISel: RegBankSelect for basic int ops 2018-03-19 14:07:23 +00:00
AMDGPURegisterBankInfo.h AMDGPU/GlobalISel: Define instruction mapping for G_OR 2018-03-01 21:25:25 +00:00
AMDGPURegisterBanks.td AMDGPU/GlobalISel: Define InstrMappings for G_ICMP 2018-03-01 19:27:10 +00:00
AMDGPURegisterInfo.cpp AMDGPU: Make getSubRegFromChannel a static member of AMDGPURegisterInfo 2018-05-03 22:38:06 +00:00
AMDGPURegisterInfo.h AMDGPU: Make getSubRegFromChannel a static member of AMDGPURegisterInfo 2018-05-03 22:38:06 +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
AMDGPUSearchableTables.td AMDGPU: Dimension-aware image intrinsics 2018-04-04 10:58:54 +00:00
AMDGPUSubtarget.cpp AMDGPU/GlobalISel: Enable TableGen'd instruction selector 2018-05-10 20:53:06 +00:00
AMDGPUSubtarget.h AMDGPU: Add D16 instructions preserve unused bits feature 2018-05-04 20:06:57 +00:00
AMDGPUTargetMachine.cpp AMDGPU: Rename OpenCL lowering pass to be R600 specific. 2018-05-13 10:04:48 +00:00
AMDGPUTargetMachine.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
AMDGPUTargetObjectFile.cpp AMDGPU: Fix set but not used warnings related to AMDGPUAS 2017-11-01 19:12:38 +00:00
AMDGPUTargetObjectFile.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
AMDGPUTargetTransformInfo.cpp [AMDGPU] Support horizontal vectorization of min/max. 2018-05-09 21:18:34 +00:00
AMDGPUTargetTransformInfo.h [AMDGPU] Support horizontal vectorization of min/max. 2018-05-09 21:18:34 +00:00
AMDGPUUnifyDivergentExitNodes.cpp AMDGPU: Use eraseFromParent to delete am instruction when it is no longer needed. 2018-05-08 18:32:35 +00:00
AMDGPUUnifyMetadata.cpp Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
AMDILCFGStructurizer.cpp Fix layering of MachineValueType.h by moving it from CodeGen to Support 2018-03-23 23:58:25 +00:00
AMDKernelCodeT.h Remove @brief commands from doxygen comments, too. 2018-05-01 16:10:38 +00:00
BUFInstructions.td AMDGPU: Add D16 instructions preserve unused bits feature 2018-05-04 20:06:57 +00:00
CMakeLists.txt AMDGPU: Rename OpenCL lowering pass to be R600 specific. 2018-05-13 10:04:48 +00:00
CaymanInstructions.td [CodeGen] Use MachineOperand::print in the MIRPrinter for MO_Register. 2017-12-07 10:40:31 +00:00
DSInstructions.td AMDGPU: Add D16 instructions preserve unused bits feature 2018-05-04 20:06:57 +00:00
EvergreenInstructions.td AMDGPU: Select BFI patterns with 64-bit ints 2018-02-07 00:21:34 +00:00
FLATInstructions.td AMDGPU: Add D16 instructions preserve unused bits feature 2018-05-04 20:06:57 +00:00
GCNHazardRecognizer.cpp [DebugInfo] Examine all uses of isDebugValue() for debug instructions. 2018-05-09 02:42:00 +00:00
GCNHazardRecognizer.h [AMDGPU] Add GCNHazardRecognizer::checkInlineAsmHazards() and GCNHazardRecognizer::checkVALUHazardsHelper(). checkInlineAsmHazards() checks INLINEASM for hazards that we particularly care about (so not exhaustive); this patch adds a check for INLINEASM that defs vregs that hold data-to-be stored by immediately preceding store of more than 8 bytes. If the instr were not within an INLINEASM, this scenario would be handled by checkVALUHazard(). Add checkVALUHazardsHelper(), which will be called by both checkVALUHazards() and checkInlineAsmHazards(). 2017-12-07 20:34:25 +00:00
GCNILPSched.cpp AMDGPU: Partial ILP scheduler port from SelectionDAG to SchedulingDAG (experimental) 2017-11-20 14:35:53 +00:00
GCNIterativeScheduler.cpp [AMDGPU] Fix amdgpu-waves-per-eu accounting in scheduler 2018-05-12 01:41:56 +00:00
GCNIterativeScheduler.h AMDGPU: Partial ILP scheduler port from SelectionDAG to SchedulingDAG (experimental) 2017-11-20 14:35:53 +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
GCNProcessors.td AMDGPU: Add Vega12 and Vega20 2018-04-30 19:08:16 +00:00
GCNRegPressure.cpp [DebugInfo] Examine all uses of isDebugValue() for debug instructions. 2018-05-09 02:42:00 +00:00
GCNRegPressure.h Rename LiveIntervalAnalysis.h to LiveIntervals.h 2017-12-13 02:51:04 +00:00
GCNSchedStrategy.cpp [AMDGPU] Fix amdgpu-waves-per-eu accounting in scheduler 2018-05-12 01:41:56 +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][MC] Added support of 3-element addresses for MIMG instructions 2018-04-04 13:01:17 +00:00
R600ClauseMergePass.cpp MachineFunction: Return reference from getFunction(); NFC 2017-12-15 22:22:58 +00:00
R600ControlFlowFinalizer.cpp AMDGPU: Make getSubRegFromChannel a static member of AMDGPURegisterInfo 2018-05-03 22:38:06 +00:00
R600Defines.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
R600EmitClauseMarkers.cpp
R600ExpandSpecialInstrs.cpp AMDGPU: Make getSubRegFromChannel a static member of AMDGPURegisterInfo 2018-05-03 22:38:06 +00:00
R600FrameLowering.cpp
R600FrameLowering.h AMDGPU: Initial implementation of calls 2017-08-01 19:54:18 +00:00
R600ISelLowering.cpp Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
R600ISelLowering.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
R600InstrFormats.td AMDGPU: Remove global isGCN predicates 2017-10-03 00:06:41 +00:00
R600InstrInfo.cpp AMDGPU: Make getSubRegFromChannel a static member of AMDGPURegisterInfo 2018-05-03 22:38:06 +00:00
R600InstrInfo.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
R600Instructions.td AMDGPU: Remove deprecated llvm.AMDGPU.kilp intrinsic 2018-04-24 21:37:57 +00:00
R600Intrinsics.td AMDGPU/R600: Move int_r600_store_stream_output to the public intrinsic file 2018-04-25 20:02:53 +00:00
R600MachineFunctionInfo.cpp
R600MachineFunctionInfo.h
R600MachineScheduler.cpp Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
R600MachineScheduler.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
R600OpenCLImageTypeLoweringPass.cpp AMDGPU: Rename OpenCL lowering pass to be R600 specific. 2018-05-13 10:04:48 +00:00
R600OptimizeVectorRegisters.cpp MachineFunction: Return reference from getFunction(); NFC 2017-12-15 22:22:58 +00:00
R600Packetizer.cpp AMDGPU/R600: Initialize more passes 2017-08-02 22:19:45 +00:00
R600Processors.td AMDGPU/EG: Add a new FeatureFMA and use it to selectively enable FMA instruction 2017-12-04 23:07:28 +00:00
R600RegisterInfo.cpp Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
R600RegisterInfo.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +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 Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
SIDebuggerInsertNops.cpp [DebugInfo] Examine all uses of isDebugValue() for debug instructions. 2018-05-09 02:42:00 +00:00
SIDefines.h [AMDGPU] Added checks for dpp_ctrl value 2018-05-08 16:53:02 +00:00
SIFixSGPRCopies.cpp [AMDGPU] Revert b0efc4fd6 (https://reviews.llvm.org/D40556) 2018-04-25 12:32:46 +00:00
SIFixVGPRCopies.cpp Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
SIFixWWMLiveness.cpp Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
SIFoldOperands.cpp AMDGPU: Add Vega12 and Vega20 2018-04-30 19:08:16 +00:00
SIFrameLowering.cpp AMDGPU: Assign enum name to stack ID 2018-04-23 15:51:26 +00:00
SIFrameLowering.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
SIISelLowering.cpp AMDGPU: Make undef legal for v2i16/v2f16 2018-05-13 10:04:38 +00:00
SIISelLowering.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
SIInsertSkips.cpp Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
SIInsertWaitcnts.cpp [DebugInfo] Examine all uses of isDebugValue() for debug instructions. 2018-05-09 02:42:00 +00:00
SIInstrFormats.td [MachineOperand][Target] MachineOperand::isRenamable semantics changes 2018-02-23 18:25:08 +00:00
SIInstrInfo.cpp [AMDGPU] Added checks for dpp_ctrl value 2018-05-08 16:53:02 +00:00
SIInstrInfo.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
SIInstrInfo.td AMDGPU: Add Vega12 and Vega20 2018-04-30 19:08:16 +00:00
SIInstructions.td AMDGPU: Add Vega12 and Vega20 2018-04-30 19:08:16 +00:00
SIIntrinsics.td
SILoadStoreOptimizer.cpp AMDGPU: Track physreg uses in SILoadStoreOptimizer 2018-02-23 10:45:56 +00:00
SILowerControlFlow.cpp Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
SILowerI1Copies.cpp AMDGPU: Fix copying i1 value out of loop with non-uniform exit 2018-04-04 10:57:58 +00:00
SIMachineFunctionInfo.cpp AMDGPU: Fix not preserving CSR VGPR if used for SGPR spills 2018-03-27 19:42:55 +00:00
SIMachineFunctionInfo.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
SIMachineScheduler.cpp [DebugInfo] Examine all uses of isDebugValue() for debug instructions. 2018-05-09 02:42:00 +00:00
SIMachineScheduler.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
SIMemoryLegalizer.cpp Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
SIOptimizeExecMasking.cpp AMDGPU: Fix a corner case crash in SIOptimizeExecMasking 2018-04-23 13:05:50 +00:00
SIOptimizeExecMaskingPreRA.cpp [DebugInfo] Examine all uses of isDebugValue() for debug instructions. 2018-05-09 02:42:00 +00:00
SIPeepholeSDWA.cpp IWYU for llvm-config.h in llvm, additions. 2018-04-30 14:59:11 +00:00
SIRegisterInfo.cpp AMDGPU/GlobalISel: Implement select() for >32-bit G_STORE 2018-05-11 23:12:49 +00:00
SIRegisterInfo.h AMDGPU/GlobalISel: Enable TableGen'd instruction selector 2018-05-10 20:53:06 +00:00
SIRegisterInfo.td [AMDGPU][MC][GFX8][GFX9] Added XNACK_MASK support 2018-01-10 14:22:19 +00:00
SISchedule.td [SchedModel] Complete models shouldn't match against itineraries when they don't use them (PR35639) 2018-04-05 13:11:36 +00:00
SIShrinkInstructions.cpp Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
SIWholeQuadMode.cpp [AMDGPU] Don't force WQM for DS op 2018-05-07 13:21:26 +00:00
SMInstructions.td [AMDGPU][MC][VI][GFX9] Added s_atc_probe* instructions 2018-04-06 15:48:39 +00:00
SOPInstructions.td [AMDGPU][MC][GFX9] Added instructions s_mul_hi_*32, s_lshl*_add_u32 2018-04-09 13:10:33 +00:00
VIInstrFormats.td
VIInstructions.td
VOP1Instructions.td [AMDGPU][MC][GFX9] Added v_screen_partition_4se_b32 2018-04-11 13:13:30 +00:00
VOP2Instructions.td AMDGPU: Add Vega12 and Vega20 2018-04-30 19:08:16 +00:00
VOP3Instructions.td [AMDGPU] Fixed some instructions latencies 2018-03-30 16:19:13 +00:00
VOP3PInstructions.td AMDGPU: Add Vega12 and Vega20 2018-04-30 19:08:16 +00:00
VOPCInstructions.td [AMDGPU][MC] Corrected default values for unused SDWA operands 2018-03-16 15:40:27 +00:00
VOPInstructions.td AMDGPU: Introduce common SOP_Pseudo and VOP_Pseudo TableGen base classes 2018-03-26 13:56:53 +00:00