================
@@ -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