================
@@ -204,13 +213,20 @@ class CodeGenTypes {
   /// Often this will be able to simply return the declaration info.
   const CGFunctionInfo &arrangeCall(const CGFunctionInfo &declFI,
                                     const CallArgList &args);
+  const CGFunctionInfo &arrangeCall(const CGFunctionInfo &declFI,
----------------
freaknbigpanda wrote:

I pushed the actual populating of the the per function AVX ABI level into 
ABIInfo::getX86ABIAVXLevel, but I thought that adding a struct would make it 
more complicated than needed right now, since the only thing it would be used 
for would be to adjust the per-function AVXABILevel. I thought it was more 
clear to leave it as is and if another target has similar requirements they can 
hook into ABIInfo::getX86ABIAVXLevel, and potentially switch it to a struct if 
they need to do more than adjusting the per-function AVXABILevel.

I also tried removing the unsigned AVXABILevel from CGFUnctionInfo all together 
- replacing with FunctionDecl pointer, which would then be consumed in ABIInfo 
to figure out per function AVXABiLevel. But this approach had issues because 
two FunctionDecl pointers could be different without actually pointing to 
different FDs which means the CGFunctionInfo caching would not be as efficient 
as it could be, leading to reduced compile time performance. So I decided to go 
back to using unsigned X86AVXABILevel which has no potential caching problems.

https://github.com/llvm/llvm-project/pull/193298
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to