[PATCH] D71681: [WebAssembly] Track frame registers through VReg and local allocation
Derek Schuff via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 8 15:10:02 PST 2020
dschuff added a comment.
This is ready for review now, please take a look.
Note for the wasm-backend folks:
The original virtual register philosophy in the backend was to eliminate the physical registers early and treat all the registers the same, which made things simpler. This CL walks back on that strategy a little bit, treating the frame registers specially in a couple of places. Currently the changes are quite simple but it's possible that we may find more places where we have to take those registers into account to get good debug information. An alternative might be to go back to having physical registers, which I'm guessing would add some complexity in a few places (which would be different places than the ones this Cl introduces); it's not obvious which would be better.
I think in the longer term though that we might just want to use Dwarf CFI instead, and use the CFA instead of an explicit register as the frame base.
Even if we do that though, I think the TargetFrameLowering change is a good one because it eliminates the NVPTX oddity (and if we go to CFI we'd be using the same code). And this should cover the large majority of debugging cases in the short term, so it's worth putting in for now.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D71681/new/
https://reviews.llvm.org/D71681
More information about the llvm-commits
mailing list