[PATCH] D133920: [X86][fastcall] Move capability check before free register update

Hans Wennborg via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Sep 15 10:28:44 PDT 2022


hans added a comment.

Instead of just referring to the bug in the commit message, can you add some text explaining the effects of this change, e.g. on the `__fastcall void f(unsigned long long a, int b, int c)` function in the bug and that this matches MSVC?

Did you double check whether this matches GCC too?

Please also add a release note about this since it affects the ABI.



================
Comment at: clang/test/CodeGen/mangle-windows.c:50
 void __fastcall f9(long long a, char b, char c, short d) {}
-// CHECK: define dso_local x86_fastcallcc void @"\01 at f9@20"(i64 noundef %a, i8 noundef signext %b, i8 noundef signext %c, i16 noundef signext %d)
+// CHECK: define dso_local x86_fastcallcc void @"\01 at f9@20"(i64 noundef %a, i8 inreg noundef signext %b, i8 inreg noundef signext %c, i16 noundef signext %d)
 // X64: define dso_local void @f9(
----------------
Should we add tests to cover the vectorcall and regcall cases too?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D133920/new/

https://reviews.llvm.org/D133920



More information about the cfe-commits mailing list