Skip to content
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 Bit Shift Benchmark #279

Merged
merged 1 commit into from
Aug 31, 2023
Merged

Add Bit Shift Benchmark #279

merged 1 commit into from
Aug 31, 2023

Conversation

collinzrj
Copy link
Contributor

No description provided.

@sampsyo
Copy link
Owner

sampsyo commented Aug 31, 2023

Looks great!

@sampsyo sampsyo merged commit a5ebd57 into sampsyo:main Aug 31, 2023
5 checks passed
.then.0:
v4: int = id x;
ret v4;
jmp .endif.0;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would you consider removing this dead jump and associated label? While this doesn't affect an interpreter, this trips up both brilift and brillvm as during compilation they get tricked in generating empty returns for the final label.

This could be fixed in both tools, but it's kind of a weird edge case the more I looked into it. I lean more towards this should be avoided in benchmark files than this is worth the added complexity in the above tools.

Is this a bug in the typescript compiler?

Let me know what you think.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good question about whether this is something the TypeScript compiler should avoid… maybe a good step for investigating this would be to try to reproduce it with a minimal TS program that produces this weird CFG pattern?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants