This is an archive of the discontinued LLVM Phabricator instance.

[WebAssembly] Disable MachineBlockPlacement pass
ClosedPublic

Authored by aheejin on Mar 4 2019, 10:43 PM.

Diff Detail

Repository
rL LLVM

Event Timeline

aheejin created this revision.Mar 4 2019, 10:43 PM
aheejin marked 2 inline comments as done.Mar 4 2019, 10:46 PM
aheejin added inline comments.
test/CodeGen/WebAssembly/cfg-stackify.ll
2 ↗(On Diff #189279)

Now that we disabled MachineBlockPlacement, these two commands are equivalent. So deleted all OPT tests.

test/CodeGen/WebAssembly/implicit-def.ll
13 ↗(On Diff #189279)

For this test, the positions of the stackified IMPLICIT_DEF changed.

Code change lgtm, thanks!

lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
293 ↗(On Diff #189279)

I would change "and sometimes generates" to "because it can generate", since I believe the issue is just that of irreducibility.

(In theory if we could run that pass with a guarantee it would not create irredicuble control flow then it might be useful for us, although maybe not even then because the wasm VM might change the block order anyhow...)

dschuff accepted this revision.Mar 5 2019, 10:27 AM

LGTM with the comment suggestion.

This revision is now accepted and ready to land.Mar 5 2019, 10:27 AM
aheejin updated this revision to Diff 189382.Mar 5 2019, 12:33 PM
aheejin marked an inline comment as done.
  • Address comments