From a49ebf6f6e6ccefeb8bc04ba53e16b0611bf3c0d Mon Sep 17 00:00:00 2001 From: foreman Date: Tue, 16 Sep 2014 23:14:51 -0400 Subject: [PATCH] P4 to Git Change 1077642 by yaxunl@yaxunl_stg_win50 on 2014/09/16 23:00:53 EPR #402000 - [CQE OCL][Perf][QR] ~6-7% perf drop in CompuCL Benchmark (Graphics: T-Rex subtest). Add option to disable SC merge memory loads and stores. By default it is disabled. Will decide whether to enable it by default after performance runs. cherrypick 1076590 and CL#1077419 from sc stg for adding option in sc. Affected files ... ... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/sc/Interface/SCCommon.h#42 integrate ... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/sc/Src/CompilerBase.cpp#51 integrate ... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/sc/Src/CompilerBase.hpp#35 integrate ... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/sc/Src/HwUtils.cpp#36 integrate ... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/scwrapper/scState.cpp#32 edit ... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/OPTIONS.def#114 edit --- rocclr/compiler/lib/utils/OPTIONS.def | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/rocclr/compiler/lib/utils/OPTIONS.def b/rocclr/compiler/lib/utils/OPTIONS.def index fb293d0692..97beab603e 100644 --- a/rocclr/compiler/lib/utils/OPTIONS.def +++ b/rocclr/compiler/lib/utils/OPTIONS.def @@ -700,6 +700,14 @@ OPTION(OT_BOOL, \ false, 0, 0, NULL, \ "SC does not unroll loops") +// -fsc-disable-merge-memory +OPTION(OT_BOOL, \ + OA_RUNTIME|OA_RUNTIME|OVIS_SUPPORT|OVA_DISALLOWED|OFA_PREFIX_F, \ + "sc-disable-merge-memory", NULL, \ + SCDisableMergeMemory, \ + false, 0, 0, NULL, \ + "SC does not merge memory loads and stores") + // -fsc-bias-schedule-to-minimize-regs OPTION(OT_BOOL, \ OA_RUNTIME|OA_RUNTIME|OVIS_SUPPORT|OVA_DISALLOWED|OFA_PREFIX_F, \