From 6cb1ec00473d0044fb65b8b0807ebbf105f2629b Mon Sep 17 00:00:00 2001
From: foreman
Date: Tue, 30 Aug 2016 21:40:25 -0400
Subject: [PATCH] P4 to Git Change 1308969 by lmoriche@lmoriche_opencl_dev on
2016/08/30 21:30:32
SWDEV-94644 - Run prepare-builtins on the control functions.
Affected files ...
... //depot/stg/opencl/drivers/opencl/library/build/Makefile.library#53 edit
... //depot/stg/opencl/drivers/opencl/make/amdgcn.git/oclc/build/Makefile.oclc#7 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.cpp#19 edit
---
rocclr/runtime/device/rocm/rocprogram.cpp | 80 +++++++++++++++--------
1 file changed, 51 insertions(+), 29 deletions(-)
diff --git a/rocclr/runtime/device/rocm/rocprogram.cpp b/rocclr/runtime/device/rocm/rocprogram.cpp
index 74d287ea9a..c63c3da7fb 100644
--- a/rocclr/runtime/device/rocm/rocprogram.cpp
+++ b/rocclr/runtime/device/rocm/rocprogram.cpp
@@ -16,21 +16,21 @@
#include "builtins-ockl.amdgcn.inc"
#include "builtins-ocml.amdgcn.inc"
#include "builtins-opencl.amdgcn.inc"
-#include "correctly_rounded_sqrt_off.amdgcn.inc"
-#include "correctly_rounded_sqrt_on.amdgcn.inc"
-#include "daz_opt_off.amdgcn.inc"
-#include "daz_opt_on.amdgcn.inc"
-#include "finite_only_off.amdgcn.inc"
-#include "finite_only_on.amdgcn.inc"
-#include "isa_version_701.amdgcn.inc"
-#include "isa_version_800.amdgcn.inc"
-#include "isa_version_801.amdgcn.inc"
-#include "isa_version_802.amdgcn.inc"
-#include "isa_version_803.amdgcn.inc"
-#include "isa_version_804.amdgcn.inc"
-#include "isa_version_810.amdgcn.inc"
-#include "unsafe_math_off.amdgcn.inc"
-#include "unsafe_math_on.amdgcn.inc"
+#include "control-correctly_rounded_sqrt_off.amdgcn.inc"
+#include "control-correctly_rounded_sqrt_on.amdgcn.inc"
+#include "control-daz_opt_off.amdgcn.inc"
+#include "control-daz_opt_on.amdgcn.inc"
+#include "control-finite_only_off.amdgcn.inc"
+#include "control-finite_only_on.amdgcn.inc"
+#include "control-isa_version_701.amdgcn.inc"
+#include "control-isa_version_800.amdgcn.inc"
+#include "control-isa_version_801.amdgcn.inc"
+#include "control-isa_version_802.amdgcn.inc"
+#include "control-isa_version_803.amdgcn.inc"
+#include "control-isa_version_804.amdgcn.inc"
+#include "control-isa_version_810.amdgcn.inc"
+#include "control-unsafe_math_off.amdgcn.inc"
+#include "control-unsafe_math_on.amdgcn.inc"
#else // !defined(WITH_LIGHTNING_COMPILER)
#include "roccompilerlib.hpp"
#endif // !defined(WITH_LIGHTNING_COMPILER)
@@ -772,27 +772,33 @@ namespace roc {
switch (dev().deviceInfo().gfxipVersion_) {
case 701:
isa_version = std::make_pair(
- isa_version_701_amdgcn, isa_version_701_amdgcn_size);
+ control_isa_version_701_amdgcn,
+ control_isa_version_701_amdgcn_size);
break;
case 800:
isa_version = std::make_pair(
- isa_version_800_amdgcn, isa_version_800_amdgcn_size);
+ control_isa_version_800_amdgcn,
+ control_isa_version_800_amdgcn_size);
break;
case 801:
isa_version = std::make_pair(
- isa_version_801_amdgcn, isa_version_801_amdgcn_size);
+ control_isa_version_801_amdgcn,
+ control_isa_version_801_amdgcn_size);
break;
case 802:
isa_version = std::make_pair(
- isa_version_802_amdgcn, isa_version_802_amdgcn_size);
+ control_isa_version_802_amdgcn,
+ control_isa_version_802_amdgcn_size);
break;
case 803:
isa_version = std::make_pair(
- isa_version_803_amdgcn, isa_version_803_amdgcn_size);
+ control_isa_version_803_amdgcn,
+ control_isa_version_803_amdgcn_size);
break;
case 810:
isa_version = std::make_pair(
- isa_version_810_amdgcn, isa_version_810_amdgcn_size);
+ control_isa_version_810_amdgcn,
+ control_isa_version_810_amdgcn_size);
break;
default:
buildLog_ += "Error: Linking for this device is not supported\n";
@@ -810,23 +816,39 @@ namespace roc {
inputs.push_back(isa_version_bc);
auto correctly_rounded_sqrt = (options->oVariables->FP32RoundDivideSqrt)
- ? std::make_pair(correctly_rounded_sqrt_on_amdgcn, correctly_rounded_sqrt_on_amdgcn_size)
- : std::make_pair(correctly_rounded_sqrt_off_amdgcn, correctly_rounded_sqrt_off_amdgcn_size);
+ ? std::make_pair(
+ control_correctly_rounded_sqrt_on_amdgcn,
+ control_correctly_rounded_sqrt_on_amdgcn_size)
+ : std::make_pair(
+ control_correctly_rounded_sqrt_off_amdgcn,
+ control_correctly_rounded_sqrt_off_amdgcn_size);
auto daz_opt = (dev().deviceInfo().gfxipVersion_ < 900
|| options->oVariables->DenormsAreZero)
- ? std::make_pair(daz_opt_on_amdgcn, daz_opt_on_amdgcn_size)
- : std::make_pair(daz_opt_off_amdgcn, daz_opt_off_amdgcn_size);
+ ? std::make_pair(
+ control_daz_opt_on_amdgcn,
+ control_daz_opt_on_amdgcn_size)
+ : std::make_pair(
+ control_daz_opt_off_amdgcn,
+ control_daz_opt_off_amdgcn_size);
auto finite_only = (options->oVariables->FiniteMathOnly
|| options->oVariables->FastRelaxedMath)
- ? std::make_pair(finite_only_on_amdgcn, finite_only_on_amdgcn_size)
- : std::make_pair(finite_only_off_amdgcn, finite_only_off_amdgcn_size);
+ ? std::make_pair(
+ control_finite_only_on_amdgcn,
+ control_finite_only_on_amdgcn_size)
+ : std::make_pair(
+ control_finite_only_off_amdgcn,
+ control_finite_only_off_amdgcn_size);
auto unsafe_math = (options->oVariables->UnsafeMathOpt
|| options->oVariables->FastRelaxedMath)
- ? std::make_pair(unsafe_math_on_amdgcn, unsafe_math_on_amdgcn_size)
- : std::make_pair(unsafe_math_off_amdgcn, unsafe_math_off_amdgcn_size);
+ ? std::make_pair(
+ control_unsafe_math_on_amdgcn,
+ control_unsafe_math_on_amdgcn_size)
+ : std::make_pair(
+ control_unsafe_math_off_amdgcn,
+ control_unsafe_math_off_amdgcn_size);
Data* correctly_rounded_sqrt_bc = C->NewBufferReference(DT_LLVM_BC,
(const char*) correctly_rounded_sqrt.first, correctly_rounded_sqrt.second);