[PATCH] D22718: MachineFunction: Remove AllVRegsAllocated property

Matthias Braun via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 25 12:04:55 PDT 2016


MatzeB added a comment.

In https://reviews.llvm.org/D22718#494761, @dschuff wrote:

> Hi Matthias,
>  This sort of idea (i.e. essentially what you are proposing with this patch) is what we started with, when we began thinking of how to make more existing MI passes handle virtual registers and/or ensure that the right passes are excluded for WebAssembly. @qcolombet and some others really wanted to have something stronger, clearer to readers, and more declarative and/or structural than asserts to ensure there was no confusion. This is in fact the reason that MachineFunctionProperties was invented (the fact that it's now used for isSSA and tracksLiveness was more of a "because it's there" kind of thing).
>
> I would still be amenable to this kind of approach but I'd want Quentin's input first, and we should think a bit about where we might take this in the future either way.
>  I wouldn't mind helping out either way (and I know I still owe Quentin a cleanup in PEI anyway).


I did not see what getRequiredProperties() adds over a simple assert, so I went for that in my patch. But that's not my main issue.

My main issue with the current code is that the information in the AllVRegsAllocated property is redundant. So at the very least we should find a way that we do not need to "manually" maintain the AllVRegsAllocated flag.


Repository:
  rL LLVM

https://reviews.llvm.org/D22718





More information about the llvm-commits mailing list