diff --git a/src/gpu-compute/gpu_exec_context.cc b/src/gpu-compute/gpu_exec_context.cc index ca694187c..c39bec392 100644 --- a/src/gpu-compute/gpu_exec_context.cc +++ b/src/gpu-compute/gpu_exec_context.cc @@ -37,7 +37,7 @@ #include "gpu-compute/wavefront.hh" GPUExecContext::GPUExecContext(ComputeUnit *_cu, Wavefront *_wf) - : cu(_cu), wf(_wf), gpuISA(_wf->gpuISA()) + : cu(_cu), wf(_wf), gpuISA(_wf ? &_wf->gpuISA() : nullptr) { } @@ -56,11 +56,13 @@ GPUExecContext::wavefront() TheGpuISA::MiscReg GPUExecContext::readMiscReg(int opIdx) const { - return gpuISA.readMiscReg(opIdx); + assert(gpuISA); + return gpuISA->readMiscReg(opIdx); } void GPUExecContext::writeMiscReg(int opIdx, TheGpuISA::MiscReg operandVal) { - gpuISA.writeMiscReg(opIdx, operandVal); + assert(gpuISA); + gpuISA->writeMiscReg(opIdx, operandVal); } diff --git a/src/gpu-compute/gpu_exec_context.hh b/src/gpu-compute/gpu_exec_context.hh index f7c021c0d..513a06151 100644 --- a/src/gpu-compute/gpu_exec_context.hh +++ b/src/gpu-compute/gpu_exec_context.hh @@ -55,7 +55,7 @@ class GPUExecContext protected: ComputeUnit *cu; Wavefront *wf; - TheGpuISA::GPUISA &gpuISA; + TheGpuISA::GPUISA *gpuISA; }; #endif // __GPU_EXEC_CONTEXT_HH__