mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-30 05:29:47 +00:00
Some instructions like memory reads/writes are executed asynchronously, so we need to insert S_WAITCNT instructions to block before accessing their results. Previously we have just inserted S_WAITCNT instructions after each async instruction, this patch fixes this and adds a prober insertion pass. Patch by: Christian König Tested-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> Signed-off-by: Christian König <deathsimple@vodafone.de> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172846 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
InstPrinter | ||
MCTargetDesc | ||
TargetInfo | ||
AMDGPU.h | ||
AMDGPU.td | ||
AMDGPUAsmPrinter.cpp | ||
AMDGPUAsmPrinter.h | ||
AMDGPUCodeEmitter.h | ||
AMDGPUConvertToISA.cpp | ||
AMDGPUInstrInfo.cpp | ||
AMDGPUInstrInfo.h | ||
AMDGPUInstrInfo.td | ||
AMDGPUInstructions.td | ||
AMDGPUIntrinsics.td | ||
AMDGPUISelLowering.cpp | ||
AMDGPUISelLowering.h | ||
AMDGPUMCInstLower.cpp | ||
AMDGPUMCInstLower.h | ||
AMDGPURegisterInfo.cpp | ||
AMDGPURegisterInfo.h | ||
AMDGPURegisterInfo.td | ||
AMDGPUStructurizeCFG.cpp | ||
AMDGPUSubtarget.cpp | ||
AMDGPUSubtarget.h | ||
AMDGPUTargetMachine.cpp | ||
AMDGPUTargetMachine.h | ||
AMDIL7XXDevice.cpp | ||
AMDIL7XXDevice.h | ||
AMDIL.h | ||
AMDILBase.td | ||
AMDILCFGStructurizer.cpp | ||
AMDILDevice.cpp | ||
AMDILDevice.h | ||
AMDILDeviceInfo.cpp | ||
AMDILDeviceInfo.h | ||
AMDILDevices.h | ||
AMDILEvergreenDevice.cpp | ||
AMDILEvergreenDevice.h | ||
AMDILFrameLowering.cpp | ||
AMDILFrameLowering.h | ||
AMDILInstrInfo.td | ||
AMDILIntrinsicInfo.cpp | ||
AMDILIntrinsicInfo.h | ||
AMDILIntrinsics.td | ||
AMDILISelDAGToDAG.cpp | ||
AMDILISelLowering.cpp | ||
AMDILNIDevice.cpp | ||
AMDILNIDevice.h | ||
AMDILPeepholeOptimizer.cpp | ||
AMDILRegisterInfo.td | ||
AMDILSIDevice.cpp | ||
AMDILSIDevice.h | ||
CMakeLists.txt | ||
LLVMBuild.txt | ||
Makefile | ||
Processors.td | ||
R600Defines.h | ||
R600ExpandSpecialInstrs.cpp | ||
R600InstrInfo.cpp | ||
R600InstrInfo.h | ||
R600Instructions.td | ||
R600Intrinsics.td | ||
R600ISelLowering.cpp | ||
R600ISelLowering.h | ||
R600MachineFunctionInfo.cpp | ||
R600MachineFunctionInfo.h | ||
R600RegisterInfo.cpp | ||
R600RegisterInfo.h | ||
R600RegisterInfo.td | ||
R600Schedule.td | ||
SIAnnotateControlFlow.cpp | ||
SIAssignInterpRegs.cpp | ||
SIInsertWaits.cpp | ||
SIInstrFormats.td | ||
SIInstrInfo.cpp | ||
SIInstrInfo.h | ||
SIInstrInfo.td | ||
SIInstructions.td | ||
SIIntrinsics.td | ||
SIISelLowering.cpp | ||
SIISelLowering.h | ||
SILowerControlFlow.cpp | ||
SILowerLiteralConstants.cpp | ||
SIMachineFunctionInfo.cpp | ||
SIMachineFunctionInfo.h | ||
SIRegisterInfo.cpp | ||
SIRegisterInfo.h | ||
SIRegisterInfo.td | ||
SISchedule.td |