================
@@ -1059,6 +980,48 @@ void rewriteIndirectReturnCall(cir::CallOp call,
   call->erase();
 }
 
+/// Whether \p ty is an eightbyte that travels in a vector register.  An x87
+/// long double is floating-point but travels in neither register class, so it
+/// is excluded.  A caller reads a false result as the integer class.
+bool isSSERegisterClass(mlir::Type ty) {
----------------
adams381 wrote:

I've made an update to the classifier to give us exactly what we need.  It was 
previously computed and thrown away.  I've made a small interface to give us 
exactly what we need.  `ArgInfo` and `ArgClassification` now carry the 
`NeededInt` and `NeededSSE` the classifier already computes and was throwing 
away, so `fitsOneVectorSlot`, `isWide128BitInt` and the whole register 
reconstruction chain are gone.

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

Reply via email to