compiler-gcc.h: Introduce __optimize function attribute

"Linux Kernel Mailing List" <[email protected]> Mon, 12 Feb 2018 17:22:09 +0000 (UTC)
Newsgroups gmane.linux.kernel.commits.head
Message-ID <[email protected]>
Web:        https://git.kernel.org/torvalds/c/df5d45aa08f848b79caf395211b222790534ccc7
Commit:     df5d45aa08f848b79caf395211b222790534ccc7
Parent:     4767b9ad7d762876a5865a06465e13e139a01b6b
Refname:    refs/heads/master
Author:     Geert Uytterhoeven <[email protected]>
AuthorDate: Thu Feb 1 11:21:58 2018 +0100
Committer:  Herbert Xu <[email protected]>
CommitDate: Thu Feb 8 22:37:10 2018 +1100

    compiler-gcc.h: Introduce __optimize function attribute
    
    Create a new function attribute __optimize, which allows to specify an
    optimization level on a per-function basis.
    
    Signed-off-by: Geert Uytterhoeven <[email protected]>
    Acked-by: Ard Biesheuvel <[email protected]>
    Signed-off-by: Herbert Xu <[email protected]>
---
 include/linux/compiler-gcc.h | 4 ++++
 include/linux/compiler.h     | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h
index 2272ded07496..7bba8e28c529 100644
--- a/include/linux/compiler-gcc.h
+++ b/include/linux/compiler-gcc.h
@@ -196,6 +196,10 @@
 #endif /* __CHECKER__ */
 #endif /* GCC_VERSION >= 40300 */
 
+#if GCC_VERSION >= 40400
+#define __optimize(level)	__attribute__((__optimize__(level)))
+#endif /* GCC_VERSION >= 40400 */
+
 #if GCC_VERSION >= 40500
 
 #ifndef __CHECKER__
diff --git a/include/linux/compiler.h b/include/linux/compiler.h
index 188ed9f65517..cdc629f20e20 100644
--- a/include/linux/compiler.h
+++ b/include/linux/compiler.h
@@ -271,6 +271,10 @@ static __always_inline void __write_once_size(volatile void *p, void *res, int s
 
 #endif /* __ASSEMBLY__ */
 
+#ifndef __optimize
+# define __optimize(level)
+#endif
+
 /* Compile time object size, -1 for unknown */
 #ifndef __compiletime_object_size
 # define __compiletime_object_size(obj) -1
--
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html