[PATCH] D27392: Vectorcall Calling Convention - Adding CodeGen Complete Support

David Majnemer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 7 20:58:34 PST 2016


majnemer added inline comments.


================
Comment at: lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:7741
+        if (CLI.CallConv == CallingConv::X86_VectorCall &&
+            (dyn_cast<StructType>(FinalType))) {
+          Flags.setHva();
----------------
Please use `isa` here.


================
Comment at: lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:8039
+        if (F.getCallingConv() == CallingConv::X86_VectorCall &&
+            (dyn_cast<StructType>(I->getType()))) {
+          Flags.setHva();
----------------
Ditto.


================
Comment at: lib/Target/X86/X86CallingConv.cpp:95
+
+  for (unsigned I = 0; I < RegList.size(); ++I) {
+    if (!State.isAllocated(RegList[I])) {
----------------
Range-based for loop?


================
Comment at: lib/Target/X86/X86CallingConv.cpp:197-199
+  // Process only vector types as defined by vectorcall spec:
+  // "A vector type is either a floating-point type庸or example,
+  //  a float or double熔r an SIMD vector type庸or example, __m128 or __m256."
----------------
This comment seems garbled.


================
Comment at: lib/Target/X86/X86CallingConv.cpp:206-207
+  if (ArgFlags.isHva()) {
+    return true; // If this is an HVA - Stop the search
+  } else {
+    // Assign XMM register
----------------
else after return is not in the LLVM style.


Repository:
  rL LLVM

https://reviews.llvm.org/D27392





More information about the llvm-commits mailing list