yaxunl added a comment.

In D56318#1353176 <https://reviews.llvm.org/D56318#1353176>, @rjmccall wrote:

> In D56318#1353116 <https://reviews.llvm.org/D56318#1353116>, @yaxunl wrote:
>
> > In D56318#1353106 <https://reviews.llvm.org/D56318#1353106>, @rjmccall 
> > wrote:
> >
> > > No, I understand that things like the function-call ABI should be 
> > > different from the associated host ABI, but things like the size of 
> > > `long` and the bit-field layout algorithm presumably shouldn't be, and 
> > > that's the sort of thing that's configured by `TargetInfo`.
> >
> >
> > How about create a ForwardingTargegInfo which will has a pointer to 
> > AuxTarget and forward to that target if it is not null. Then let 
> > AMDGPUTargetInfo inherit from that.
>
>
> Why forward?  You have, like, two supported host environments, right?  Can 
> you just a subclass apiece of either `MicrosoftX86_64TargetInfo` or 
> `X86_64TargetInfo`?
>
> If that's unreasonable and you do need to forward, having a 
> `ForwardingTargetInfo` sounds like a good idea, although I think you should 
> require it to have an underlying target, and I think you need it to copy all 
> the fields of that target.


There are lots of child class of X86_64TargetInfo, e.g., 
CygwinX86_64TargetInfo, MicrosoftX86_64TargetInfo, MinGWX86_64TargetInfo, etc. 
to inherit each one of them will result in duplicated code. Also, many stuff in 
these TargetInfo do not apply to AMDGPU target. I think I should only 
selectively copy the relevant fields.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D56318/new/

https://reviews.llvm.org/D56318



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to