Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Broken inlining #13551

Closed
yuyichao opened this issue Oct 11, 2015 · 1 comment
Closed

Broken inlining #13551

yuyichao opened this issue Oct 11, 2015 · 1 comment
Labels
performance Must go faster regression Regression in behavior compared to a previous version

Comments

@yuyichao
Copy link
Contributor

Seems that inlining is broken on the current master.

Tested using the test script for #13286 .

For bad commit, the code_typed clearly shows that many simple functions are not inlined.

Bisected to a33cd07

a33cd07f8a0fe2dd4ef3fecf809add2bb2a493c9 is the first bad commit
commit a33cd07f8a0fe2dd4ef3fecf809add2bb2a493c9
Author: Jameson Nash <vtjnash@gmail.com>
Date:   Wed Oct 7 16:35:53 2015 -0400

    preserve inline line numbers during inlining

:040000 040000 d51f01700bc9077c02bb204a541e6746967a4617 423dc659aee3291be27807b8f0f23cab918241d1 M        base

Bisect log

git bisect start
# bad: [af71b86edde26e607fc95fd8a8e73075ef675745] Do not pass RTLD_DEEPIND to dlopen in asan mode
git bisect bad af71b86edde26e607fc95fd8a8e73075ef675745
# good: [b5bebf2b05f63ad11f19a252cff2244a719337e8] Merge pull request #13453 from matthieugomez/patch-1
git bisect good b5bebf2b05f63ad11f19a252cff2244a719337e8
# bad: [646ea37c810c0f6e8c099b3d7f1c45f96b66fe6d] Merge pull request #13491 from JuliaLang/jn/lineno_fixes
git bisect bad 646ea37c810c0f6e8c099b3d7f1c45f96b66fe6d
# good: [930e6b55327c6caf60d0eae4d71ffdf43e55fbae] set a min target architecture of pentium4 to require support for sse2 and _mm_pause
git bisect good 930e6b55327c6caf60d0eae4d71ffdf43e55fbae
# good: [fb4b161ece65a6e48451f97aa2bfd0ba986b2709] Merge pull request #13478 from wildart/fix-13375
git bisect good fb4b161ece65a6e48451f97aa2bfd0ba986b2709
# good: [0d923f917d2269f25b9173ca56c9fce06542ed33] Merge pull request #13489 from KristofferC/kc/amulbdoc
git bisect good 0d923f917d2269f25b9173ca56c9fce06542ed33
# bad: [af81d6c7fe09f57ab268ccd731bc2d2f4aee9a95] fix #922 (wrong line numbers in error expressions) and remove old hacks around this issue
git bisect bad af81d6c7fe09f57ab268ccd731bc2d2f4aee9a95
# bad: [a33cd07f8a0fe2dd4ef3fecf809add2bb2a493c9] preserve inline line numbers during inlining
git bisect bad a33cd07f8a0fe2dd4ef3fecf809add2bb2a493c9
# first bad commit: [a33cd07f8a0fe2dd4ef3fecf809add2bb2a493c9] preserve inline line numbers during inlining

Noticed that this is already caught by @andreasnoack in the commit comment after the bisect. I decided to post it anyway since there doesn't seems to be an issue for it yet.

cc @vtjnash

@damiendr
Copy link
Contributor

In case you need an easier way to detect this with automated tools: the code I posted (#13552) incurs a very severe penalty, 9x slower and 30x more memory allocations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
performance Must go faster regression Regression in behavior compared to a previous version
Projects
None yet
Development

No branches or pull requests

3 participants