This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[COMMITTED] benchtests: Mark output variables as used


Prevent function calls that don't return anything from being optimized
out by the compiler by marking its input variables as used.

This prevents the sincos function call from being optimized out in the
benchmark.

Siddhesh
---
 ChangeLog                   | 5 +++++
 benchtests/scripts/bench.py | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index dd5a2b5..2d53b2b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2015-11-17  Siddhesh Poyarekar  <siddhesh.poyarekar@linaro.org>
+
+	* benchtests/scripts/bench.py (_print_arg_data): Mark output variables
+	as used.
+
 2015-11-16  Florian Weimer  <fweimer@redhat.com>
 
 	* math/test-signgam-finite-c99.c (_Mlong_double_): Undefine.
diff --git a/benchtests/scripts/bench.py b/benchtests/scripts/bench.py
index ee856db..7752c8a 100755
--- a/benchtests/scripts/bench.py
+++ b/benchtests/scripts/bench.py
@@ -164,7 +164,7 @@ def _print_arg_data(func, directives, all_vals):
             if pos == -1:
                 die('Output argument must be a pointer type')
 
-            outargs.append('static %s out%d;' % (arg[1:pos], i))
+            outargs.append('static %s out%d __attribute__((used));' % (arg[1:pos], i))
             func_args.append(' &out%d' % i)
         else:
             arg_struct.append('  %s volatile arg%d;' % (arg, i))
-- 
2.4.3


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]