[Mesa-dev] [PATCH] gallivm: set LLVMNoUnwindAttribute on all intrinsics
Marek Olšák
maraeo at gmail.com
Tue Jul 5 09:36:03 UTC 2016
From: Marek Olšák <marek.olsak at 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);
--
2.7.4
More information about the mesa-dev
mailing list