This is an archive of the discontinued LLVM Phabricator instance.

[WebAssembly] Fix scheduling dependencies in register-stackified code
ClosedPublic

Authored by sunfish on Dec 4 2015, 4:41 PM.

Details

Summary

Add physical register defs to instructions used from stackified instructions to prevent them from being scheduled into the middle of a stack sequence. This is a conservative measure which may be loosened in the future.

Diff Detail

Repository
rL LLVM

Event Timeline

sunfish updated this revision to Diff 41961.Dec 4 2015, 4:41 PM
sunfish retitled this revision from to [WebAssembly] Fix scheduling dependencies in register-stackified code.
sunfish updated this object.
sunfish set the repository for this revision to rL LLVM.
sunfish added a subscriber: llvm-commits.
jfb accepted this revision.Dec 4 2015, 4:44 PM
jfb added a reviewer: jfb.

lgtm

ncbray and I had a little geek-out about coloring combined with tree formation. Fun problem.

lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
75 ↗(On Diff #41961)

"on"

This revision is now accepted and ready to land.Dec 4 2015, 4:44 PM
This revision was automatically updated to reflect the committed changes.