-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Add x.py
option to skip rebuilding LLVM
#65612
Comments
To fix this, you'll want to add another option: you should be able to look at the logic for something like Lines 130 to 131 in f042687
|
It would be good if this could be changed in the config file so you don't have to pass in the option all the time. |
@Centril: if it's a config file option, then there should be an |
@varkor sure that seems good, although they can be implemented separately. |
The line you would need to change is near this one: (line 735 of bootstrap.py) if self.get_toml('llvm-config') and self.get_toml('lld') != 'true':
continue It would probably be much easier to add a check against a key in the config, than to add a new flag. |
@rustbot claim 🙂 |
Error: Parsing assign command in comment failed: ...tbot claim|error: expected end of command at >| 🙂 ... Please let |
...sorry, my bad! @rustbot claim EDIT: oh dear, I'm making it worse 🤦♂ |
@Walther are you still working on this? I wouldn't mind picking it up if not. (Sorry - not really sure what the etiquette is re: dormant tickets!) |
Thank you for picking this up! Getting things fixed is the important thing, and I'm sure I'll find something else to fix in the near future when I have more time 🙂 |
…Mark-Simulacrum Add LLVM `skip-rebuild` option to `x.py` This PR reimplements parts of @Walther's work from rust-lang#65848, and closes rust-lang#65612. I decided not to implement the [arguments to override this setting](rust-lang#65612 (comment)) in this PR. If there's strong feeling that this change shouldn't be merged without the overrides then I'm happy to close this until I've had a chance to add them in. Otherwise I'll aim to submit a second PR with those this weekend. I'd have liked to have tested the change in `native.rs`, but there didn't seem to be any existing test infrastructure. I ran this a few times manually and it _worked on my machine_ though... 😬
…ion, r=Centril Add `llvm-skip-rebuild` flag to `x.py` This PR follows on from rust-lang#67437 to complete the feature request from rust-lang#65612. Specifically it adds a new command-line flag, `--llvm-skip-rebuild`, which overrides both any value set in `config.toml` and the default value (`false`). I'm not 100% confident that I've implemented the override in the "best" way, but I've checked it locally and it seems to work at least. This option isn't currently mentioned in the Guide to Rustc Development. I'd be happy to write something on it if folk think that's worthwhile.
…ion, r=Centril Add `llvm-skip-rebuild` flag to `x.py` This PR follows on from rust-lang#67437 to complete the feature request from rust-lang#65612. Specifically it adds a new command-line flag, `--llvm-skip-rebuild`, which overrides both any value set in `config.toml` and the default value (`false`). I'm not 100% confident that I've implemented the override in the "best" way, but I've checked it locally and it seems to work at least. This option isn't currently mentioned in the Guide to Rustc Development. I'd be happy to write something on it if folk think that's worthwhile.
…ulacrum Remove `llvm.skip-rebuild` option This was added to in 2019 to speed up rebuild times when LLVM was modified. Now that download-ci-llvm exists, I don't think it makes sense to support an unsound option like this that can lead to miscompiles; and the code cleanup is nice too. r? `@Mark-Simulacrum` cc `@varkor` rust-lang#65612
The compiler LLVM is rebuilt whenever the built version of LLVM doesn't have the right hash. (Previously it was rebuilt based on a special marker file, which was easier to work around.)
rust/src/bootstrap/native.rs
Lines 88 to 108 in f042687
However, most of the time, having the latest LLVM version is not necessary, but makes rebuilding rustc after rebasing take significantly longer, which is a pain. It would be good to be able to disable this as an option in
x.py
for convenience.This issue has been assigned to @matthew-healy via this comment.
The text was updated successfully, but these errors were encountered: