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

2020-05-14 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L accepted this revision. Xiangling_L added a comment. This revision is now accepted and ready to land. LGTM with a minor comment: You may want to add a `TODO` or `FIXME` at `clang/lib/CodeGen/TargetInfo.cpp: 4496` and `clang/lib/CodeGen/TargetInfo.cpp:4418` like: //FIXME: Correct

[PATCH] D74166: [AIX][Frontend] Static init implementation for AIX considering no priority

2020-05-14 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 264009. Xiangling_L added a comment. Clean `clang-tidy` warnings and `clang-format` errors Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74166/new/ https://reviews.llvm.org/D74166 Files: clang/include/cl

[PATCH] D74166: [AIX][Frontend] Static init implementation for AIX considering no priority

2020-05-13 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 263843. Xiangling_L added a comment. Fix a minor issue in the testcase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74166/new/ https://reviews.llvm.org/D74166 Files: clang/include/clang/AST/Mangle.h c

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

2020-05-13 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added inline comments. Comment at: clang/lib/Frontend/CompilerInvocation.cpp:1300 OPT_maix_struct_return, OPT_msvr4_struct_return)) { +// TODO: We might want to consider enabling these options on AIX in the +// future. --

[PATCH] D74166: [AIX][Frontend] Static init implementation for AIX considering no priority

2020-05-12 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 263499. Xiangling_L marked 3 inline comments as done. Xiangling_L added a comment. Updated the warnings to `report_fatal_error`; Update the testcases; Repository: rL LLVM CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74166/new/ https://review

[PATCH] D74166: [AIX][Frontend] Static init implementation for AIX considering no priority

2020-05-12 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L marked 7 inline comments as done. Xiangling_L added inline comments. Comment at: clang/lib/CodeGen/CGDeclCXX.cpp:691 AddGlobalDtor(Fn); + CXXGlobalDtors.clear(); } ZarkoCA wrote: > I may be missing something but why do we need this now, as oppose

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

2020-05-12 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added inline comments. Comment at: clang/lib/CodeGen/TargetInfo.cpp:4684 return false; case CodeGenOptions::SRCK_InRegs: // -msvr4-struct-return return true; jasonliu wrote: > Xiangling_L wrote: > > I noticed that in patch https://reviews

[PATCH] D79719: [AIX] Implement AIX special alignment rule about double/long double

2020-05-11 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L created this revision. Xiangling_L added reviewers: hubert.reinterpretcast, jasonliu, sfertile, cebowleratibm. Xiangling_L added a project: LLVM. Herald added subscribers: cfe-commits, kbarton, nemanjai. Herald added a project: clang. Implement AIX special alignment rule by recursivel

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

2020-05-08 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added inline comments. Comment at: clang/lib/CodeGen/TargetInfo.cpp:1547 // Otherwise, if the type contains an SSE vector type, the alignment is 16. + if (Align >= 16 && (isSIMDVectorType(getContext(), Ty) || Also update the comment? =

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

2020-05-05 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added inline comments. Comment at: clang/lib/CodeGen/TargetInfo.cpp:4317 + if (isAggregateTypeForABI(RetTy)) +return getNaturalAlignIndirect(RetTy); + Xiangling_L wrote: > jasonliu wrote: > > Xiangling_L wrote: > > > This method uses the ABI alig

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

2020-05-05 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added inline comments. Comment at: clang/lib/CodeGen/TargetInfo.cpp:4317 + if (isAggregateTypeForABI(RetTy)) +return getNaturalAlignIndirect(RetTy); + jasonliu wrote: > Xiangling_L wrote: > > This method uses the ABI alignment of the given aggreg

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

2020-05-04 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added inline comments. Comment at: clang/lib/CodeGen/TargetInfo.cpp:4179 + // This is calculated from the LLVM and GCC tables and verified + // against gcc output. AFAIK all ABIs use the same encoding. + Minor comment about comment style: Though I

[PATCH] D74166: [AIX][Frontend] Static init implementation for AIX considering no priority

2020-05-01 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 261602. Xiangling_L added a comment. Herald added a reviewer: aaron.ballman. Fix a minor issue Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74166/new/ https://reviews.llvm.org/D74166 Files: clang/includ

[PATCH] D78563: [AIX] Port power alignment rules to clang

