1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-23 13:02:52 +02:00
llvm-mirror/lib/Target/AMDGPU
Matt Arsenault 6b427f77ee LoadStoreVectorizer: Split even sized illegal chains properly
Implement isLegalToVectorizeLoadChain for AMDGPU to avoid
producing private address spaces accesses that will need to be
split up later. This was doing the wrong thing in the case
where the queried chain was an even number of elements.

A possible <4 x i32> store was being split into
store <2 x i32>
store i32
store i32

rather than
store <2 x i32>
store <2 x i32>

when legal.

llvm-svn: 295933
2017-02-23 03:58:53 +00:00
..
AsmParser [AMDGPU] Add target information that is required by tools to metadata 2017-02-08 14:05:23 +00:00
Disassembler AMDGPU: Fix disassembly of aperture registers 2017-02-18 18:41:41 +00:00
InstPrinter AMDGPU: Change exp with compr bit printing 2017-02-22 20:37:12 +00:00
MCTargetDesc AMDGPU: Fix trailing whitespace 2017-02-10 02:42:31 +00:00
TargetInfo Move the global variables representing each Target behind accessor function 2016-10-09 23:00:34 +00:00
Utils AMDGPU: Merge initial gfx9 support 2017-02-18 18:29:53 +00:00
AMDGPU.h AMDGPU: Merge initial gfx9 support 2017-02-18 18:29:53 +00:00
AMDGPU.td AMDGPU: Redefine clamp node as clamp 0.0-1.0 2017-02-21 23:35:48 +00:00
AMDGPUAlwaysInlinePass.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
AMDGPUAnnotateKernelFeatures.cpp AMDGPU: Merge initial gfx9 support 2017-02-18 18:29:53 +00:00
AMDGPUAnnotateUniformValues.cpp [AMDGPU] Scalarization of global uniform loads. 2016-12-08 17:28:47 +00:00
AMDGPUAsmPrinter.cpp AMDGPU: Redefine clamp node as clamp 0.0-1.0 2017-02-21 23:35:48 +00:00
AMDGPUAsmPrinter.h [AMDGPU] Lower null pointers in static variable initializer 2017-02-07 00:43:21 +00:00
AMDGPUCallingConv.td AMDGPU: Fix kernel argument alignment impacting stack size 2016-06-18 05:15:53 +00:00
AMDGPUCallLowering.cpp AMDGPU: Fix release build broken by r293551 2017-01-30 22:02:58 +00:00
AMDGPUCallLowering.h Re-commit AMDGPU/GlobalISel: Add support for simple shaders 2017-01-30 21:56:46 +00:00
AMDGPUCodeGenPrepare.cpp AMDGPU: Improve nsw/nuw/exact when promoting uniform i16 ops 2017-02-01 16:25:23 +00:00
AMDGPUFrameLowering.cpp [AMDGPU, PowerPC, TableGen] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2016-12-09 22:06:55 +00:00
AMDGPUFrameLowering.h [AMDGPU, PowerPC, TableGen] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2016-12-09 22:06:55 +00:00
AMDGPUGenRegisterBankInfo.def Re-commit AMDGPU/GlobalISel: Add support for simple shaders 2017-01-30 21:56:46 +00:00
AMDGPUInstrInfo.cpp AMDGPU: Merge initial gfx9 support 2017-02-18 18:29:53 +00:00
AMDGPUInstrInfo.h MachineScheduler: Export function to construct "default" scheduler. 2016-11-28 20:11:54 +00:00
AMDGPUInstrInfo.td AMDGPU: Add cvt.pkrtz intrinsic 2017-02-22 00:27:34 +00:00
AMDGPUInstructions.td AMDGPU: Add another BFE pattern 2017-02-23 00:23:43 +00:00
AMDGPUInstructionSelector.cpp AMDGPU/SI: Fix inst-select-load-smrd.mir on some builds 2017-01-31 15:24:11 +00:00
AMDGPUInstructionSelector.h Re-commit AMDGPU/GlobalISel: Add support for simple shaders 2017-01-30 21:56:46 +00:00
AMDGPUIntrinsicInfo.cpp AMDGPU: Change fdiv lowering based on !fpmath metadata 2016-07-19 23:16:53 +00:00
AMDGPUIntrinsicInfo.h AMDGPU: Change fdiv lowering based on !fpmath metadata 2016-07-19 23:16:53 +00:00
AMDGPUIntrinsics.td AMDGPU: Remove llvm.AMDGPU.clamp intrinsic 2017-02-21 23:46:04 +00:00
AMDGPUISelDAGToDAG.cpp AMDGPU: Generalize matching of v_med3_f32 2017-01-31 03:07:46 +00:00
AMDGPUISelLowering.cpp AMDGPU: Add cvt.pkrtz intrinsic 2017-02-22 00:27:34 +00:00
AMDGPUISelLowering.h AMDGPU: Add cvt.pkrtz intrinsic 2017-02-22 00:27:34 +00:00
AMDGPULegalizerInfo.cpp Re-commit AMDGPU/GlobalISel: Add support for simple shaders 2017-01-30 21:56:46 +00:00
AMDGPULegalizerInfo.h Re-commit AMDGPU/GlobalISel: Add support for simple shaders 2017-01-30 21:56:46 +00:00
AMDGPULowerIntrinsics.cpp AMDGPU::expandMemIntrinsicUses(): Fix an uninitialized variable. This function returned true or undef. 2017-02-12 13:15:31 +00:00
AMDGPUMachineFunction.cpp AMDGPU: Make AMDGPUMachineFunction fields private 2016-07-26 16:45:58 +00:00
AMDGPUMachineFunction.h AMDGPU/SI: Set correct value for amd_kernel_code_t::kernarg_segment_alignment 2016-12-06 21:53:10 +00:00
AMDGPUMCInstLower.cpp [AMDGPU] Lower null pointers in static variable initializer 2017-02-07 00:43:21 +00:00
AMDGPUMCInstLower.h Reapply "AMDGPU: Support using tablegened MC pseudo expansions" 2016-10-06 17:19:11 +00:00
AMDGPUOpenCLImageTypeLoweringPass.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
AMDGPUPromoteAlloca.cpp [AMDGPU] Account workgroup size in LDS occupancy limits 2017-02-01 22:59:50 +00:00
AMDGPUPTNote.h [AMDGPU] Bump up n_type for metadata v2 2017-01-25 20:47:17 +00:00
AMDGPURegisterBankInfo.cpp AMDGPU: Fix release build broken by r293551 2017-01-30 22:02:58 +00:00
AMDGPURegisterBankInfo.h Re-commit AMDGPU/GlobalISel: Add support for simple shaders 2017-01-30 21:56:46 +00:00
AMDGPURegisterBanks.td Re-commit AMDGPU/GlobalISel: Add support for simple shaders 2017-01-30 21:56:46 +00:00
AMDGPURegisterInfo.cpp AMDGPU: Move R600 only pieces into R600 classes 2016-07-09 18:11:15 +00:00
AMDGPURegisterInfo.h AMDGPU: Move R600 only pieces into R600 classes 2016-07-09 18:11:15 +00:00
AMDGPURegisterInfo.td
AMDGPURuntimeMetadata.h [AMDGPU] Add target information that is required by tools to metadata 2017-02-08 14:05:23 +00:00
AMDGPUSubtarget.cpp AMDGPU: Redefine clamp node as clamp 0.0-1.0 2017-02-21 23:35:48 +00:00
AMDGPUSubtarget.h AMDGPU : Update TrapCode based on Trap Handler ABI. 2017-02-22 23:22:19 +00:00
AMDGPUTargetMachine.cpp AMDGPU: Merge initial gfx9 support 2017-02-18 18:29:53 +00:00
AMDGPUTargetMachine.h [AMDGPU] Lower null pointers in static variable initializer 2017-02-07 00:43:21 +00:00
AMDGPUTargetObjectFile.cpp Target: Change various section classifiers in TargetLoweringObjectFile to take a GlobalObject. 2016-10-24 19:23:39 +00:00
AMDGPUTargetObjectFile.h Target: Change various section classifiers in TargetLoweringObjectFile to take a GlobalObject. 2016-10-24 19:23:39 +00:00
AMDGPUTargetTransformInfo.cpp LoadStoreVectorizer: Split even sized illegal chains properly 2017-02-23 03:58:53 +00:00
AMDGPUTargetTransformInfo.h LoadStoreVectorizer: Split even sized illegal chains properly 2017-02-23 03:58:53 +00:00
AMDGPUUnifyMetadata.cpp [AMDGPU] Turn AMDGPUUnifyMetadata back into module pass 2017-01-27 16:38:10 +00:00
AMDILCFGStructurizer.cpp Drop graph_ prefix 2017-02-09 20:37:46 +00:00
AMDKernelCodeT.h
BUFInstructions.td AMDGPU/SI: Add a MachineMemOperand when lowering llvm.amdgcn.buffer.load.* 2016-12-20 17:19:44 +00:00
CaymanInstructions.td AMDGPU: Select mulhi 24-bit instructions 2016-08-27 01:32:27 +00:00
CIInstructions.td [AMDGPU] Refactor VOP1 and VOP2 instruction TD definitions 2016-09-23 09:08:07 +00:00
CMakeLists.txt AMDGPU: Add pass to expand memcpy/memmove/memset 2017-02-09 22:00:42 +00:00
DSInstructions.td [AMDGPU][mc] Fix AddressSanitizer leftover issue in gfx7_asm_all test 2017-02-03 12:47:30 +00:00
EvergreenInstructions.td AMDGPU: Add another BFE pattern 2017-02-23 00:23:43 +00:00
FLATInstructions.td AMDGPU: split ret/noret patterns for global atomics 2016-12-23 15:34:51 +00:00
GCNHazardRecognizer.cpp AMDGPU: Merge initial gfx9 support 2017-02-18 18:29:53 +00:00
GCNHazardRecognizer.h AMDGPU: Merge initial gfx9 support 2017-02-18 18:29:53 +00:00
GCNSchedStrategy.cpp [AMDGPU] Revert failed scheduling 2017-02-15 17:19:50 +00:00
GCNSchedStrategy.h [AMDGPU] Revert failed scheduling 2017-02-15 17:19:50 +00:00
LLVMBuild.txt AMDGPU: Add GlobalISel to required_libraries. 2017-01-28 18:13:08 +00:00
MIMGInstructions.td AMDGPU/SI: Add a MachineMemOperand to MIMG instructions 2016-12-20 15:52:17 +00:00
Processors.td AMDGPU: Merge initial gfx9 support 2017-02-18 18:29:53 +00:00
R600ClauseMergePass.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
R600ControlFlowFinalizer.cpp [AMDGPU] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-20 17:52:16 +00:00
R600Defines.h AMDGPU: R600 code splitting cleanup 2016-03-11 08:00:27 +00:00
R600EmitClauseMarkers.cpp AMDGPU/R600: Assert on infinite loop in EmitClauseMarkers 2017-02-18 04:24:10 +00:00
R600ExpandSpecialInstrs.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
R600FrameLowering.cpp [AMDGPU, PowerPC, TableGen] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2016-12-12 22:23:53 +00:00
R600FrameLowering.h [AMDGPU, PowerPC, TableGen] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2016-12-09 22:06:55 +00:00
R600InstrFormats.td AMDGPU/R600: Convert buffer id to VTX_READ input 2016-08-15 21:38:30 +00:00
R600InstrInfo.cpp [AMDGPU] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-20 17:52:16 +00:00
R600InstrInfo.h Finish renaming remaining analyzeBranch functions 2016-09-14 20:43:16 +00:00
R600Instructions.td AMDGPU: Remove llvm.AMDGPU.cube intrinsic 2017-02-16 19:09:04 +00:00
R600Intrinsics.td AMDGPU: Fix TargetPrefix for remaining r600 intrinsics 2016-07-15 21:27:08 +00:00
R600ISelLowering.cpp AMDGPU: Cleanup fmin/fmax legacy function 2017-02-01 00:42:40 +00:00
R600ISelLowering.h AMDGPU: Fix i1 fp_to_int 2016-07-22 17:01:21 +00:00
R600MachineFunctionInfo.cpp AMDGPU: Delete more dead code 2016-07-22 17:01:25 +00:00
R600MachineFunctionInfo.h AMDGPU: Delete more dead code 2016-07-22 17:01:25 +00:00
R600MachineScheduler.cpp CodeGen: Use MachineInstr& in TargetInstrInfo, NFC 2016-06-30 00:01:54 +00:00
R600MachineScheduler.h [AMDGPU, PowerPC, TableGen] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2016-12-09 22:06:55 +00:00
R600OptimizeVectorRegisters.cpp [AMDGPU, PowerPC, TableGen] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2016-12-12 22:23:53 +00:00
R600Packetizer.cpp Fix spelling mistakes in AMDGPU target comments. NFC. 2016-11-18 11:04:02 +00:00
R600RegisterInfo.cpp AMDGPU: Move R600 only pieces into R600 classes 2016-07-09 18:11:15 +00:00
R600RegisterInfo.h AMDGPU: Move R600 only pieces into R600 classes 2016-07-09 18:11:15 +00:00
R600RegisterInfo.td
R600Schedule.td AMDGPU: Fix trailing whitespace 2016-06-10 02:18:02 +00:00
R700Instructions.td
SIAnnotateControlFlow.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
SIDebuggerInsertNops.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
SIDefines.h AMDGPU: Fold FP clamp as modifier bit 2017-02-22 23:27:53 +00:00
SIFixControlFlowLiveIntervals.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
SIFixSGPRCopies.cpp [CodeGen] Rename MachineInstrBuilder::addOperand. NFC 2017-01-13 09:58:52 +00:00
SIFixVGPRCopies.cpp [AMDGPU] Add VGPR copies post regalloc fix pass 2017-01-24 17:46:17 +00:00
SIFoldOperands.cpp AMDGPU: Use clamp with f64 2017-02-22 23:53:37 +00:00
SIFrameLowering.cpp AMDGPU: Don't add emergency stack slot if all spills are SGPR->VGPR 2017-02-22 22:23:32 +00:00
SIFrameLowering.h AMDGPU: Merge initial gfx9 support 2017-02-18 18:29:53 +00:00
SIInsertSkips.cpp AMDGPU: Remove spurious out branches after a kill 2017-01-24 22:18:39 +00:00
SIInsertWaits.cpp [AMDGPU] Add target information that is required by tools to metadata 2017-02-08 14:05:23 +00:00
SIInstrFormats.td AMDGPU: Fold FP clamp as modifier bit 2017-02-22 23:27:53 +00:00
SIInstrInfo.cpp AMDGPU: Don't use stack space for SGPR->VGPR spills 2017-02-21 19:12:08 +00:00
SIInstrInfo.h AMDGPU: Fold FP clamp as modifier bit 2017-02-22 23:27:53 +00:00
SIInstrInfo.td AMDGPU: Fold FP clamp as modifier bit 2017-02-22 23:27:53 +00:00
SIInstructions.td AMDGPU: Add another BFE pattern 2017-02-23 00:23:43 +00:00
SIIntrinsics.td AMDGPU: Remove llvm.SI.sendmsg 2017-02-16 02:01:17 +00:00
SIISelLowering.cpp AMDGPU: Use clamp with f64 2017-02-22 23:53:37 +00:00
SIISelLowering.h AMDGPU: Add cvt.pkrtz intrinsic 2017-02-22 00:27:34 +00:00
SILoadStoreOptimizer.cpp [AMDGPU] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-21 00:53:49 +00:00
SILowerControlFlow.cpp [AMDGPU] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-20 17:52:16 +00:00
SILowerI1Copies.cpp [CodeGen] Rename MachineInstrBuilder::addOperand. NFC 2017-01-13 09:58:52 +00:00
SIMachineFunctionInfo.cpp AMDGPU: Don't use stack space for SGPR->VGPR spills 2017-02-21 19:12:08 +00:00
SIMachineFunctionInfo.h AMDGPU: Don't use stack space for SGPR->VGPR spills 2017-02-21 19:12:08 +00:00
SIMachineScheduler.cpp AMDGPU: Fixed '!NodePtr->isKnownSentinel()' assert 2016-12-22 16:06:32 +00:00
SIMachineScheduler.h Revert "[AMDGPU] Fix for SIMachineScheduler crash. SI Scheduler should track" 2017-02-14 14:29:05 +00:00
SIOptimizeExecMasking.cpp AMDGPU: Fix use-after-free in SIOptimizeExecMasking 2016-10-07 08:40:14 +00:00
SIRegisterInfo.cpp AMDGPU: Don't use stack space for SGPR->VGPR spills 2017-02-21 19:12:08 +00:00
SIRegisterInfo.h AMDGPU: Don't use stack space for SGPR->VGPR spills 2017-02-21 19:12:08 +00:00
SIRegisterInfo.td AMDGPU: Don't use stack space for SGPR->VGPR spills 2017-02-21 19:12:08 +00:00
SISchedule.td AMDGPU: Implement early ifcvt target hooks. 2017-01-25 04:25:02 +00:00
SIShrinkInstructions.cpp [CodeGen] Rename MachineInstrBuilder::addOperand. NFC 2017-01-13 09:58:52 +00:00
SITypeRewriter.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
SIWholeQuadMode.cpp [AMDGPU, PowerPC, TableGen] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2016-12-09 22:06:55 +00:00
SMInstructions.td AMDGPU: Remove a useless VI SMRD pattern 2017-01-30 12:25:14 +00:00
SOPInstructions.td AMDGPU/SI: Implement sendmsghalt intrinsic 2017-01-04 18:06:55 +00:00
VIInstrFormats.td [AMDGPU] Refactor VOP1 and VOP2 instruction TD definitions 2016-09-23 09:08:07 +00:00
VIInstructions.td AMDGPU: Add VI i16 support 2016-11-10 16:02:37 +00:00
VOP1Instructions.td AMDGPU: Fix trailing whitespace 2017-02-10 02:42:31 +00:00
VOP2Instructions.td AMDGPU: Add cvt.pkrtz intrinsic 2017-02-22 00:27:34 +00:00
VOP3Instructions.td AMDGPU: Remove modifiers from v_div_scale_* 2017-01-19 06:04:12 +00:00
VOPCInstructions.td [AMDGPU] Add subtarget features for SDWA/DPP 2017-01-20 10:01:25 +00:00
VOPInstructions.td AMDGPU: Fold FP clamp as modifier bit 2017-02-22 23:27:53 +00:00