[Bf-blender-cvs] [ea940bcb539] master: New BLI_NOINLINE macro

Jacques Lucke noreply at git.blender.org
Mon Apr 29 10:48:05 CEST 2019


Commit: ea940bcb539cc23cf01c230e295b6d3e05c50846
Author: Jacques Lucke
Date:   Mon Apr 29 10:00:49 2019 +0200
Branches: master
https://developer.blender.org/rBea940bcb539cc23cf01c230e295b6d3e05c50846

New BLI_NOINLINE macro

This macro is handy in at least two occasions:
* When you want to check the optimized generated assembly for
some small function that would get inlined otherwise.
* The marked function will be visible in profiling results.

I can't test the implementations for other compilers now,
so I did not include them.

Reviewers: brecht, campbellbarton

Differential Revision: https://developer.blender.org/D4754

===================================================================

M	source/blender/blenlib/BLI_compiler_compat.h

===================================================================

diff --git a/source/blender/blenlib/BLI_compiler_compat.h b/source/blender/blenlib/BLI_compiler_compat.h
index 80c564a70c7..bd1cd327d3c 100644
--- a/source/blender/blenlib/BLI_compiler_compat.h
+++ b/source/blender/blenlib/BLI_compiler_compat.h
@@ -45,4 +45,10 @@ template<typename T> static inline T decltype_helper(T x)
 #    define BLI_INLINE static inline __attribute__((always_inline)) __attribute__((__unused__))
 #  endif
 
+#  if defined(__GNUC__)
+#    define BLI_NOINLINE __attribute__((noinline))
+#  else
+#    define BLI_NOINLINE
+#  endif
+
 #endif /* __BLI_COMPILER_COMPAT_H__ */



More information about the Bf-blender-cvs mailing list