[PATCH] D12920: Add TargetCustom type to PseudoSourceValue

Marcello Maggioni via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 17 20:27:43 PDT 2015


kariddi added a comment.

Thanks Pete for your comment!
I think the commit message you mentioned means that , because Value and PseudoSourceValue are not anymore in the same class heirarchy, trying to use them in a way that requires both an LLVM Value and a PseudoSourceValue at the same time makes it "impossible
Basically I think that the word "either" in the commit message should actually have been "both".

That said if the same can be achieved without passing a PseudoSourceValue to the MachinePointerInfo that would be great even if probably it would provide a little bit less flexibility in the capability of specifying target specific inforrmation used by later passes as the MachinePointerInfo alone doesn't have any field that can be used to store custom data. (Maybe the data can be somehow packed in the offset, but doesn't seem very flexible and is a little bit hacky).

I tried removing the attachment of the PseudoSourceValue to the MachineMemOperand and actually the scheduler continues to not treat the node as a scheduling barrier as if the PSV was attached , so from that point of view it is fine using a MachinePointerInfo without a value attached to still makes the ScheduleDAG builder happy.

I'm interested though in hearing what is the intended destiny of PSVs (or their intended usage).
Thanks for CCing whoever might know more about it!


http://reviews.llvm.org/D12920





More information about the llvm-commits mailing list