Messages in this thread | | | Date | Thu, 5 Apr 2018 09:20:17 +0200 | From | Peter Zijlstra <> | Subject | Re: [GIT PULL] x86/build changes for v4.17 |
| |
On Wed, Apr 04, 2018 at 04:31:11PM -0700, Matthias Kaehlcke wrote:
> From some experiments it looks like clang, in difference to gcc, does > not treat constant values passed as parameters to inline function as > constants.
Then you're also missing a heap of optimizations in code like rb_erase_augmented() which is specifically constructed to take advantage of constant propagation like that.
Other sites where we expect that to happen is __mutex_lock_common(), __update_load_sum() and a bunch of others. There isn't strictly a bug here, but not doing that constant propagation will still result in shit code gen.
| |