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