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
Stanislav Mekhanoshin 0a8e20606c [AMDGPU] Internalize non-kernel symbols
Since we have no call support and late linking we can produce code
only for used symbols. This saves compilation time, size of the final
executable, and size of any intermediate dumps.

Run Internalize pass early in the opt pipeline followed by global
DCE pass. To enable it RT can pass -amdgpu-internalize-symbols option.

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

llvm-svn: 293549
2017-01-30 21:05:18 +00:00
..
AsmParser [AMDGPU][mc] Fix memory corruption uncovered by AddressSanitizer during coverage/smoke Gfx7/8 testing. 2017-01-27 22:19:42 +00:00
Disassembler AMDGPU: Fix handling of 16-bit immediates 2016-12-10 00:39:12 +00:00
InstPrinter AMDGPU: Change vintrp printing 2016-12-14 16:36:12 +00:00
MCTargetDesc [AMDGPU] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-20 17:52:16 +00:00
TargetInfo Move the global variables representing each Target behind accessor function 2016-10-09 23:00:34 +00:00
Utils Revert "AMDGPU/GlobalISel: Add support for simple shaders" 2017-01-30 17:42:41 +00:00
AMDGPU.h [AMDGPU] Turn AMDGPUUnifyMetadata back into module pass 2017-01-27 16:38:10 +00:00
AMDGPU.td Revert "AMDGPU/GlobalISel: Add support for simple shaders" 2017-01-30 17:42:41 +00:00
AMDGPUAlwaysInlinePass.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
AMDGPUAnnotateKernelFeatures.cpp AMDGPU : Add trap handler support. 2017-01-24 06:41:21 +00:00
AMDGPUAnnotateUniformValues.cpp [AMDGPU] Scalarization of global uniform loads. 2016-12-08 17:28:47 +00:00
AMDGPUAsmPrinter.cpp [AMDGPU] Grab MCSubtargetInfo from TargetMachine instead of constructing it 2017-01-27 18:32:40 +00:00
AMDGPUAsmPrinter.h [AMDGPU] Fix obsolete comments, spotted by Malcolm Parsons. (NFC) 2017-01-23 23:41:16 +00:00
AMDGPUCallingConv.td AMDGPU: Fix kernel argument alignment impacting stack size 2016-06-18 05:15:53 +00:00
AMDGPUCallLowering.cpp Revert "AMDGPU/GlobalISel: Add support for simple shaders" 2017-01-30 17:42:41 +00:00
AMDGPUCallLowering.h Revert "AMDGPU/GlobalISel: Add support for simple shaders" 2017-01-30 17:42:41 +00:00
AMDGPUCodeGenPrepare.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
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
AMDGPUInstrInfo.cpp MachineScheduler: Export function to construct "default" scheduler. 2016-11-28 20:11:54 +00:00
AMDGPUInstrInfo.h MachineScheduler: Export function to construct "default" scheduler. 2016-11-28 20:11:54 +00:00
AMDGPUInstrInfo.td AMDGPU/R600: Serialize vector trunc stores to private AS 2017-01-20 21:24:26 +00:00
AMDGPUInstructions.td [AMDGPU] Implement f16 fcopysign and fcopysign(f32, f64) 2017-01-13 19:49:25 +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 read_workdim intrinsic 2016-07-25 20:17:02 +00:00
AMDGPUISelDAGToDAG.cpp AMDGPU: Make i32 uaddo/usubo legal 2017-01-30 18:11:38 +00:00
AMDGPUISelLowering.cpp Revert "AMDGPU/GlobalISel: Add support for simple shaders" 2017-01-30 17:42:41 +00:00
AMDGPUISelLowering.h AMDGPU: Check nsz instead of unsafe math 2017-01-25 06:27:02 +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 Cleanup dump() functions. 2017-01-28 02:02:38 +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 Cleanup dump() functions. 2017-01-28 02:02:38 +00:00
AMDGPUPTNote.h [AMDGPU] Bump up n_type for metadata v2 2017-01-25 20:47:17 +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] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-20 17:52:16 +00:00
AMDGPUSubtarget.cpp AMDGPU: Enable FeatureFlatForGlobal on Volcanic Islands 2017-01-27 17:42:26 +00:00
AMDGPUSubtarget.h Revert "AMDGPU/GlobalISel: Add support for simple shaders" 2017-01-30 17:42:41 +00:00
AMDGPUTargetMachine.cpp [AMDGPU] Internalize non-kernel symbols 2017-01-30 21:05:18 +00:00
AMDGPUTargetMachine.h Replace addEarlyAsPossiblePasses callback with adjustPassManager 2017-01-26 16:49:08 +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 AMDGPU: Fix atomic_inc/atomic_dec + ds_swizzle not being divergent 2017-01-30 17:09:47 +00:00
AMDGPUTargetTransformInfo.h [X86] updating TTI costs for arithmetic instructions on X86\SLM arch. 2017-01-11 08:23:37 +00:00
AMDGPUUnifyMetadata.cpp [AMDGPU] Turn AMDGPUUnifyMetadata back into module pass 2017-01-27 16:38:10 +00:00
AMDILCFGStructurizer.cpp [AMDGPU] Fix build broken in r292688. 2017-01-21 01:34:25 +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 Revert "AMDGPU/GlobalISel: Add support for simple shaders" 2017-01-30 17:42:41 +00:00
DSInstructions.td AMDGPU: Add VI i16 support 2016-11-10 16:02:37 +00:00
EvergreenInstructions.td ADMGPU/EG,CM: Implement _noret global atomics 2017-01-16 21:20:13 +00:00
FLATInstructions.td AMDGPU: split ret/noret patterns for global atomics 2016-12-23 15:34:51 +00:00
GCNHazardRecognizer.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
GCNHazardRecognizer.h AMDGPU/SI: Handle hazard with s_rfe_b64 2016-10-27 23:50:21 +00:00
GCNSchedStrategy.cpp [AMDGPU] Fix typo in GCNSchedStrategy 2017-01-26 10:51:47 +00:00
GCNSchedStrategy.h AMDGPU/SI: Implement a custom MachineSchedStrategy 2016-08-29 19:42:52 +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: Refactor processor definition to use ISA version features 2016-10-26 16:37:56 +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
R600EmitClauseMarkers.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
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/R600: Serialize vector trunc stores to private AS 2017-01-20 21:24:26 +00:00
R600Intrinsics.td AMDGPU: Fix TargetPrefix for remaining r600 intrinsics 2016-07-15 21:27:08 +00:00
R600ISelLowering.cpp AMDGPU add support for spilling to a user sgpr pointed buffers 2017-01-25 01:25:13 +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
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: Fix handling of 16-bit immediates 2016-12-10 00:39:12 +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: Fix folding immediates into mac src2 2017-01-11 22:00:02 +00:00
SIFrameLowering.cpp AMDGPU add support for spilling to a user sgpr pointed buffers 2017-01-25 01:25:13 +00:00
SIFrameLowering.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
SIInsertSkips.cpp AMDGPU: Remove spurious out branches after a kill 2017-01-24 22:18:39 +00:00
SIInsertWaits.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
SIInstrFormats.td AMDGPU: Fix vintrp disassembly 2016-12-10 00:29:55 +00:00
SIInstrInfo.cpp AMDGPU: Implement early ifcvt target hooks. 2017-01-25 04:25:02 +00:00
SIInstrInfo.h AMDGPU: Implement early ifcvt target hooks. 2017-01-25 04:25:02 +00:00
SIInstrInfo.td AMDGPU: Undo sub x, c -> add x, -c canonicalization 2017-01-30 19:30:24 +00:00
SIInstructions.td AMDGPU: Undo sub x, c -> add x, -c canonicalization 2017-01-30 19:30:24 +00:00
SIIntrinsics.td AMDGPU: Refactor exp instructions 2016-12-05 20:23:10 +00:00
SIISelLowering.cpp AMDGPU: Make i32 uaddo/usubo legal 2017-01-30 18:11:38 +00:00
SIISelLowering.h AMDGPU: Custom lower more vector operations 2017-01-23 23:09:58 +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 add support for spilling to a user sgpr pointed buffers 2017-01-25 01:25:13 +00:00
SIMachineFunctionInfo.h AMDGPU add support for spilling to a user sgpr pointed buffers 2017-01-25 01:25:13 +00:00
SIMachineScheduler.cpp AMDGPU: Fixed '!NodePtr->isKnownSentinel()' assert 2016-12-22 16:06:32 +00:00
SIMachineScheduler.h [AMDGPU] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-21 00:53:49 +00:00
SIOptimizeExecMasking.cpp AMDGPU: Fix use-after-free in SIOptimizeExecMasking 2016-10-07 08:40:14 +00:00
SIRegisterInfo.cpp AMDGPU add support for spilling to a user sgpr pointed buffers 2017-01-25 01:25:13 +00:00
SIRegisterInfo.h [AMDGPU] Do not allow register coalescer to create big superregs 2017-01-18 17:30:05 +00:00
SIRegisterInfo.td AMDGPU: Make AllocationPriority of SGPRs higher than VGPRs 2016-12-14 16:52:06 +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] Assembler: SDWA/DPP should not accept scalar registers and immediate operands 2017-01-11 11:46:30 +00:00
VOP2Instructions.td AMDGPU: Undo sub x, c -> add x, -c canonicalization 2017-01-30 19:30:24 +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] Add subtarget features for SDWA/DPP 2017-01-20 10:01:25 +00:00