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.
This is broken, and results in poor performance due to the undefined
behaviour in the LLVM IR. LLVM's
mergefunc
is a much better way ofdoing this since it merges based on the equality of the bytecode.
For example, consider
std::repr
. It generates different code pertype, but is not included in the type bounds of generics.
The
mergefunc
pass works for most of our code but currently hits anassert on libstd. It is receiving attention upstream so it will be
ready soon, but I don't think removing this broken code should wait any
longer. I've opened #9536 about enabling it by default.
Closes #8651
Closes #3547
Closes #2537
Closes #6971
Closes #9222