[Open64-devel] automatic inlining & preemptible function
Brought to you by:
ributzka,
suneeljain
From: Christophe L. <chr...@st...> - 2002-10-28 14:22:46
|
Hello, I am experiencing some issues when using automatic inlining with Open64 compiler. For instance, with the following sample code: ==================================== int smul0(int a, int b) { return a*b; } int sadd0(int a, int b) { return a+b; } int mac0(int a, int b, int c) { return sadd0(a, smul0(b,c)); } ==================================== If I use the -O2 -INLINE:list=on -INLINE:all=on switches, I get messages such as: smul0 not inlined into mac0: function is preemptible and has not been set to mustinline My question is: what is the exact meaning of preemptible? I thought that within a module (ie .o file), local references where resolved at assembly time, and thus not candidate for later replacement by shared objects. If I am right, smul0 and sadd0 should have been inlined in my example, shouldn't they? Thanks, Christophe. |