[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

[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

[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

[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

[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:

[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-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

[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:

[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-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] 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

[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

[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

[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

[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

[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

[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:

[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/

[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

[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

[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

[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(), -

[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

[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/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

[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

[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

[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/

[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

[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:

[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] 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

[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

[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

[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

[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

[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-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:

[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-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

[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/

[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] D74166: [AIX][Frontend] Static init implementation for AIX considering no priority

2020-05-19 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 264926. Xiangling_L marked an inline comment as done. Xiangling_L added a comment. Fix the linkage types; Adjust the formatting; Update the testcase; Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74166/new/

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

2020-05-25 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 266087. Xiangling_L added a comment. Adjust `mangleDynamicDestructor`; Add assertion and FIXME for getUniqueModuleId Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74166/new/

[PATCH] D84880: [AIX] Temporarily disable IncrementalProcessingTest partially

2020-07-29 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L created this revision. Xiangling_L added reviewers: daltenty, jasonliu, stevewan, hubert.reinterpretcast. Herald added a project: clang. Herald added a subscriber: cfe-commits. Xiangling_L requested review of this revision. Repository: rG LLVM Github Monorepo

[PATCH] D84534: [AIX] Static init frontend recovery and backend support

2020-08-06 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 283712. Xiangling_L marked an inline comment as done. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84534/new/ https://reviews.llvm.org/D84534 Files: clang/lib/CodeGen/CGDeclCXX.cpp clang/lib/CodeGen/CodeGenModule.h

[PATCH] D84534: [AIX] Static init frontend recovery and backend support

2020-08-06 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L marked 3 inline comments as done. Xiangling_L added inline comments. Comment at: llvm/include/llvm/CodeGen/AsmPrinter.h:466 + + bool preprocessStructorList(const DataLayout , const Constant *List, + SmallVector );

[PATCH] D84534: [AIX] Static init frontend recovery and backend support

2020-08-06 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L marked 5 inline comments as done. Xiangling_L added inline comments. Comment at: llvm/include/llvm/CodeGen/AsmPrinter.h:466 + + bool preprocessStructorList(const DataLayout , const Constant *List, + SmallVector );

[PATCH] D84534: [AIX] Static init frontend recovery and backend support

2020-08-10 Thread Xiangling Liao via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG6ef801aa6bc0: [AIX] Static init frontend recovery and backend support (authored by Xiangling_L). Changed prior to commit: https://reviews.llvm.org/D84534?vs=283712=284355#toc Repository: rG LLVM

[PATCH] D84534: [AIX] Static init frontend recovery and backend support

2020-08-04 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added inline comments. Comment at: llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp:1865 +if (isSpecialLLVMGlobalArrayForStaticInit()) { + if (GlobalUniqueModuleId.empty()) { +GlobalUniqueModuleId = getUniqueModuleId(); jasonliu wrote: > We

[PATCH] D84534: [AIX] Static init frontend recovery and backend support

2020-08-04 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L marked 6 inline comments as done. Xiangling_L added inline comments. Comment at: clang/lib/CodeGen/CodeGenModule.h:1058 + /// Add an sterm finalizer to its own llvm.global_dtors entry. + void AddCXXStermFinalizerToGlobalDtor(llvm::Function *StermFinalizer, +

[PATCH] D84534: [AIX] Static init frontend recovery and backend support

2020-08-05 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L marked 7 inline comments as done. Xiangling_L added inline comments. Comment at: llvm/include/llvm/CodeGen/AsmPrinter.h:466 + + bool preprocessStructorList(const DataLayout , const Constant *List, + SmallVector );

[PATCH] D84534: [AIX] Static init frontend recovery and backend support

2020-08-05 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 283396. Xiangling_L marked 2 inline comments as done. Xiangling_L added a comment. Added descriptions for struct and functions; Addressed other comments; CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84534/new/ https://reviews.llvm.org/D84534

[PATCH] D85191: [AST] Get field size in chars rather than bits in RecordLayoutBuilder.

2020-08-04 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added inline comments. Comment at: clang/lib/AST/RecordLayoutBuilder.cpp:1841 auto setDeclInfo = [&](bool IsIncompleteArrayType) { -TypeInfo TI = Context.getTypeInfo(D->getType()); -FieldAlign = Context.toCharUnitsFromBits(TI.Align); +auto TI =

[PATCH] D82806: [AIX] Static init support for template specialization and inline variable

2020-06-29 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L created this revision. Xiangling_L added reviewers: hubert.reinterpretcast, jasonliu, yusra.syeda, ZarkoCA, sfertile. Herald added subscribers: cfe-commits, jfb. Herald added a project: clang. This is a follow-up patch of D74166 . This patch adds

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

2020-07-02 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L marked an inline comment as done. Xiangling_L added inline comments. Comment at: clang/test/Layout/aix-double-struct-member.cpp:1 +// RUN: %clang_cc1 -emit-llvm-only -triple powerpc-ibm-aix-xcoff \ +// RUN: -fdump-record-layouts -fsyntax-only %s 2>/dev/null | \

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

2020-07-08 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 276528. Xiangling_L marked 2 inline comments as done. Xiangling_L added a comment. Fixed a -Wpacked related case and added the case to the tests; Fixed the base class related code issue; Addressed other comments; CHANGES SINCE LAST ACTION

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

2020-07-08 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L marked 9 inline comments as done. Xiangling_L added inline comments. Comment at: clang/lib/AST/RecordLayoutBuilder.cpp:1796 + bool FoundFirstNonOverlappingEmptyFieldToHandle = + DefaultsToAIXPowerAlignment && FieldOffset == CharUnits::Zero() && +

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

2020-07-10 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 276991. Xiangling_L marked 6 inline comments as done. Xiangling_L added a comment. Set `Handled...` = true for non-AIX power alignment; Addressed other comments; CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79719/new/

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

2020-07-13 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added inline comments. Comment at: clang/test/Layout/aix-Wpacked-no-diagnostics.cpp:15 + +int a = sizeof(QQ); hubert.reinterpretcast wrote: > Is there a reason to drop the `FileCheck` checking for the layout? I dropped the `FileCheck` because the

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

2020-07-13 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 277417. Xiangling_L added a comment. Removed unused var; CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79719/new/ https://reviews.llvm.org/D79719 Files: clang/include/clang/AST/RecordLayout.h clang/include/clang/Basic/TargetInfo.h

[PATCH] D83702: [AIX]Generate debug info for static init related functions

2020-07-13 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L created this revision. Xiangling_L added reviewers: hubert.reinterpretcast, yusra.syeda, jasonliu. Herald added subscribers: cfe-commits, aprantl. Herald added a project: clang. Set the debug location for static init related functions on AIX(__dtor and __finalize) so we can generate

[PATCH] D83702: [AIX]Generate debug info for static init related functions

2020-07-14 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 277831. Xiangling_L marked 6 inline comments as done. Xiangling_L added a comment. Simplified the testcase; Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83702/new/ https://reviews.llvm.org/D83702 Files:

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

2020-07-03 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L marked 5 inline comments as done. Xiangling_L added inline comments. Comment at: clang/test/Layout/aix-double-struct-member.cpp:1 +// RUN: %clang_cc1 -emit-llvm-only -triple powerpc-ibm-aix-xcoff \ +// RUN: -fdump-record-layouts -fsyntax-only %s 2>/dev/null | \

[PATCH] D82806: [AIX] Static init support for template specialization and inline variable

2020-06-30 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L abandoned this revision. Xiangling_L added a comment. Abandon this revision to keep separable C++ initialization as it is and will handle them in the backend later. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82806/new/

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

2020-07-08 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L marked an inline comment as done. Xiangling_L added inline comments. Comment at: clang/lib/AST/RecordLayoutBuilder.cpp:1796 + bool FoundFirstNonOverlappingEmptyFieldToHandle = + DefaultsToAIXPowerAlignment && FieldOffset == CharUnits::Zero() && +

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

2020-07-07 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added inline comments. Comment at: clang/lib/AST/RecordLayoutBuilder.cpp:1225 + Context.getTargetInfo().getTriple().isPS4() || + Context.getTargetInfo().getTriple().isOSAIX())) + ? CharUnits::One()

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

2020-07-07 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 276143. Xiangling_L marked 14 inline comments as done. Xiangling_L added a comment. Fixed typedef issue on incomplete array field and add a test for it; Added a test for where pack attribute on object also apply on base classes; Addressed other comments;

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

2020-07-06 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 275728. Xiangling_L marked 3 inline comments as done. Xiangling_L added a comment. Fixed -Wpacked warning issue; Fixed EmptySubobjects related offset issue; Fixed zero-extent array in a base class related issue; Addressed other comments; CHANGES SINCE

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

2020-07-06 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L marked 27 inline comments as done. Xiangling_L added inline comments. Comment at: clang/lib/AST/ASTContext.cpp:2424 + (T->isSpecificBuiltinType(BuiltinType::LongDouble) && + Target->supportsAIXPowerAlignment())) // Don't increase the alignment if an

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

2020-07-09 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 276866. Xiangling_L marked 9 inline comments as done. Xiangling_L added a comment. Fixed a base class related case by adding `IsFirstNonEmpty` flag; Split the `aix-Wpacked.cpp` testcase into two; Addressed other comments; CHANGES SINCE LAST ACTION

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

2020-06-18 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 271668. Xiangling_L added a comment. Fix the previous bad version; CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74166/new/ https://reviews.llvm.org/D74166 Files: clang/include/clang/AST/Mangle.h clang/lib/AST/ItaniumMangle.cpp

[PATCH] D81972: [NFC] Cleanup of EmitCXXGlobalInitFunc() and EmitCXXGlobalDtorFunc()

2020-06-18 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 271661. Xiangling_L marked 2 inline comments as done. Xiangling_L added a comment. Address comments; CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81972/new/ https://reviews.llvm.org/D81972 Files: clang/lib/CodeGen/CGDeclCXX.cpp Index:

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

2020-06-18 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 271664. Xiangling_L marked an inline comment as done. Xiangling_L added a comment. Adjust the patch corresponding to D81972 ; CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74166/new/

[PATCH] D81972: [NFC] Cleanup of EmitCXXGlobalInitFunc() and EmitCXXGlobalDtorFunc()

2020-06-17 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 271389. Xiangling_L marked an inline comment as done. Xiangling_L added a comment. Minor change; Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81972/new/ https://reviews.llvm.org/D81972 Files:

[PATCH] D81972: [NFC] Cleanup of EmitCXXGlobalInitFunc() and EmitCXXGlobalDtorFunc()

2020-06-17 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 271486. Xiangling_L marked 3 inline comments as done. Xiangling_L added a comment. Remove early return part; Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81972/new/ https://reviews.llvm.org/D81972 Files:

[PATCH] D81972: [NFC] Cleanup of EmitCXXGlobalInitFunc() and EmitCXXGlobalDtorFunc()

2020-06-17 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added inline comments. Comment at: clang/lib/CodeGen/CGDeclCXX.cpp:596 } + // Include the filename in the symbol name. Including "sub_" matches gcc jasonliu wrote: > jasonliu wrote: > > jasonliu wrote: > > > I think this patch is missing what

[PATCH] D81972: [NFC] Cleanup of EmitCXXGlobalInitFunc() and EmitCXXGlobalDtorFunc()

2020-06-17 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 271492. Xiangling_L added a comment. Add the context to the patch; CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81972/new/ https://reviews.llvm.org/D81972 Files: clang/lib/CodeGen/CGDeclCXX.cpp Index: clang/lib/CodeGen/CGDeclCXX.cpp

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

2020-06-18 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 271747. Xiangling_L marked 3 inline comments as done. Xiangling_L added a comment. Removed a redundant header file; Addressed comments; CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74166/new/ https://reviews.llvm.org/D74166 Files:

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

2020-06-18 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added inline comments. Comment at: clang/lib/CodeGen/CGDeclCXX.cpp:345 +// rarely. +Weights = nullptr; + } else if (Kind == GuardKind::VariableGuard && !D->isLocalVarDecl()) { jasonliu wrote: > Do we need to change/complicate the interface

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

2020-06-19 Thread Xiangling Liao via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Xiangling_L marked an inline comment as done. Closed by commit rG22337bfe7d87: [AIX][Frontend] Static init implementation for AIX considering no priority (authored by Xiangling_L). Changed prior to commit:

[PATCH] D82136: [AIX] Default AIX to using -fno-use-cxa-atexit

2020-06-19 Thread Xiangling Liao via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Xiangling_L marked 2 inline comments as done. Closed by commit rG3f2e61c1fe42: [AIX] Default AIX to using -fno-use-cxa-atexit (authored by Xiangling_L). Herald added a project: clang. Herald added a subscriber: cfe-commits.

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

2020-06-23 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 272741. Xiangling_L marked 24 inline comments as done. Xiangling_L added a comment. Addressed comments; Fixed the ICE problem with array as first member; Add support for Complex type; CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79719/new/

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

2020-06-23 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added inline comments. Comment at: clang/lib/AST/ASTContext.cpp:2424 + (T->isSpecificBuiltinType(BuiltinType::LongDouble) && + Target->supportsAIXPowerAlignment())) // Don't increase the alignment if an alignment attribute was specified on a

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

2020-06-24 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L marked 2 inline comments as done. Xiangling_L added inline comments. Comment at: clang/lib/AST/RecordLayoutBuilder.cpp:1881 + if (isAIXLayout(Context) && FieldOffset == CharUnits::Zero() && + (IsUnion || NonOverlappingEmptyFieldFound)) { +

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

2020-06-16 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 271156. Xiangling_L marked 35 inline comments as done. Xiangling_L added a comment. Renamed some functions; Add one more test; etc. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74166/new/

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

2020-06-16 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added inline comments. Comment at: clang/lib/CodeGen/ItaniumCXXABI.cpp:4489 + // DestructCallBlock, otherwise jump to EndBlock directly. + CGF.EmitCXXGuardedInitBranch(NeedsDestruct, DestructCallBlock, EndBlock, +

[PATCH] D81972: [NFC] Cleanup of EmitCXXGlobalInitFunc() and EmitCXXGlobalDtorFunc()

2020-06-18 Thread Xiangling Liao via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGed1b556954eb: [NFC] Cleanup of EmitCXXGlobalInitFunc() and EmitCXXGlobalDtorFunc() (authored by Xiangling_L). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

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

2020-06-17 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added inline comments. Comment at: clang/lib/CodeGen/CGDeclCXX.cpp:708 +" based on strong external symbols"); + GlobalUniqueModuleId = GlobalUniqueModuleId.substr(1); +} jasonliu wrote: > Correct me if I'm wrong... >

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

2020-06-17 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 271550. Xiangling_L marked 11 inline comments as done. Xiangling_L edited the summary of this revision. Xiangling_L added a comment. Herald added a subscriber: jfb. Remove trailing spaces; Update the testcase; Adjust the EmitGuardedInitBranch function;

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

2020-06-26 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 273708. Xiangling_L marked 2 inline comments as done. Xiangling_L added a comment. Corrected the comments; Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79719/new/ https://reviews.llvm.org/D79719 Files:

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

2020-06-23 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 272824. Xiangling_L marked 2 inline comments as done. Xiangling_L added a comment. Adjust the function name; Adjust the comment; CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79719/new/ https://reviews.llvm.org/D79719 Files:

[PATCH] D81972: [NFC] Cleanup of EmitCXXGlobalInitFunc() and EmitCXXGlobalDtorFunc()

2020-06-16 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L created this revision. Xiangling_L added reviewers: jasonliu, hubert.reinterpretcast. Herald added a project: clang. Herald added a subscriber: cfe-commits. Xiangling_L edited the summary of this revision. Tidy up some code of `EmitCXXGlobalInitFunc()` and `EmitCXXGlobalDtorFunc()`as

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

2020-06-10 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 269900. Xiangling_L marked 17 inline comments as done. Xiangling_L added a comment. Address the comments Repository: rL LLVM CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74166/new/ https://reviews.llvm.org/D74166 Files:

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

2020-06-10 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added inline comments. Comment at: clang/lib/AST/ItaniumMangle.cpp:5217 + else +Mangler.getStream() << D->getName(); +} jasonliu wrote: > If I understand correctly, this function will come in pair with > `__cxx_global_var_init`. >

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

2020-06-05 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 268840. Xiangling_L added a comment. Replace `int` with an more self-explanatory enum; Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79719/new/ https://reviews.llvm.org/D79719 Files:

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

2020-06-09 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 269553. Xiangling_L marked an inline comment as done. Xiangling_L added a comment. Replace the transient status by a local var; Clean up the code; Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79719/new/

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

2020-06-04 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 268624. Xiangling_L marked 11 inline comments as done. Xiangling_L added a comment. Add `PreferredAlignment` and `PreferredNVAlignment` field; Adjust `-fdump-record-layouts` format for AIX; Update the testcase formatting; Repository: rG LLVM Github

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

2020-06-04 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added inline comments. Comment at: clang/lib/AST/ASTContext.cpp:2506 if (!Target->allowsLargerPreferedTypeAlignment()) return ABIAlign; jyknight wrote: > I think from here on down is currently X86-specific, even though it's not > phrased

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

2020-06-11 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 270267. Xiangling_L marked 21 inline comments as done. Xiangling_L added a comment. Address another round of reviews; CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74166/new/ https://reviews.llvm.org/D74166 Files:

  1   2   >