-
Notifications
You must be signed in to change notification settings - Fork 793
Fix binary emitting of br_if with a refined value by emitting a cast #6510
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
Show all changes
105 commits
Select commit
Hold shift + click to select a range
f835f74
uilds
kripken 0ae495f
builds
kripken 7c7ff86
todo
kripken a1075d2
tests
kripken a787489
test
kripken 497d0b8
fix
kripken 097970b
same
kripken 23f006c
fix
kripken 1233da1
test
kripken a5e6037
fix
kripken 47bdc44
test notes
kripken d152156
fix
kripken e285a11
fix
kripken 205c4e9
fix
kripken cfdd78f
fix
kripken 585f9c8
test, sad
kripken 57879cf
typo
kripken 235af4f
thinking out loud
kripken 90dd4b8
work
kripken 532c214
yolo
kripken 4342d57
work
kripken e8d5f6b
work
kripken 96c2bce
work
kripken 631adb9
work?
kripken f829de3
work?
kripken 3f0ba33
work?
kripken bb762f9
work
kripken bd82ccd
fix
kripken f6c5c19
fix
kripken d73efd9
work
kripken a390d3c
fix
kripken 17bf39e
simplr
kripken ea37c27
switch
kripken a047fbf
undo
kripken 799c03a
restart
kripken 8a0fea1
part.build
kripken 5650369
work
kripken fa6c3a2
work
kripken ae6a400
work
kripken 5dc87a5
fix
kripken ac1de14
work
kripken e74ad5e
work
kripken 4efb784
work
kripken d91a9cf
work
kripken 92e3e63
work
kripken 9c84a04
fix
kripken 726eed5
work
kripken a9b1642
test
kripken 9d4c16f
Merge remote-tracking branch 'origin/main' into br_if.alternative
kripken 148479b
comments
kripken 6d005ca
format
kripken 8a69cee
fix
kripken a009110
fix
kripken 85e9d4d
nfc
kripken 7eed7fe
fix
kripken 3a18cae
fix
kripken 34db25a
typo
kripken a96a4c9
comment
kripken 769d792
comment
kripken 41ba975
remove
kripken 16dba3e
remove
kripken fe530c1
remove
kripken a4b346e
remove
kripken 9176802
test
kripken ae0d5fb
comment
kripken 0b4dbde
undo
kripken a83f7be
undo
kripken f90858a
test
kripken 4cd8430
moar
kripken 76c74d2
work
kripken 9d37132
workaround
kripken 57f1536
format
kripken 00cb780
work
kripken 30a18c8
test
kripken 8515ad9
Merge remote-tracking branch 'origin/main' into br_if.alternative
kripken f5449d8
Merge remote-tracking branch 'myself/fuzz.string.measure' into br_if.…
kripken 1f07285
fix bug due to interaction with #6549
kripken 62b20ea
Merge remote-tracking branch 'origin/main' into br_if.alternative
kripken 4e6ff90
Merge remote-tracking branch 'origin/main' into br_if.alternative
kripken bab64f5
Merge remote-tracking branch 'origin/main' into br_if.alternative
kripken 37a3aa6
undo core chnages in prep for reworking
kripken b0fbd98
halfway..
kripken 136f191
done..?
kripken 7c0568b
format
kripken 7bf4103
undo
kripken adebbdd
format.again
kripken ea0a050
fixen
kripken 3170ac9
builds but errors
kripken e2eafea
fix. now works
kripken 55a13fd
fix
kripken f663842
text
kripken 70f4812
fix
kripken ad87777
fix
kripken f8e13e0
test
kripken 4d40f31
fix
kripken 20df949
fix
kripken cd94ea1
test
kripken d4294df
text
kripken bc4f68e
text
kripken f572f54
text
kripken 5301467
Merge remote-tracking branch 'origin/main' into br_if.alternative
kripken 5a5a2af
optimize
kripken 2e79f34
Remove some complexity now that visitRefCast is simpler
kripken 1d6497c
merge oops
kripken 03eb588
Merge remote-tracking branch 'origin/main' into br_if.alternative
kripken 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
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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After #6579 there will be no need to know the source type when emitting a cast, so this check will be the only remaining use for
unrefinedType
. This is also the only check that cannot be done as-is inScratchLocalFinder
. WDYT about makingScratchLocalFinder
anExpressionStackWalker
to avoid needing this separate walker at all?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The overhead is annoying, I'm afraid, and I'd really like to not regress the by-far common case of not needing the extra work.
Some data:
And, with this patch:
That's about 5% more instructions and walltime. Note that that measures load+save, so the impact on save is around double that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oof, that's way too much slowdown :(