[PATCH] D79035: [clang][AIX] Implement ABIInfo and TargetCodeGenInfo for AIX

Zarko Todorovski via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu May 7 09:40:11 PDT 2020


ZarkoCA added inline comments.


================
Comment at: clang/lib/CodeGen/TargetInfo.cpp:4257
+  // 64-bit only registers:
+  // 114: tfhar
+  // 115: tfiar
----------------
>From what I've seen, the tfhar, tfiar and texasr are used by the Power8 CPU, which means that there is potential for them to be used on 64BIT AIX.  I don't have access to a Power8 AIX machine to test and confirm this however.  If no one else can confirm, maybe it's good to leave a TODO here to check?


================
Comment at: clang/lib/Driver/ToolChains/Clang.cpp:4541
                                options::OPT_msvr4_struct_return)) {
-    if (TC.getArch() != llvm::Triple::ppc) {
+    if (TC.getArch() != llvm::Triple::ppc || TC.getTriple().isOSAIX()) {
       D.Diag(diag::err_drv_unsupported_opt_for_target)
----------------
-maix-struct-return behaves as expected on AIX (ie. it has no change from default behaviour) but I agree, to me it makes disable both if we are not sure about one of them.  However, I think it would be good to add a TODO to enable this once it's verified on AIX.  


================
Comment at: clang/test/CodeGen/ppc32-and-aix-struct-return.c:55
+// CHECK-AIX-LABEL: define void @ret0(%struct.Zero* noalias sret {{[^,]*}})
+// CHECK-SVR4-LABEL: define void @ret0()
+Zero ret0(void) { return (Zero){}; }
----------------
sorry, is it possible to lineup the `define ..` with the line below, for the entire testcase?


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

https://reviews.llvm.org/D79035





More information about the cfe-commits mailing list