[PATCH] D76360: [PPC][AIX] Emit correct Vaarg for 32BIT-AIX in clang

Xiangling Liao via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Apr 6 17:29:28 PDT 2020


Xiangling_L added inline comments.


================
Comment at: clang/lib/CodeGen/TargetInfo.cpp:4205
+
+class PPCAIX32TargetCodeGenInfo : public TargetCodeGenInfo {
+public:
----------------
I have a question here. AIX32 falls into PPC32 target, so why we don't inherit from `PPC32TargetCodeGenInfo` instead?


================
Comment at: clang/lib/CodeGen/TargetInfo.cpp:4210
+
+  int getDwarfEHStackPointer(CodeGen::CodeGenModule &M) const override {
+    return 1; // r1 is the dedicated stack pointer
----------------
Is `getDwarfEHStackPointer` necessary to be correct for vararg of AIX to work[I guess possibly not]? If not, should it fall into Dwarf related patch rather than in this one? BTW, if your `PPCAIX32TargetCodeGenInfo` inherits from `PPC32TargetCodeGenInfo` instead as I mentioned above, then it would be naturally correct.


================
Comment at: clang/lib/CodeGen/TargetInfo.cpp:4447
+    CodeGen::CodeGenFunction &CGF, llvm::Value *Address) const {
+  return true;
+}
----------------
As simple as this function is, does it make sense to move the body of `return true` into the class definition?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D76360





More information about the cfe-commits mailing list