-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
codegen #[naked]
functions using global asm
#128004
Open
folkertdev
wants to merge
7
commits into
rust-lang:master
Choose a base branch
from
folkertdev:naked-fn-asm
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
+686
−129
Commits on Oct 7, 2024
-
Configuration menu - View commit details
-
Copy full SHA for ed9caf4 - Browse repository at this point
Copy the full SHA ed9caf4View commit details -
squashed changes to inlining and const eval
first steps of codegen for `#[naked]` functions using `global_asm!` configure external linkage if no linkage is explicitly set create a `FunctionCx` and properly evaluate consts inline attribute is no longer relevant for naked functions the naked attribute no longer needs to be set by llvm/... we're generating global asm now, so this attribute is meaningless for the codegen backend
Configuration menu - View commit details
-
Copy full SHA for 3e95dcc - Browse repository at this point
Copy the full SHA 3e95dccView commit details -
Configuration menu - View commit details
-
Copy full SHA for ca51a80 - Browse repository at this point
Copy the full SHA ca51a80View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7ebfe9e - Browse repository at this point
Copy the full SHA 7ebfe9eView commit details -
correctly emit `.hidden` this test was added in rust-lang#105193 but actually NO_COVERAGE is no longer a thing in the compiler. Sadly, the link to the issue is broken, so I don't know what the problem was originally, but I don't think this is relevant any more with the global asm approach rename test file because it now specifically checks for directives only used by non-macos, non-windows x86_64 add codegen tests for 4 interesting platforms add codegen test for the `#[instruction_set]` attribute add test for `#[link_section]` use `tcx.codegen_fn_attrs` to get attribute info Fix rust-lang#124375 inline const monomorphization/evaluation getting rid of FunctionCx mark naked functions as `InstantiatedMode::GloballyShared` this makes sure that the function prototype is defined correctly, and we don't see LLVM complaining about a global value with invalid linkage monomorphize type given to `SymFn` remove hack that always emits `.globl` monomorphize type given to `Const` remove `linkage_directive` make naked functions always have external linkage mark naked functions as `#[inline(never)]` add test file for functional generics/const/impl/trait usage of naked functions
Configuration menu - View commit details
-
Copy full SHA for 20012cc - Browse repository at this point
Copy the full SHA 20012ccView commit details -
make naked functions always have external linkage *in LLVM*. If we do…
… it earlier, then some other logic causes invalid visibility for the item (exporting when it shouldn't).
Configuration menu - View commit details
-
Copy full SHA for 55e31b8 - Browse repository at this point
Copy the full SHA 55e31b8View commit details -
- codegen tests: change `windows` to `win` - cleanup - fix review comments - better way of checking for thumb - get the mangled name from the codegen backend - propagate function alignment - fix gcc backend - fix asan test - check that assembler mode restored
Configuration menu - View commit details
-
Copy full SHA for f36e463 - Browse repository at this point
Copy the full SHA f36e463View commit details
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.