[PATCH] D26648: Clarify semantic of reserved registers.

Matthias Braun via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 15 11:54:47 PST 2016


MatzeB marked 2 inline comments as done.
MatzeB added inline comments.


================
Comment at: include/llvm/Target/TargetRegisterInfo.h:493
+  /// - is considered always live
+  /// - is ignored by liveness tracking
+  /// - It is often necessary to reserve the super registers of a reserved
----------------
kparzysz wrote:
> If it's ignored by liveness tracking, then there is no meaning to "live" or "dead".  Maybe you could rephrase it (and the previous bullet) as something like "is ignored from the liveness point of view".
If you take a usual liveness definition of the value will potentially be read, then they are very much live.
It's just the actual implementation of liveness tracking in LLVM that decides to not track the liveness (we avoid adding special rules for reserved regs for little gain).


================
Comment at: include/llvm/Target/TargetRegisterInfo.h:496
+  ///   register as well, to avoid them getting allocated indirectly. You may
+  ///   use markSuperRegs() and assertAllSuperRegsMarked() in this case.
   virtual BitVector getReservedRegs(const MachineFunction &MF) const = 0;
----------------
kparzysz wrote:
> This should be a standalone sentence, not a bullet in the list.
ok.


Repository:
  rL LLVM

https://reviews.llvm.org/D26648





More information about the llvm-commits mailing list