From c57ef1bb5bea64c7dd9b341615067f0ad75a6e2e Mon Sep 17 00:00:00 2001 From: foreman Date: Mon, 27 Jul 2015 08:46:17 -0400 Subject: [PATCH] P4 to Git Change 1174141 by vpykhtin@vpykhtin-HSA on 2015/07/27 08:36:29 ECR #333753 - HSA HLC: --denorms-f32-are-zero flag support Testing: smoke, presubmit Reviewed by Brian Sumner, Evgeny Mankov Affected files ... ... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/linker.cpp#127 edit ... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/BRIGAsmPrinter.cpp#119 edit ... //depot/stg/opencl/drivers/opencl/tests/hsa/src/llc/opt/intrinsics/flush-denorms.cl#1 add ... //depot/stg/opencl/drivers/opencl/tests/hsa/tlst/llc_opt.tlst#38 edit --- rocclr/compiler/lib/backends/common/linker.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/rocclr/compiler/lib/backends/common/linker.cpp b/rocclr/compiler/lib/backends/common/linker.cpp index 9cedf0b0f4..0dd0f09ef8 100644 --- a/rocclr/compiler/lib/backends/common/linker.cpp +++ b/rocclr/compiler/lib/backends/common/linker.cpp @@ -111,6 +111,10 @@ #endif #define DEBUG_TYPE "ocl_linker" +#if !defined(LEGACY_COMPLIB) +extern bool HLC_FlushF32Denorms; +#endif + namespace AMDSpir { extern void replaceTrivialFunc(llvm::Module& M); } @@ -641,6 +645,11 @@ amdcl::OCLLinker::link(llvm::Module* input, std::vector &libs) setFP32RoundDivideSqrt(Options()->oVariables->FP32RoundDivideSqrt); setUseNative(Options()->oVariables->OptUseNative); setDenormsAreZero(Options()->oVariables->DenormsAreZero); +#if !defined(LEGACY_COMPLIB) + // TODO: Enable the following line to pass DenormsAreZero option to the HLC + // when ready + // HLC_FlushF32Denorms = Options()->oVariables->DenormsAreZero; +#endif setUniformWorkGroupSize(Options()->oVariables->UniformWorkGroupSize); setHaveFastFMA32(chip == "Cypress" || chip == "Cayman"