-
Notifications
You must be signed in to change notification settings - Fork 550
create guide to ICE-breaker groups and specifically advice for LLVM #452
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
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
# ICE-breakers | ||
|
||
The **ICE-breaker groups** are an easy way to help out with rustc in a | ||
"piece-meal" fashion, without committing to a larger project. | ||
ICE-breaker groups are **[easy to join](#join)** (just submit a PR!) | ||
and joining does not entail any particular commitment. | ||
|
||
Once you [join an ICE ICE-breaker group](#join), you will be added to | ||
a list that receives pings on github whenever a new issue is found | ||
that fits the ICE-breaker group's criteria. If you are interested, you | ||
can then [claim the issue] and start working on it. | ||
|
||
Of course, you don't have to wait for new issues to be tagged! If you | ||
prefer, you can use the Github label for an ICE-breaker group to | ||
search for existing issues that haven't been claimed yet. | ||
|
||
## What issues are a good fit for ICE-breaker groups? | ||
|
||
"ICE-breaker issues" are intended to be **isolated** bugs of **middle | ||
priority**: | ||
|
||
- By **isolated**, we mean that we do not expect large-scale refactoring | ||
to be required to fix the bug. | ||
- By **middle priority**, we mean that we'd like to see the bug fixed, | ||
but it's not such a burning problem that we are dropping everything | ||
else to fix it. The danger with such bugs, of course, is that they | ||
can accumulate over time, and the role of the ICE-breaker groups is | ||
to try and stop that from happening! | ||
|
||
<a name="join"></a> | ||
|
||
## Joining an ICE-breaker group | ||
|
||
TBD -- we are building this mechanism right now! In the meantime, drop | ||
in on Zulip and leave your github name in [this topic][topic]. | ||
|
||
[topic]: https://rust-lang.zulipchat.com/#narrow/stream/187780-t-compiler.2Fwg-llvm/topic/llvm.20ice-breaker.20registration |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
# LLVM ICE-breakers | ||
|
||
**Github Label:** [ICEBreaker-LLVM] | ||
|
||
[ICEBreaker-LLVM]: https://github.com/rust-lang/rust/labels/ICEBreaker-LLVM | ||
|
||
The "LLVM ICE-breakers" are focused on bugs that center around LLVM. | ||
These bugs often arise because of LLVM optimizations gone awry, or as | ||
the result of an LLVM upgrade. The goal here is: | ||
|
||
- to determine whether the bug is a result of us generating invalid LLVM IR, | ||
or LLVM misoptimizing; | ||
- if the former, to fix our IR; | ||
- if the latter, to try and file a bug on LLVM (or identify an existing bug). | ||
|
||
## Helpful tips and options | ||
|
||
The ["Debugging LLVM"][d] section of the | ||
rustc-guide gives a step-by-step process for how to help debug bugs | ||
caused by LLVM. In particular, it discusses how to emit LLVM IR, run | ||
the LLVM IR optimization pipeliness, and so forth. You may also find | ||
it useful to look at the various codegen options listed under `-Chelp` | ||
and the internal options under `-Zhelp` -- there are a number that | ||
pertain to LLVM (just search for LLVM). | ||
|
||
[d]: ../codegen/debugging.md | ||
nikomatsakis marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
## If you do narrow to an LLVM bug | ||
|
||
The ["Debugging LLVM"][d] section also describes what to do once | ||
you've identified the bug. |
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.
Uh oh!
There was an error while loading. Please reload this page.