As discussed in [0], this diff adds the skipprofile attribute to
prevent the function from being profiled while allowing profiled
functions to be inlined into it. The noprofile attribute remains
unchanged.
The noprofile attribute is used for functions where it is
dangerous to add instrumentation to while the skipprofile attribute is
used to reduce code size or performance overhead.
[0] https://discourse.llvm.org/t/why-does-the-noprofile-attribute-restrict-inlining/64108