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

Enable emission of alignment attrs for pointer params #57021

Merged
merged 1 commit into from Dec 24, 2018

Conversation

Projects
None yet
4 participants
@nikic
Copy link
Contributor

nikic commented Dec 20, 2018

Instead disable creation of assumptions during inlining using an LLVM opt flag. For non-inlined functions, this gives us alignment information, while not inserting any assumes that kill other optimizations.

The -Z arg-align-attributes option which previously controlled this behavior is removed.

Fixes #54982.

r? @nagisa

cc @eddyb who added the current behavior, and @scottmcm, who added the -Z arg-align-attributes flag.

Enable emission of alignment attrs for pointer params
Instead disable creation of assumptions during inlining using an
LLVM opt flag.

The -Z arg-align-attributes option which previously controlled this
behavior is removed.
@nagisa

This comment has been minimized.

Copy link
Contributor

nagisa commented Dec 21, 2018

@bors r+

It would perhaps make some sense to convert the -Zarg-align-attributes flag to control the LLVM’s -preserve-alignment-assumptions-during-inlining but I'm ambivalent.

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Dec 21, 2018

📌 Commit db24d8e has been approved by nagisa

Centril added a commit to Centril/rust that referenced this pull request Dec 22, 2018

Rollup merge of rust-lang#57021 - nikic:arg-pointer-align, r=nagisa
Enable emission of alignment attrs for pointer params

Instead disable creation of assumptions during inlining using an LLVM opt flag. For non-inlined functions, this gives us alignment information, while not inserting any assumes that kill other optimizations.

The `-Z arg-align-attributes` option which previously controlled this behavior is removed.

Fixes rust-lang#54982.

r? @nagisa

cc @eddyb who added the current behavior, and @scottmcm, who added the `-Z arg-align-attributes` flag.

Centril added a commit to Centril/rust that referenced this pull request Dec 24, 2018

Rollup merge of rust-lang#57021 - nikic:arg-pointer-align, r=nagisa
Enable emission of alignment attrs for pointer params

Instead disable creation of assumptions during inlining using an LLVM opt flag. For non-inlined functions, this gives us alignment information, while not inserting any assumes that kill other optimizations.

The `-Z arg-align-attributes` option which previously controlled this behavior is removed.

Fixes rust-lang#54982.

r? @nagisa

cc @eddyb who added the current behavior, and @scottmcm, who added the `-Z arg-align-attributes` flag.

bors added a commit that referenced this pull request Dec 24, 2018

Auto merge of #57091 - Centril:rollup, r=Centril
Rollup of 9 pull requests

Successful merges:

 - #56944 (bootstrap: Link LLVM as a dylib with ThinLTO)
 - #56978 (Add `std::os::fortanix_sgx` module)
 - #56985 (Allow testing pointers for inboundedness while forbidding dangling pointers)
 - #56986 (rustc: Move jemalloc from rustc_driver to rustc)
 - #57021 (Enable emission of alignment attrs for pointer params)
 - #57031 (Remove QueryResult)
 - #57074 (Fix recursion limits)
 - #57085 (librustc_codegen_llvm: Don't eliminate empty structs in C ABI on linux-sparc64)
 - #57088 (make non_camel_case_types an early lint)

Failed merges:

r? @ghost

Centril added a commit to Centril/rust that referenced this pull request Dec 24, 2018

Rollup merge of rust-lang#57021 - nikic:arg-pointer-align, r=nagisa
Enable emission of alignment attrs for pointer params

Instead disable creation of assumptions during inlining using an LLVM opt flag. For non-inlined functions, this gives us alignment information, while not inserting any assumes that kill other optimizations.

The `-Z arg-align-attributes` option which previously controlled this behavior is removed.

Fixes rust-lang#54982.

r? @nagisa

cc @eddyb who added the current behavior, and @scottmcm, who added the `-Z arg-align-attributes` flag.

bors added a commit that referenced this pull request Dec 24, 2018

Auto merge of #57092 - Centril:rollup, r=Centril
Rollup of 9 pull requests

Successful merges:

 - #56944 (bootstrap: Link LLVM as a dylib with ThinLTO)
 - #56978 (Add `std::os::fortanix_sgx` module)
 - #56985 (Allow testing pointers for inboundedness while forbidding dangling pointers)
 - #56986 (rustc: Move jemalloc from rustc_driver to rustc)
 - #57010 (Actually run compiletest tests on CI)
 - #57021 (Enable emission of alignment attrs for pointer params)
 - #57074 (Fix recursion limits)
 - #57085 (librustc_codegen_llvm: Don't eliminate empty structs in C ABI on linux-sparc64)
 - #57088 (make non_camel_case_types an early lint)

Failed merges:

r? @ghost

bors added a commit that referenced this pull request Dec 24, 2018

Auto merge of #57092 - Centril:rollup, r=Centril
Rollup of 9 pull requests

Successful merges:

 - #56944 (bootstrap: Link LLVM as a dylib with ThinLTO)
 - #56978 (Add `std::os::fortanix_sgx` module)
 - #56985 (Allow testing pointers for inboundedness while forbidding dangling pointers)
 - #56986 (rustc: Move jemalloc from rustc_driver to rustc)
 - #57010 (Actually run compiletest tests on CI)
 - #57021 (Enable emission of alignment attrs for pointer params)
 - #57074 (Fix recursion limits)
 - #57085 (librustc_codegen_llvm: Don't eliminate empty structs in C ABI on linux-sparc64)
 - #57088 (make non_camel_case_types an early lint)

Failed merges:

r? @ghost

Centril added a commit to Centril/rust that referenced this pull request Dec 24, 2018

Rollup merge of rust-lang#57021 - nikic:arg-pointer-align, r=nagisa
Enable emission of alignment attrs for pointer params

Instead disable creation of assumptions during inlining using an LLVM opt flag. For non-inlined functions, this gives us alignment information, while not inserting any assumes that kill other optimizations.

The `-Z arg-align-attributes` option which previously controlled this behavior is removed.

Fixes rust-lang#54982.

r? @nagisa

cc @eddyb who added the current behavior, and @scottmcm, who added the `-Z arg-align-attributes` flag.

bors added a commit that referenced this pull request Dec 24, 2018

Auto merge of #57094 - Centril:rollup, r=Centril
Rollup of 10 pull requests

Successful merges:

 - #55470 (box: Add documentation for `From` impls)
 - #56242 (Add missing link in docs)
 - #56944 (bootstrap: Link LLVM as a dylib with ThinLTO)
 - #56978 (Add `std::os::fortanix_sgx` module)
 - #56985 (Allow testing pointers for inboundedness while forbidding dangling pointers)
 - #56986 (rustc: Move jemalloc from rustc_driver to rustc)
 - #57010 (Actually run compiletest tests on CI)
 - #57021 (Enable emission of alignment attrs for pointer params)
 - #57074 (Fix recursion limits)
 - #57085 (librustc_codegen_llvm: Don't eliminate empty structs in C ABI on linux-sparc64)

Failed merges:

r? @ghost

@bors bors merged commit db24d8e into rust-lang:master Dec 24, 2018

1 check passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details
@bors

This comment has been minimized.

Copy link
Contributor

bors commented Dec 24, 2018

⌛️ Testing commit db24d8e with merge 50f3d6e...

@nagisa

This comment has been minimized.

Copy link
Contributor

nagisa commented Dec 24, 2018

What are you doing, bors?

@bors r- retry

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment