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

shims/super/cc: do not pass -pipe #18231

Merged
merged 1 commit into from
Sep 3, 2024
Merged

Conversation

fxcoudert
Copy link
Member

@fxcoudert fxcoudert commented Sep 2, 2024

I've been wondering for a long time why we pass -pipe to C compilers systematically.

  • On modern filesystems its effect is homeopathic
  • it has no effect with modern clang, because the assembler is now integrated into clang, so only the linker is called as a separate, and it never supported pipes anyway
  • the only other compiler we use for a few formulas is GCC, but even there the effect is marginal on modern OSes

At least, it did not hurt. Well, until clang 16 broke pipe input to the assembler: there, passing -pipe can make GCC actually fail to compile. See OpenMathLib/OpenBLAS#4888 for details.

I'll be filing a bug with Apple about that (it's a regression in clang), but I don't expect it to be fixed soon. Given that -pipe use is historical, I think it's time to say goodbye to it.

@Bo98
Copy link
Member

Bo98 commented Sep 2, 2024

Was originally added in 5c62420. So yes, very historical

  • On modern filesystems its effect is homeopathic

Disk I/O on CI is funky, especially Intel where it's got qemu layers and is slower than native peformance. So it made sense to have as a default.

But if it's never used anyway on Clang then removing it makes sense.

@MikeMcQuaid MikeMcQuaid merged commit cbcf04d into Homebrew:master Sep 3, 2024
27 checks passed
@MikeMcQuaid
Copy link
Member

Thanks @fxcoudert!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants