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

[upstream llvm] removal of CodeGenOptions::StackAlignmentOverride #345

Open
nickdesaulniers opened this issue Jun 8, 2021 · 3 comments
Open

Comments

@nickdesaulniers
Copy link

I'm removing this upstream in https://reviews.llvm.org/D103048; IIRC llvm-hs is using this. Once rebased, Module::getOverrideStackAlignment should be used instead.

nickdesaulniers added a commit to llvm/llvm-project that referenced this issue Jun 8, 2021
Similar to D102742, specifying the stack alignment via CodegenOpts means
that this flag gets dropped during LTO, unless the command line is
re-specified as a plugin opt. Instead, encode this information as a
module level attribute so that we don't have to expose this llvm
internal flag when linking the Linux kernel with LTO.

Looks like external dependencies might need a fix:
* llvm-hs/llvm-hs#345
* halide/Halide#6079

Link: ClangBuiltLinux/linux#1377

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D103048
nickdesaulniers added a commit to llvm/llvm-project that referenced this issue Jun 8, 2021
Relands commit 433c8d9 with fixes for
MIPS.

Similar to D102742, specifying the stack alignment via CodegenOpts means
that this flag gets dropped during LTO, unless the command line is
re-specified as a plugin opt. Instead, encode this information as a
module level attribute so that we don't have to expose this llvm
internal flag when linking the Linux kernel with LTO.

Looks like external dependencies might need a fix:
* llvm-hs/llvm-hs#345
* halide/Halide#6079

Link: ClangBuiltLinux/linux#1377

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D103048
@andrew-wja
Copy link
Member

Thanks for the heads up! Any idea if this will make it into a 12.X release? If not I will move it to the LLVM 13 milestone, but if it's going to be present in LLVM 12.0.0 but absent in LLVM 12.0.1 (or similar modulo bumps to the least significant version digit) then we will probably need to take a little more care in handling it.

@nickdesaulniers
Copy link
Author

Any idea if this will make it into a 12.X release?

It will not; the release/12.x branch exists (but I don't think release/13.x does yet, it will be branched from main soon) but the release manager is trying to cut the final 12.0.1 release soon. I don't plan to cherry pick it back, or request that be done.

@andrew-wja
Copy link
Member

That's good news, it means we don't have to think about releasing a second 12.X version of llvm-hs. I'll assign this to the LLVM 13 milestone.

@andrew-wja andrew-wja added this to the LLVM 13 Support milestone Jun 9, 2021
arichardson pushed a commit to arichardson/llvm-project that referenced this issue Sep 13, 2021
Similar to D102742, specifying the stack alignment via CodegenOpts means
that this flag gets dropped during LTO, unless the command line is
re-specified as a plugin opt. Instead, encode this information as a
module level attribute so that we don't have to expose this llvm
internal flag when linking the Linux kernel with LTO.

Looks like external dependencies might need a fix:
* llvm-hs/llvm-hs#345
* halide/Halide#6079

Link: ClangBuiltLinux/linux#1377

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D103048
arichardson pushed a commit to arichardson/llvm-project that referenced this issue Sep 13, 2021
Relands commit 433c8d9 with fixes for
MIPS.

Similar to D102742, specifying the stack alignment via CodegenOpts means
that this flag gets dropped during LTO, unless the command line is
re-specified as a plugin opt. Instead, encode this information as a
module level attribute so that we don't have to expose this llvm
internal flag when linking the Linux kernel with LTO.

Looks like external dependencies might need a fix:
* llvm-hs/llvm-hs#345
* halide/Halide#6079

Link: ClangBuiltLinux/linux#1377

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D103048
vgvassilev pushed a commit to vgvassilev/clang that referenced this issue Dec 28, 2022
Similar to D102742, specifying the stack alignment via CodegenOpts means
that this flag gets dropped during LTO, unless the command line is
re-specified as a plugin opt. Instead, encode this information as a
module level attribute so that we don't have to expose this llvm
internal flag when linking the Linux kernel with LTO.

Looks like external dependencies might need a fix:
* llvm-hs/llvm-hs#345
* halide/Halide#6079

Link: ClangBuiltLinux/linux#1377

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D103048

llvm-monorepo: 433c8d950cb3a1fa0977355ce0367e8c763a3f13
vgvassilev pushed a commit to vgvassilev/clang that referenced this issue Dec 28, 2022
Relands commit 433c8d950cb3a1fa0977355ce0367e8c763a3f13 with fixes for
MIPS.

Similar to D102742, specifying the stack alignment via CodegenOpts means
that this flag gets dropped during LTO, unless the command line is
re-specified as a plugin opt. Instead, encode this information as a
module level attribute so that we don't have to expose this llvm
internal flag when linking the Linux kernel with LTO.

Looks like external dependencies might need a fix:
* llvm-hs/llvm-hs#345
* halide/Halide#6079

Link: ClangBuiltLinux/linux#1377

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D103048

llvm-monorepo: 3787ee457173c3612aac4c9b1a2b6d6ab0202616
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

No branches or pull requests

2 participants