diff options
author | Ingo Molnar <mingo@elte.hu> | 2006-01-14 13:21:33 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-14 18:27:16 -0800 |
commit | a9df3d0f312f4b1aefec76ae5ee86cccbf7cd4e0 (patch) | |
tree | fa0c3084c1c382c4187854286b2b217a99af039a /include/linux/compiler-gcc4.h | |
parent | ac893963030ad70e528dc23270d499d650546a38 (diff) | |
download | blackbird-op-linux-a9df3d0f312f4b1aefec76ae5ee86cccbf7cd4e0.tar.gz blackbird-op-linux-a9df3d0f312f4b1aefec76ae5ee86cccbf7cd4e0.zip |
[PATCH] When CONFIG_CC_OPTIMIZE_FOR_SIZE, allow gcc4 to control inlining
If optimizing for size (CONFIG_CC_OPTIMIZE_FOR_SIZE), allow gcc4 compilers
to decide what to inline and what not - instead of the kernel forcing gcc
to inline all the time. This requires several places that require to be
inlined to be marked as such, previous patches in this series do that.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Arjan van de Ven <arjan@infradead.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux/compiler-gcc4.h')
-rw-r--r-- | include/linux/compiler-gcc4.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/compiler-gcc4.h b/include/linux/compiler-gcc4.h index 8249115a1f73..6f5cc6f0e7a6 100644 --- a/include/linux/compiler-gcc4.h +++ b/include/linux/compiler-gcc4.h @@ -3,6 +3,15 @@ /* These definitions are for GCC v4.x. */ #include <linux/compiler-gcc.h> +#ifdef CONFIG_FORCED_INLINING +# undef inline +# undef __inline__ +# undef __inline +# define inline inline __attribute__((always_inline)) +# define __inline__ __inline__ __attribute__((always_inline)) +# define __inline __inline __attribute__((always_inline)) +#endif + #define __attribute_used__ __attribute__((__used__)) #define __must_check __attribute__((warn_unused_result)) #define __compiler_offsetof(a,b) __builtin_offsetof(a,b) |