llvm-project/llvm/lib/Target/AMDGPU
Farhana Aleen e2dfe8a853 [AMDGPU] Support horizontal vectorization.
Author: FarhanaAleen

Reviewed By: rampitec, arsenm

Subscribers: llvm-commits, AMDGPU

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

llvm-svn: 331313
2018-05-01 21:41:12 +00:00
..
AsmParser AMDGPU: Add Vega12 and Vega20 2018-04-30 19:08:16 +00:00
Disassembler AMDGPU: Add Vega12 and Vega20 2018-04-30 19:08:16 +00:00
InstPrinter [AMDGPU][MC][GFX8][GFX9][DISASSEMBLER] Added "_e32" suffix to 32-bit VINTRP opcodes 2018-03-16 16:38:04 +00:00
MCTargetDesc Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +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] Change constant addr space to 4 2018-02-13 18:00:25 +00:00
AMDGPU.td AMDGPU: Add Vega12 and Vega20 2018-04-30 19:08:16 +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] Ensure there are enough registers for wave dispatch 2018-04-11 17:18:36 +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 geometry shaders 2018-04-30 15:15:23 +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
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 Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
AMDGPUISelLowering.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +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 Reapply "AMDGPU: Add 32-bit constant address space" 2018-02-09 16:57:57 +00:00
AMDGPUInstructionSelector.h [globalisel][tablegen] Generate rule coverage and use it to identify untested rules 2017-11-16 00:46:35 +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
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
AMDGPUPTNote.h AMDGPU/NFC: Move AMDGPU specific note types to ELF.h 2017-10-12 18:59:54 +00:00
AMDGPUPromoteAlloca.cpp AMDGPU/SI: Extend promoting alloca to vector to arrays of up to 16 elements 2018-02-16 19:14:17 +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 Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
AMDGPURegisterInfo.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +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 Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
AMDGPUSubtarget.h AMDGPU: Remove remnants of gfx901 (it was deprecated some time ago) 2018-05-01 18:47:48 +00:00
AMDGPUTargetMachine.cpp Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +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. 2018-05-01 21:41:12 +00:00
AMDGPUTargetTransformInfo.h [AMDGPU] Support horizontal vectorization. 2018-05-01 21:41:12 +00:00
AMDGPUUnifyDivergentExitNodes.cpp Transforms: Introduce Transforms/Utils.h rather than spreading the declarations amongst Scalar.h and IPO.h 2018-03-28 17:44:36 +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][MC] Enabled instruction TBUFFER_LOAD_FORMAT_XYZ for SI/CI 2018-04-04 13:54:55 +00:00
CMakeLists.txt Consistently sort add_subdirectory calls in lib/Target/*/CMakeLists.txt 2018-04-23 12:49:34 +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][MC] Added ds_add_src2_f32 2018-03-28 16:21:56 +00:00
EvergreenInstructions.td AMDGPU: Select BFI patterns with 64-bit ints 2018-02-07 00:21:34 +00:00
FLATInstructions.td [AMDGPU][MC][DISASSEMBLER][GFX9] Corrected decoding of GLOBAL/SCRATCH opcodes 2017-11-27 17:14:35 +00:00
GCNHazardRecognizer.cpp [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
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 IWYU for llvm-config.h in llvm, additions. 2018-04-30 14:59:11 +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 IWYU for llvm-config.h in llvm, additions. 2018-04-30 14:59:11 +00:00
GCNRegPressure.h Rename LiveIntervalAnalysis.h to LiveIntervals.h 2017-12-13 02:51:04 +00:00
GCNSchedStrategy.cpp [NFC] fix trivial typos in comments 2018-01-22 05:54:46 +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 MachineFunction: Return reference from getFunction(); NFC 2017-12-15 22:22:58 +00:00
R600Defines.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
R600EmitClauseMarkers.cpp
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
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 Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +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
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 Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
SIDefines.h AMDGPU: Assign enum name to stack ID 2018-04-23 15:51:26 +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] Support horizontal vectorization. 2018-05-01 21:41:12 +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 Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
SIInsertWaits.cpp Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
SIInstrFormats.td [MachineOperand][Target] MachineOperand::isRenamable semantics changes 2018-02-23 18:25:08 +00:00
SIInstrInfo.cpp Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +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 Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +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 Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
SIPeepholeSDWA.cpp IWYU for llvm-config.h in llvm, additions. 2018-04-30 14:59:11 +00:00
SIRegisterInfo.cpp Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
SIRegisterInfo.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +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 Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +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