1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 12:33:33 +02:00
llvm-mirror/lib/Target/AMDGPU
Matt Arsenault afc0bd916e AMDGPU: Custom lower v2f16 fneg/fabs with illegal f16
Fixes terrible code on targets without f16 support. The
legalization creates a mess that is difficult to recover
from. Also should avoid randomly breaking these tests
multiple times in sequence in future commits.

Some regressions in cases where it happens to be better
to pull the source modifier after the conversion.

llvm-svn: 334132
2018-06-06 21:28:11 +00:00
..
AsmParser [AMDGPU] Added checks for dpp_ctrl value 2018-05-08 16:53:02 +00:00
Disassembler AMDGPU: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03:23 +00:00
InstPrinter [AMDGPU] Added checks for dpp_ctrl value 2018-05-08 16:53:02 +00:00
MCTargetDesc [MC] Pass MCSubtargetInfo to fixupNeedsRelaxation and applyFixup 2018-06-06 09:40:06 +00:00
TargetInfo Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
Utils AMDGPU : Recalculate SGPRs when trap handler is supported 2018-05-16 20:47:48 +00:00
AMDGPU.h [AMDGPU] Construct memory clauses before RA 2018-05-31 20:13:51 +00:00
AMDGPU.td AMDGPU: Make v2i16/v2f16 legal on VI 2018-05-22 06:32:10 +00:00
AMDGPUAliasAnalysis.cpp [AMDGPU] Change constant addr space to 4 2018-02-13 18:00:25 +00:00
AMDGPUAliasAnalysis.h
AMDGPUAlwaysInlinePass.cpp AMDGPU: Add option to stress calls 2017-09-21 07:00:48 +00:00
AMDGPUAnnotateKernelFeatures.cpp
AMDGPUAnnotateUniformValues.cpp
AMDGPUArgumentUsageInfo.cpp [CodeGen] Rename functions PrintReg* to printReg* 2017-11-28 12:42:37 +00:00
AMDGPUArgumentUsageInfo.h
AMDGPUAsmPrinter.cpp AMDGPU: Always set COMPUTE_PGM_RSRC2.ENABLE_TRAP_HANDLER to zero for AMDHSA as 2018-05-29 19:09:13 +00:00
AMDGPUAsmPrinter.h [AMDGPU] Add perf hints to functions 2018-05-25 17:25:12 +00:00
AMDGPUCallingConv.td
AMDGPUCallLowering.cpp AMDGPU: Pass function directly instead of MachineFunction 2018-05-29 17:42:50 +00:00
AMDGPUCallLowering.h
AMDGPUCodeGenPrepare.cpp AMDGPU: Preserve metadata when widening loads 2018-06-05 19:52:56 +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
AMDGPUGISel.td AMDGPU/GlobalISel: Implement select() for 32-bit G_FPTOUI 2018-05-11 05:44:16 +00:00
AMDGPUInline.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
AMDGPUInstrInfo.cpp AMDGPU: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03:23 +00:00
AMDGPUInstrInfo.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
AMDGPUInstrInfo.td AMDGPU/R600: Remove code for handling AMDGPUISD::CLAMP 2018-05-24 05:28:34 +00:00
AMDGPUInstructions.td [AMDGPU] Supported ds_write_b128 generation. 2018-03-16 18:12:00 +00:00
AMDGPUInstructionSelector.cpp AMDGPU: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03:23 +00:00
AMDGPUInstructionSelector.h AMDGPU/GlobalISel: Implement select() for 32-bit G_FPTOUI 2018-05-11 05:44:16 +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
AMDGPUISelDAGToDAG.cpp [AMDGPU] Add perf hints to functions 2018-05-25 17:25:12 +00:00
AMDGPUISelLowering.cpp Set ADDE/ADDC/SUBE/SUBC to expand by default 2018-06-01 13:21:33 +00:00
AMDGPUISelLowering.h AMDGPU/R600: Remove code for handling AMDGPUISD::CLAMP 2018-05-24 05:28:34 +00:00
AMDGPULegalizerInfo.cpp [GlobalISel][AMDGPU] LegalizerInfo verifier: Adding LegalizerInfo::verify(...) call for AMDGPU 2018-05-31 16:16:48 +00:00
AMDGPULegalizerInfo.h AMDGPU/GlobalISel: Pass subtarget + TM to LegalizerInfo 2018-03-08 16:24:16 +00:00
AMDGPULibCalls.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +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
AMDGPULowerKernelAttributes.cpp AMDGPU: Add pass to optimize reqd_work_group_size 2018-05-18 21:35:00 +00:00
AMDGPUMachineCFGStructurizer.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
AMDGPUMachineFunction.cpp [AMDGPU] Add perf hints to functions 2018-05-25 17:25:12 +00:00
AMDGPUMachineFunction.h AMDGPU: Round up kernel argument allocation size 2018-05-29 19:35: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 AMDGPU: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03:23 +00:00
AMDGPUMacroFusion.h
AMDGPUMCInstLower.cpp AMDGPU: Split R600 MCInst lowering into its own class 2018-05-29 17:41:59 +00:00
AMDGPUOpenCLEnqueuedBlockLowering.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
AMDGPUPerfHintAnalysis.cpp [AMDGPU] Fixed test failure with AMDGPUPerfHint 2018-05-25 18:46:58 +00:00
AMDGPUPerfHintAnalysis.h Fix -Winconsistent-missing-overrides in AMDGPU code 2018-05-25 17:46:24 +00:00
AMDGPUPromoteAlloca.cpp AMDGPU/SI: Don't promote alloca to vector for atomic load/store 2018-05-17 21:49:44 +00:00
AMDGPUPTNote.h AMDGPU/NFC: Move AMDGPU specific note types to ELF.h 2017-10-12 18:59:54 +00:00
AMDGPURegAsmNames.inc.cpp
AMDGPURegisterBankInfo.cpp AMDGPU: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03: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: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03:23 +00:00
AMDGPURegisterInfo.h AMDGPU: Make getSubRegFromChannel a static member of AMDGPURegisterInfo 2018-05-03 22:38:06 +00:00
AMDGPURegisterInfo.td
AMDGPURewriteOutArguments.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
AMDGPUSearchableTables.td AMDGPU: Dimension-aware image intrinsics 2018-04-04 10:58:54 +00:00
AMDGPUSubtarget.cpp AMDGPU: Round up kernel argument allocation size 2018-05-29 19:35:00 +00:00
AMDGPUSubtarget.h [AMDGPU][Waitcnt] Fix handling of flat instrs 2018-06-04 16:51:59 +00:00
AMDGPUTargetMachine.cpp [AMDGPU] Construct memory clauses before RA 2018-05-31 20:13:51 +00:00
AMDGPUTargetMachine.h AMDGPU: Split AMDGPUTTI into GCNTTI and R600TTI 2018-05-30 22:55:35 +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: Split AMDGPUTTI into GCNTTI and R600TTI 2018-05-30 22:55:35 +00:00
AMDGPUTargetTransformInfo.h AMDGPU: Split AMDGPUTTI into GCNTTI and R600TTI 2018-05-30 22:55:35 +00:00
AMDGPUUnifyDivergentExitNodes.cpp Move Analysis/Utils/Local.h back to Transforms 2018-06-04 21:23:21 +00:00
AMDGPUUnifyMetadata.cpp Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
AMDILCFGStructurizer.cpp AMDGPU: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03:23 +00:00
AMDKernelCodeT.h Remove @brief commands from doxygen comments, too. 2018-05-01 16:10:38 +00:00
BUFInstructions.td AMDGPU: Make various NamedOperands upper case 2018-06-04 14:45:20 +00:00
CaymanInstructions.td [CodeGen] Use MachineOperand::print in the MIRPrinter for MO_Register. 2017-12-07 10:40:31 +00:00
CMakeLists.txt [AMDGPU] Construct memory clauses before RA 2018-05-31 20:13:51 +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: Make various NamedOperands upper case 2018-06-04 14:45:20 +00:00
GCNHazardRecognizer.cpp AMDGPU: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03:23 +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 Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
GCNIterativeScheduler.cpp [AMDGPU] Track occupancy in MFI 2018-05-31 05:36:04 +00:00
GCNIterativeScheduler.h AMDGPU: Partial ILP scheduler port from SelectionDAG to SchedulingDAG (experimental) 2017-11-20 14:35:53 +00:00
GCNMinRegStrategy.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
GCNProcessors.td AMDGPU: Add Vega12 and Vega20 2018-04-30 19:08:16 +00:00
GCNRegPressure.cpp [AMDGPU] Factored out common part of GCNRPTracker::reset() 2018-06-04 17:21:54 +00:00
GCNRegPressure.h [AMDGPU] Factored out common part of GCNRPTracker::reset() 2018-06-04 17:21:54 +00:00
GCNSchedStrategy.cpp [AMDGPU] Small refactoring in the scheduler 2018-06-04 17:57:40 +00:00
GCNSchedStrategy.h [AMDGPU] Track occupancy in MFI 2018-05-31 05:36:04 +00:00
LLVMBuild.txt
MIMGInstructions.td AMDGPU: Make various NamedOperands upper case 2018-06-04 14:45:20 +00:00
R600AsmPrinter.cpp AMDGPU/R600: Make sure functions are cacheline aligned 2018-05-31 04:08:08 +00:00
R600AsmPrinter.h AMDGPU: Split R600 AsmPrinter code into its own class 2018-05-24 20:02:01 +00:00
R600ClauseMergePass.cpp AMDGPU: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03:23 +00:00
R600ControlFlowFinalizer.cpp AMDGPU: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03:23 +00:00
R600Defines.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
R600EmitClauseMarkers.cpp AMDGPU: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03:23 +00:00
R600ExpandSpecialInstrs.cpp AMDGPU: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03:23 +00:00
R600FrameLowering.cpp
R600FrameLowering.h
R600InstrFormats.td AMDGPU: Remove global isGCN predicates 2017-10-03 00:06:41 +00:00
R600InstrInfo.cpp AMDGPU: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03:23 +00:00
R600InstrInfo.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
R600Instructions.td AMDGPU/R600: Move intrinsics to IntrinsicsAMDGPU.td 2018-06-01 02:19:46 +00:00
R600ISelLowering.cpp AMDGPU/R600: Move intrinsics to IntrinsicsAMDGPU.td 2018-06-01 02:19:46 +00:00
R600ISelLowering.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
R600MachineFunctionInfo.cpp
R600MachineFunctionInfo.h
R600MachineScheduler.cpp AMDGPU: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03:23 +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 AMDGPU: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03:23 +00:00
R600Packetizer.cpp AMDGPU: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03:23 +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 AMDGPU: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03:23 +00:00
R600RegisterInfo.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
R600RegisterInfo.td
R600Schedule.td
R700Instructions.td
SIAnnotateControlFlow.cpp Move Analysis/Utils/Local.h back to Transforms 2018-06-04 21:23:21 +00:00
SIDebuggerInsertNops.cpp AMDGPU: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03:23 +00:00
SIDefines.h [AMDGPU] Added checks for dpp_ctrl value 2018-05-08 16:53:02 +00:00
SIFixSGPRCopies.cpp AMDGPU: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03:23 +00:00
SIFixVGPRCopies.cpp AMDGPU: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03:23 +00:00
SIFixWWMLiveness.cpp AMDGPU: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03:23 +00:00
SIFoldOperands.cpp AMDGPU: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03:23 +00:00
SIFormMemoryClauses.cpp [AMDGPU] Construct memory clauses before RA 2018-05-31 20:13:51 +00:00
SIFrameLowering.cpp AMDGPU: Pass function directly instead of MachineFunction 2018-05-29 17:42:50 +00:00
SIFrameLowering.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
SIInsertSkips.cpp AMDGPU: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03:23 +00:00
SIInsertWaitcnts.cpp [AMDGPU][Waitcnt] Fix handling of flat instrs 2018-06-04 16:51:59 +00:00
SIInstrFormats.td [MachineOperand][Target] MachineOperand::isRenamable semantics changes 2018-02-23 18:25:08 +00:00
SIInstrInfo.cpp [AMDGPU] Construct memory clauses before RA 2018-05-31 20:13:51 +00:00
SIInstrInfo.h AMDGPU: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03:23 +00:00
SIInstrInfo.td AMDGPU: Make various NamedOperands upper case 2018-06-04 14:45:20 +00:00
SIInstructions.td AMDGPU: Custom lower v2f16 fneg/fabs with illegal f16 2018-06-06 21:28:11 +00:00
SIIntrinsics.td
SIISelLowering.cpp AMDGPU: Custom lower v2f16 fneg/fabs with illegal f16 2018-06-06 21:28:11 +00:00
SIISelLowering.h AMDGPU: Use better alignment for kernarg lowering 2018-05-30 16:17:51 +00:00
SILoadStoreOptimizer.cpp AMDGPU: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03:23 +00:00
SILowerControlFlow.cpp [AMDGPU] Fixed incorrect break from loop 2018-05-25 07:55:04 +00:00
SILowerI1Copies.cpp AMDGPU: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03:23 +00:00
SIMachineFunctionInfo.cpp [AMDGPU] Track occupancy in MFI 2018-05-31 05:36:04 +00:00
SIMachineFunctionInfo.h [AMDGPU] Track occupancy in MFI 2018-05-31 05:36:04 +00:00
SIMachineScheduler.cpp AMDGPU: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03:23 +00:00
SIMachineScheduler.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
SIMemoryLegalizer.cpp AMDGPU: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03:23 +00:00
SIOptimizeExecMasking.cpp AMDGPU: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03:23 +00:00
SIOptimizeExecMaskingPreRA.cpp AMDGPU: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03:23 +00:00
SIPeepholeSDWA.cpp AMDGPU: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03:23 +00:00
SIRegisterInfo.cpp AMDGPU: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03:23 +00:00
SIRegisterInfo.h AMDGPU: Remove #include "MCTargetDesc/AMDGPUMCTargetDesc.h" from common headers 2018-05-22 02:03:23 +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 AMDGPU: Remove AMDGPUMCInstLower.h 2018-05-25 04:57:02 +00:00
SIWholeQuadMode.cpp [AMDGPU] Fixed WWM bug in block otherwise entirely in WQM 2018-05-27 17:26:11 +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: Fix v_dot{4, 8}* instruction encoding 2018-05-15 19:32:47 +00:00
VOP3PInstructions.td AMDGPU: Fix v_dot{4, 8}* instruction encoding 2018-05-15 19:32:47 +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