On 05/07/16 10:36, Marek Olšák wrote:
From: Marek Olšák <marek.ol...@amd.com>

RadeonSI stats: Mostly 0% difference, but Valley shows a small improvement:

  Application            Files    SGPRs     VGPRs   SpillSGPR SpillVGPR Code 
Size    LDS    Max Waves   Waits
  unigine_valley           278    0.00 %   -0.29 %    0.00 %    0.00 %    0.01 
%    0.00 %    0.17 %    0.00 %
---
  src/gallium/auxiliary/gallivm/lp_bld_intr.c | 6 ++++--
  1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/gallium/auxiliary/gallivm/lp_bld_intr.c 
b/src/gallium/auxiliary/gallivm/lp_bld_intr.c
index 0a8f996..f12e735 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_intr.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_intr.c
@@ -145,8 +145,10 @@ lp_build_intrinsic(LLVMBuilderRef builder,

        function = lp_declare_intrinsic(module, name, ret_type, arg_types, 
num_args);

-      if (attr)
-          LLVMAddFunctionAttr(function, attr);
+      /* NoUnwind indicates that the intrinsic never raises a C++ exception.
+       * Set it for all intrinsics.
+       */
+      LLVMAddFunctionAttr(function, attr | LLVMNoUnwindAttribute);

        if (gallivm_debug & GALLIVM_DEBUG_IR) {
           lp_debug_dump_value(function);


Reviewed-by: Jose Fonseca <jfons...@vmware.com>


BTW, there are functions in llvmpipe besides instrinsics that never generate C++ exceptions. We should eventually set this attr on all them then.


Jose
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to