2020-04-27 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L abandoned this revision. Xiangling_L added a comment. Current implementation conflicts with __AlignOf behavior as we discussed in [RFC] Adding AIX power alignment rule in clang front end (http://lists.llvm.org/pipermail/cfe-dev/2020-April/065324.html) . Drop this revision and a ne

[PATCH] D78563: [AIX] Port power alignment rules to clang

2020-04-23 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 259559. Xiangling_L marked 5 inline comments as done. Xiangling_L added a comment. Adjust some comments style; Add more testcases; Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78563/new/ https://reviews.ll

[PATCH] D78563: [AIX] Port power alignment rules to clang

2020-04-21 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L created this revision. Xiangling_L added reviewers: jasonliu, hubert.reinterpretcast, sfertile. Xiangling_L added a project: LLVM. Herald added a project: clang. Herald added a subscriber: cfe-commits. Address the following aspects of power alignment rules: - Implemented double/long d

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

2020-04-09 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added inline comments. Comment at: clang/lib/CodeGen/TargetInfo.cpp:4205 + +class PPCAIX32TargetCodeGenInfo : public TargetCodeGenInfo { +public: sfertile wrote: > Xiangling_L wrote: > > I have a question here. AIX32 falls into PPC32 target, so why we

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

2020-04-06 Thread Xiangling Liao via Phabricator via cfe-commits
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 `PPC32TargetCodeGenI

[PATCH] D74166: [AIX][Frontend] Static init implementation for AIX considering no priority

2020-04-06 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 255456. Xiangling_L added a comment. Rebase on the latest master branch; Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74166/new/ https://reviews.llvm.org/D74166 Files: clang/include/clang/AST/Mangle.h

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

2020-04-06 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added inline comments. Comment at: clang/test/CodeGen/aix-vararg.c:15 + + // 32BIT: define void @aix_varg(i32 %a, ...) #0 { + // 32BIT-NEXT: entry: `#0`, `#1`[the last three lines] are redundant, could you clean them up? Repository: rG LL

[PATCH] D74166: [AIX][Frontend] Static init implementation for AIX considering no priority

2020-03-05 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 248571. Xiangling_L marked 2 inline comments as done. Xiangling_L added a comment. Fix the formatting issue; Address the 1st round reviews; CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74166/new/ https://reviews.llvm.org/D74166 Files: clang/

[PATCH] D74166: [AIX][Frontend] Static init implementation for AIX considering no priority

2020-03-05 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L marked 4 inline comments as done. Xiangling_L added inline comments. Comment at: clang/lib/CodeGen/CGDeclCXX.cpp:283 llvm::FunctionCallee atexit = - CGM.CreateRuntimeFunction(atexitTy, "atexit", llvm::AttributeList(), -/*Local=*

[PATCH] D74166: [AIX][Frontend] Static init implementation for AIX considering no priority

2020-02-28 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 247360. Xiangling_L added a comment. Clean the formatting issues; Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74166/new/ https://reviews.llvm.org/D74166 Files: clang/include/clang/AST/Mangle.h clang/

[PATCH] D74166: [AIX][Frontend] Static init implementation for AIX considering no priority

2020-02-28 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 247355. Xiangling_L added a comment. Rebase on the latest master branch. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74166/new/ https://reviews.llvm.org/D74166 Files: clang/include/clang/AST/Mangle.h

[PATCH] D74166: [AIX][Frontend] Static init implementation for AIX considering no priority

2020-02-26 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added a comment. ping. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74166/new/ https://reviews.llvm.org/D74166 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D74015: [AIX][Frontend] C++ ABI customizations for AIX boilerplate

2020-02-24 Thread Xiangling Liao via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG8bee52bdb54a: [AIX][Frontend] C++ ABI customizations for AIX boilerplate (authored by Xiangling_L). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74015/new/

[PATCH] D74166: [AIX][Frontend] Static init implementation for AIX considering no priority

2020-02-21 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 245929. Xiangling_L edited the summary of this revision. Xiangling_L added a comment. Update the testcase; CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74166/new/ https://reviews.llvm.org/D74166 Files: clang/include/clang/AST/Mangle.h clan

[PATCH] D74166: [AIX][Frontend] Static init implementation for AIX considering no priority

2020-02-21 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 245879. Xiangling_L added a comment. Rebase to incorparate `XL` C++ ABI name && comdat changes; Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74166/new/ https://reviews.llvm.org/D74166 Files: clang/inclu

[PATCH] D74015: [AIX][Frontend] C++ ABI customizations for AIX boilerplate

2020-02-21 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 245844. Xiangling_L marked an inline comment as done. Xiangling_L added a comment. Update the comment about ABI description; Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74015/new/ https://reviews.llvm.org

[PATCH] D74015: [AIX][Frontend] C++ ABI customizations for AIX boilerplate

2020-02-18 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added a comment. In D74015#1880847 , @cebowleratibm wrote: > From my perspective, the only issue holding this up is settling on the name. > I'd like to hammer that out and get this committed. It looks everyone agrees on `XL` so far. As for

[PATCH] D74015: [AIX][Frontend] C++ ABI customizations for AIX boilerplate

2020-02-18 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L marked an inline comment as done. Xiangling_L added a comment. ping. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74015/new/ https://reviews.llvm.org/D74015 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.

[PATCH] D74631: [clang][XCOFF] Indicate that XCOFF does not support COMDATs

2020-02-14 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added a comment. In D74631#1876995 , @sfertile wrote: > > Will we report an error somewhere in the backend if we encounter a COMDAT? I hit this when I was doing my static init patch as well: `error in backend: COMDAT not yet supported by

[PATCH] D74015: [AIX][Frontend] C++ ABI customizations for AIX boilerplate

2020-02-14 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L marked 3 inline comments as done. Xiangling_L added inline comments. Comment at: clang/lib/CodeGen/ItaniumCXXABI.cpp:520 + +class XLCXXABI final : public ItaniumCXXABI { +public: sfertile wrote: > Xiangling_L wrote: > > sfertile wrote: > > > Here woul

[PATCH] D74015: [AIX][Frontend] C++ ABI customizations for AIX boilerplate

2020-02-13 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L marked 3 inline comments as done. Xiangling_L added inline comments. Comment at: clang/lib/CodeGen/ItaniumCXXABI.cpp:520 + +class XLCXXABI final : public ItaniumCXXABI { +public: sfertile wrote: > Here would be a good place to add a comment to indicat

[PATCH] D74015: [AIX][Frontend] C++ ABI customizations for AIX boilerplate

2020-02-13 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 244476. Xiangling_L marked 4 inline comments as done. Xiangling_L added a comment. Adjust ABI name to `XL`; Simplify the testcase; CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74015/new/ https://reviews.llvm.org/D74015 Files: clang/include/c

[PATCH] D74015: [AIX][Frontend] C++ ABI customizations for AIX boilerplate

2020-02-11 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L marked 4 inline comments as done. Xiangling_L added inline comments. Comment at: clang/include/clang/Basic/TargetCXXABI.h:116 +/// - static initialization is adjusted to use sinit and sterm functions; +XL_Clang, + daltenty wrote: > Why the u

[PATCH] D74166: [AIX][Frontend] Static init implementation for AIX considering no priority

2020-02-06 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L created this revision. Xiangling_L added reviewers: hubert.reinterpretcast, cebowleratibm, yusra.syeda, sfertile, jasonliu, xingxue, hfinkel. Xiangling_L added a project: LLVM. Herald added subscribers: llvm-commits, cfe-commits, dexonsmith. Herald added a project: clang. Xiangling_L a

[PATCH] D74015: [AIX][Frontend] C++ ABI customizations for AIX boilerplate

2020-02-04 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L created this revision. Xiangling_L added reviewers: hubert.reinterpretcast, cebowleratibm, yusra.syeda, sfertile, jasonliu, xingxue. Xiangling_L added a project: LLVM. Herald added a project: clang. Herald added a subscriber: cfe-commits. This PR enables **XL_Clang** C++ ABI in fronte

[PATCH] D69620: Add AIX assembler support

2019-11-16 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added inline comments. Comment at: clang/lib/Driver/ToolChains/AIX.cpp:28 + const char *LinkingOutput) const { + claimNoWarnArgs(Args); + ArgStringList CmdArgs; The definition of `claimNoWarnArgs` is to suppress warn

[PATCH] D68340: Add AIX toolchain and basic linker functionality

2019-10-22 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added inline comments. Comment at: clang/lib/Driver/ToolChains/AIX.cpp:35 + // Only support 32 and 64 bit + if (!IsArch32Bit && !IsArch64Bit) +llvm_unreachable("Unsupported bit width value"); stevewan wrote: > jasonliu wrote: > > Xiangling_L wro

[PATCH] D68340: Add AIX toolchain and basic linker functionality

2019-10-08 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added inline comments. Comment at: clang/lib/Driver/ToolChains/AIX.cpp:38 + + if (!Args.hasArg(options::OPT_nostdlib)) { +CmdArgs.push_back("-e"); Test with Clangtana on terran, when no '-nostdlib' specified, since '-e' & '__start' are the defau

[PATCH] D68340: Add AIX toolchain and basic linker functionality

2019-10-08 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added inline comments. Comment at: clang/lib/Driver/ToolChains/AIX.cpp:35 + // Only support 32 and 64 bit + if (!IsArch32Bit && !IsArch64Bit) +llvm_unreachable("Unsupported bit width value"); Is there any reason to use llvm_unreachable here? I t

<    1   2   3