[PATCH] D22718: MachineFunction: Remove AllVRegsAllocated property

Matthias Braun via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 25 13:10:38 PDT 2016


MatzeB added a comment.

In https://reviews.llvm.org/D22718#495162, @kparzysz wrote:

> The AllVRegsAllocated property is a convenient way of determining whether the code runs after register allocation or not.  It is possible for post-RA code to temporarily have virtual registers (for example in frame lowering), so just counting the number of virtual registers may not be accurate.


Sure passes can temporarily use virtual registers but in between passes there is no reason why virtual registers exist.

On the other hand I would find it very troubling if "AllVRegsAllocated" would just have an abstract meaning of a pass that runs after the register allocator. Why would is be important to run a certain place in the pass pipeline? It is important that the machine function has certain properties like no virtual registers used or no phi instructions being present. An abstract property of being run behind the register allocator seems less useful to me than a concrete property about the machine function.


Repository:
  rL LLVM

https://reviews.llvm.org/D22718





More information about the llvm-commits mailing list