AlexVlx wrote:

> > > How much of this is actually different from the existing target info for 
> > > AMDGCN? Seems like we're doing a lot of redundant stuff like defining 
> > > macros or features.
> > 
> > 
> > That's part of the point, it's not actually supposed to differ in those 
> > particular regards, up to the point where things fork into specific GFXIPs. 
> > At the same time, there's no feasible way to re-use any of that, at least 
> > not one that I can see with how targets currently work. If you're 
> > suggesting that this should actually be based on AMDGPUTargetInfo, that's 
> > probably not the right way to go since that sets additional things that do 
> > not work with SPIRV at all.
> 
> Yeah, I was unsure how much of this is a subset. We could pull the common 
> stuff into some new base class that both targets then inherit from, but it 
> depends how much code we actually save with that method. I think I agree at 
> the very least we should try to avoid duplicating the register list.

That's not a bad idea but I *suspect* we'll run into a physical design issue 
since there doesn't seem to be a natural place to put the shared base - unless 
you were thinking about a place in particular? We'd probably have to relocate 
this to the AMDGCN side, and then duplicate the SPIRV bits/details, and at that 
point we could just re-use/share the reg defs.

https://github.com/llvm/llvm-project/pull/89796
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to