[PATCH] D124435: [X86] Always extend the integer parameters in callee

John McCall via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Aug 2 12:44:54 PDT 2022

rjmccall added a comment.

It looks like you haven't implemented the target-specific logic for this yet.  I cannot let you commit until you do that, because you will be breaking the ABI on Apple platforms.

Comment at: clang/include/clang/Basic/CodeGenOptions.h:150
+    Assumed,      // Force the use of Extend.
+    Default, // Use the default rule for the target, which is Extend for now.
+  };
This comment is incorrect.

Comment at: clang/include/clang/Driver/Options.td:3435
+           "'assumed' (Assume the small integer parameter has been extened in the caller) | "
+           "'default' (Use the default rule for the target, this value is not yet supported)">,
+  Values<"none,conservative,assumed,default">,
We're not usually this verbose in the inline help text; this is basically an attempt to document the whole feature, which is excessive,   We should do like we do for `-mthread-model` or similar enum options and just quickly describe the option and list the possible values.

Comment at: clang/lib/CodeGen/TargetInfo.cpp:1948
+    case CodeGenOptions::ExtendIntegerArgsKind::Direct:
+    // ExtendIntegerArgsKind::Direct will be handled at the last.
+      break;

Comment at: clang/lib/CodeGen/TargetInfo.cpp:3828
+          isPromotableIntegerTypeForABI(Ty)) {
+      // ExtendIntegerArgsKind::Direct will be handled at the last.
+      if (Kind == CodeGenOptions::ExtendIntegerArgsKind::Conservative)

  rG LLVM Github Monorepo



More information about the cfe-commits mailing list