Skip to content

Cranelift: update to latest regalloc2 for better clobber and splitting handling.#4324

Merged
cfallin merged 1 commit into
bytecodealliance:mainfrom
cfallin:ra2-better-clobbers-and-less-splitting
Jun 28, 2022
Merged

Cranelift: update to latest regalloc2 for better clobber and splitting handling.#4324
cfallin merged 1 commit into
bytecodealliance:mainfrom
cfallin:ra2-better-clobbers-and-less-splitting

Conversation

@cfallin
Copy link
Copy Markdown
Member

@cfallin cfallin commented Jun 26, 2022

Currently refers to local path for RA2 so will fail CI; I will update
this once RA2 PRs 58 and 59 are merged, version-bumped and released.

Fixes #4291.

@cfallin cfallin requested review from alexcrichton and fitzgen June 26, 2022 18:08
@github-actions github-actions Bot added cranelift Issues related to the Cranelift code generator cranelift:area:machinst Issues related to instruction selection and the new MachInst backend. cranelift:area:aarch64 Issues related to AArch64 backend. cranelift:area:x64 Issues related to x64 codegen isle Related to the ISLE domain-specific language labels Jun 26, 2022
@github-actions
Copy link
Copy Markdown

Subscribe to Label Action

cc @cfallin, @fitzgen

Details This issue or pull request has been labeled: "cranelift", "cranelift:area:aarch64", "cranelift:area:machinst", "cranelift:area:x64", "isle"

Thus the following users have been cc'd because of the following labels:

  • cfallin: isle
  • fitzgen: isle

To subscribe or unsubscribe from this label, edit the .github/subscribe-to-label.json configuration file.

Learn more.

Copy link
Copy Markdown
Member

@alexcrichton alexcrichton left a comment

Choose a reason for hiding this comment

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

All seems reasonable to me, and very impressive wins!

Comment thread cranelift/codegen/Cargo.toml Outdated
Comment thread cranelift/filetests/filetests/isa/aarch64/call.clif Outdated
Comment thread cranelift/filetests/filetests/isa/aarch64/call.clif Outdated
@cfallin cfallin force-pushed the ra2-better-clobbers-and-less-splitting branch from 4b7217b to 41fc5e6 Compare June 27, 2022 21:37
@cfallin
Copy link
Copy Markdown
Member Author

cfallin commented Jun 27, 2022

Thanks @akirilov-arm -- I added back the missing caller-saves on aarch64 and now there are no filetest diffs. PTAL?

@cfallin cfallin marked this pull request as ready for review June 27, 2022 21:40
- Handle call instructions' clobbers with the clobbers API, using RA2's
  clobbers bitmask (bytecodealliance/regalloc2#58) rather than clobbers
  list;

- Pull in changes from bytecodealliance/regalloc2#59 for much more sane
  edge-case behavior w.r.t. liverange splitting.
@cfallin cfallin force-pushed the ra2-better-clobbers-and-less-splitting branch from 41fc5e6 to c2d2ff9 Compare June 27, 2022 23:29
Copy link
Copy Markdown
Contributor

@akirilov-arm akirilov-arm left a comment

Choose a reason for hiding this comment

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

The AArch64 bits look good to me!

@cfallin cfallin merged commit b2e28b9 into bytecodealliance:main Jun 28, 2022
@cfallin cfallin deleted the ra2-better-clobbers-and-less-splitting branch June 28, 2022 16:02
afonso360 pushed a commit to afonso360/wasmtime that referenced this pull request Jun 30, 2022
- Handle call instructions' clobbers with the clobbers API, using RA2's
  clobbers bitmask (bytecodealliance/regalloc2#58) rather than clobbers
  list;

- Pull in changes from bytecodealliance/regalloc2#59 for much more sane
  edge-case behavior w.r.t. liverange splitting.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cranelift:area:aarch64 Issues related to AArch64 backend. cranelift:area:machinst Issues related to instruction selection and the new MachInst backend. cranelift:area:x64 Issues related to x64 codegen cranelift Issues related to the Cranelift code generator isle Related to the ISLE domain-specific language

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Large compile-time-memory-usage regression with regalloc2

3 participants