Skip to content

machinst x64: a few small opts#2277

Merged
bnjbvr merged 2 commits into
bytecodealliance:mainfrom
bnjbvr:x64-opt
Oct 9, 2020
Merged

machinst x64: a few small opts#2277
bnjbvr merged 2 commits into
bytecodealliance:mainfrom
bnjbvr:x64-opt

Conversation

@bnjbvr
Copy link
Copy Markdown
Member

@bnjbvr bnjbvr commented Oct 7, 2020

(I'd like to test it a bit more before considering review, but: this already enhances the code quality a bit on some hot blocks identified with Valgrind.)

@github-actions github-actions Bot added cranelift Issues related to the Cranelift code generator cranelift:area:x64 Issues related to x64 codegen labels Oct 7, 2020
@bnjbvr bnjbvr marked this pull request as ready for review October 8, 2020 16:26
Copy link
Copy Markdown
Member

@cfallin cfallin left a comment

Choose a reason for hiding this comment

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

Looks good, thanks!

I'm not wild about the amount of special-cased logic that's accumulating relating to value widths and zero/sign-extends; in the future I hope to build a more general analysis/framework that will solve this problem more generally. But for now, it's a generated-code win, and it works, so let's go for it.

Copy link
Copy Markdown
Contributor

@julian-seward1 julian-seward1 left a comment

Choose a reason for hiding this comment

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

LGTM.

Comment thread cranelift/codegen/src/isa/x64/lower.rs Outdated
Comment thread cranelift/filetests/filetests/isa/x64/amode-opt.clif
Comment thread cranelift/codegen/src/isa/x64/inst/mod.rs
Comment thread cranelift/codegen/src/isa/x64/lower.rs
Comment thread cranelift/codegen/src/isa/x64/lower.rs Outdated
@bnjbvr bnjbvr merged commit e8c2a17 into bytecodealliance:main Oct 9, 2020
@bnjbvr bnjbvr deleted the x64-opt branch October 9, 2020 16:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cranelift:area:x64 Issues related to x64 codegen cranelift Issues related to the Cranelift code generator

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants