[PATCH] D88659: [FE]Split SuitableAlign into two parts

2020-10-05 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added a comment. In D88659#2306403 , @jyknight wrote: > Hm, to start with, the current state of this confuses me. > > In GCC, the preprocessor macro `__BIGGEST_ALIGNMENT__` was supposed to expose > the alignment used by

[PATCH] D88659: [FE]Split SuitableAlign into two parts

2020-10-01 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L created this revision. Xiangling_L added reviewers: hubert.reinterpretcast, zarko, Jason, jyknight, efriedma. Herald added subscribers: cfe-commits, luismarques, apazos, sameer.abuasal, pzheng, s.egerton, lenary, Jim, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, rogfer01,

[PATCH] D86790: [FE] Use preferred alignment instead of ABI alignment for complete object when applicable

2020-09-30 Thread Xiangling Liao via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG3a7487f903e2: [FE] Use preferred alignment instead of ABI alignment for complete object when… (authored by Xiangling_L). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D88260: [NFC][FE] Replace TypeSize with StorageUnitSize

2020-09-30 Thread Xiangling Liao via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG944691f0b7fa: [NFC][FE] Replace TypeSize with StorageUnitSize (authored by Xiangling_L). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88260/new/

[PATCH] D86790: [FE] Use preferred alignment instead of ABI alignment for complete object when applicable

2020-09-28 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 294787. Xiangling_L added a comment. Add delete[] function to the testcase; CHANGES SINCE LAST ACTION https://reviews.llvm.org/D86790/new/ https://reviews.llvm.org/D86790 Files: clang/include/clang/AST/ASTContext.h clang/lib/AST/ASTContext.cpp

[PATCH] D87029: [AIX] Implement AIX special bitfield related alignment rules

2020-09-24 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 294157. Xiangling_L added a comment. Rebased on the NFC patch; CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87029/new/ https://reviews.llvm.org/D87029 Files: clang/lib/AST/RecordLayoutBuilder.cpp clang/lib/Sema/SemaDecl.cpp

[PATCH] D88260: [NFC][FE] Replace TypeSize with StorageUnitSize

2020-09-24 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L created this revision. Xiangling_L added reviewers: jasonliu, hubert.reinterpretcast, efriedma. Herald added a project: clang. Herald added a subscriber: cfe-commits. Xiangling_L requested review of this revision. On some targets like AIX, last bitfield size is not always equal to

[PATCH] D87029: [AIX] Implement AIX special bitfield related alignment rules

2020-09-24 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L marked an inline comment as done. Xiangling_L added a comment. In D87029#2285398 , @jasonliu wrote: > I think it would help the review if we could put the NFC portion(e.g. > TypeSize -> StorageUnitSize) to a new patch, and give some rationale

[PATCH] D86790: [FE] Use preferred alignment instead of ABI alignment for complete object when applicable

2020-09-24 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 294116. Xiangling_L added a comment. Updated the comments; CHANGES SINCE LAST ACTION https://reviews.llvm.org/D86790/new/ https://reviews.llvm.org/D86790 Files: clang/include/clang/AST/ASTContext.h clang/lib/AST/ASTContext.cpp

[PATCH] D87702: [Frontend] Add pragma align natural and sort out pragma pack stack effect

2020-09-23 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 293846. Xiangling_L marked 3 inline comments as done. Xiangling_L added a comment. Addressed the comments; CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87702/new/ https://reviews.llvm.org/D87702 Files: clang/include/clang/Basic/Attr.td

[PATCH] D87702: [Frontend] Add pragma align natural and sort out pragma pack stack effect

2020-09-23 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L marked 9 inline comments as done. Xiangling_L added inline comments. Comment at: clang/include/clang/Sema/Sema.h:488 +AlignPackInfo(AlignPackInfo::Mode M, int Num, bool IsAIX) +: PackAttr(true), AlignMode(M), PackNumber(Num), AIXStack(IsAIX) {} +

[PATCH] D86790: [FE] Use preferred alignment instead of ABI alignment for complete object when applicable

2020-09-22 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 293561. Xiangling_L marked 16 inline comments as done. Xiangling_L added a comment. Addressed the comments; CHANGES SINCE LAST ACTION https://reviews.llvm.org/D86790/new/ https://reviews.llvm.org/D86790 Files: clang/include/clang/AST/ASTContext.h

[PATCH] D86790: [FE] Use preferred alignment instead of ABI alignment for complete object when applicable

2020-09-22 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added inline comments. Comment at: clang/lib/CodeGen/TargetInfo.cpp:4539 CharUnits CCAlign = getParamTypeAlignment(Ty); CharUnits TyAlign = getContext().getTypeAlignInChars(Ty); jasonliu wrote: > Question: > It looks like

[PATCH] D87029: [AIX] Implement AIX special bitfield related alignment rules

2020-09-17 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 292537. Xiangling_L added a comment. Rebased on the pragma/pack patch; Added packed related testcase for bitfield; CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87029/new/ https://reviews.llvm.org/D87029 Files:

[PATCH] D87702: [Frontend] Add pragma align natural and sort out pragma pack stack effect

2020-09-17 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 292533. Xiangling_L added a comment. Fix the PragmaStack is empty assertion failure when we do: #pragma pack(2) then #pragma align(reset) CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87702/new/ https://reviews.llvm.org/D87702 Files:

[PATCH] D86790: [FE] Use preferred alignment instead of ABI alignment for complete object when applicable

2020-09-16 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 292207. Xiangling_L added a comment. Use default argument; CHANGES SINCE LAST ACTION https://reviews.llvm.org/D86790/new/ https://reviews.llvm.org/D86790 Files: clang/include/clang/AST/ASTContext.h clang/lib/AST/ASTContext.cpp

[PATCH] D87702: [Frontend] Add pragma align natural and sort out pragma pack stack effect

2020-09-15 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 291950. Xiangling_L added a comment. Removed redundant header file include; CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87702/new/ https://reviews.llvm.org/D87702 Files: clang/include/clang/Basic/Attr.td

[PATCH] D87702: [Frontend] Add pragma align natural and sort out pragma pack stack effect

2020-09-15 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L created this revision. Xiangling_L added reviewers: jasonliu, hubert.reinterpretcast, efriedma, jyknight, rnk, rsmith, aaron.ballman. Herald added subscribers: cfe-commits, dang. Herald added a project: clang. Xiangling_L requested review of this revision. 1. Implementing the natural

[PATCH] D86790: [FE] Use preferred alignment instead of ABI alignment for complete object when applicable

2020-09-08 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added a comment. In D86790#2255371 , @jyknight wrote: > Do you have open questions on whether some callsites passing "false" here, > should be switched to true? Given what's here, I would say that it definitely > does not makes sense to add

[PATCH] D86790: [FE] Use preferred alignment instead of ABI alignment for complete object when applicable

2020-09-03 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added a comment. ping. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D86790/new/ https://reviews.llvm.org/D86790 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D87029: [AIX] Implement AIX special bitfield related alignment rules

2020-09-02 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 requested review of this revision. 1.[bool, char, short] bitfields have the same alignment as unsigned int 2.Adjust

[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-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-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] 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-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] 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] D84534: [AIX] Static init frontend recovery and backend support

2020-07-30 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 281938. Xiangling_L added a comment. Removed the disablement in IncrementalProcessingTest.cpp cross-target test; CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84534/new/ https://reviews.llvm.org/D84534 Files: clang/lib/CodeGen/CGDeclCXX.cpp

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

2020-07-30 Thread Xiangling Liao via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG4e6176fd912a: [AIX] Temporarily disable IncrementalProcessingTest partially (authored by Xiangling_L). Repository: rG LLVM Github Monorepo

[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-07-28 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 281240. Xiangling_L marked 4 inline comments as done. Xiangling_L added a comment. Created alias for sinit and sterm; Adjusted the testcase accordingly; CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84534/new/ https://reviews.llvm.org/D84534

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

2020-07-28 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L marked 5 inline comments as done. Xiangling_L added inline comments. Comment at: clang/lib/CodeGen/ItaniumCXXABI.cpp:4609 +// their own llvm.global_dtors entry. +CGM.AddCXXStermFinalizerToGlobalDtor(StermFinalizer, 65535); + else jasonliu

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

2020-07-27 Thread Xiangling Liao via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG05ad8e942996: [AIX] Implement AIX special alignment rule about double/long double (authored by Xiangling_L). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

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

2020-07-27 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 280897. Xiangling_L added a comment. Fix clang-tidy errors; 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-07-24 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L created this revision. Xiangling_L added reviewers: jasonliu, hubert.reinterpretcast, yusra.syeda, zarko, xingxue. Xiangling_L added a project: LLVM. Herald added subscribers: llvm-commits, cfe-commits, jfb, kbarton, hiraditya, nemanjai. Herald added a project: clang. 1. Frontend

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

2020-07-22 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 279991. Xiangling_L added a comment. - Simplified the test command line; - Split the `typedef` related tests into two to address the LIT testcase failure on windows platform; CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79719/new/

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

2020-07-22 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 279930. Xiangling_L marked 3 inline comments as done. Xiangling_L added a comment. Add one more testcase; Addressed other comments; 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-07-22 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L marked 13 inline comments as done. Xiangling_L added inline comments. Comment at: clang/lib/AST/ASTContext.cpp:2418 + if (!Target->allowsLargerPreferedTypeAlignment()) return ABIAlign; jasonliu wrote: > Should this if statement go above the

[PATCH] D83974: [AIX] report_fatal_error on `-fregister_global_dtors_with_atexit` for static init

2020-07-17 Thread Xiangling Liao via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGec6ada62643c: [AIX] report_fatal_error on `-fregister_global_dtors_with_atexit` for static… (authored by Xiangling_L). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D83974: [AIX] report_fatal_error on `-fregister_global_dtors_with_atexit` for static init

2020-07-17 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 278777. Xiangling_L marked 2 inline comments as done. Xiangling_L added a comment. Adjust the quesry; CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83974/new/ https://reviews.llvm.org/D83974 Files: clang/lib/CodeGen/CodeGenModule.cpp

[PATCH] D83974: [AIX] report_fatal_error on `-fregister_global_dtors_with_atexit` for static init

2020-07-16 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L created this revision. Xiangling_L added reviewers: jasonliu, hubert.reinterpretcast, yusra.syeda. Herald added a project: clang. Herald added a subscriber: cfe-commits. On AIX, the semantic of global_dtors contains `__sterm` functions associated with C++ cleanup actions and

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

2020-07-16 Thread Xiangling Liao via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG69f3378ad65b: [AIX]Generate debug info for static init related functions (authored by Xiangling_L). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83702/new/

[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] 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] 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] 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-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] 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-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-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-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-06 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added inline comments. Comment at: clang/lib/AST/ASTContext.cpp:2409 +const RecordDecl *RD = RT->getDecl(); +return std::max(ABIAlign, static_cast(toBits( + getASTRecordLayout(RD).PreferredAlignment)));

[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 275840. Xiangling_L marked 6 inline comments as done. Xiangling_L added a comment. Fixed the `typedef` related issues; Added more testcases; 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-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-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] 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] 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] 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-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-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] 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] 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] 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] 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] 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-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-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 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] 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-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-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] 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] 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 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 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-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-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] 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-12 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 270548. Xiangling_L marked 35 inline comments as done. Xiangling_L edited the summary of this revision. Xiangling_L added a comment. Address another round of reviews; Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

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

2020-06-12 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added inline comments. Comment at: clang/lib/CodeGen/CGDeclCXX.cpp:639 + if (CXXGlobalInits.empty()) +return; hubert.reinterpretcast wrote: > Can this part be committed in a separate patch? It does not appear to have > dependencies on other

[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 added inline comments. Comment at: clang/include/clang/AST/Mangle.h:178 + virtual void mangleDynamicDestructor(const VarDecl *D, raw_ostream ) = 0; + hubert.reinterpretcast wrote: > I am not sure "destructor" is the right term here. This seems to

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

[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] 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] 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-08 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 269396. Xiangling_L marked 2 inline comments as done. Xiangling_L added a comment. Simplify the code; Add one more testcase related to [[no_unique_addr]]; Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

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

2020-06-08 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added inline comments. Comment at: clang/lib/AST/RecordLayoutBuilder.cpp:666 +FirstNonOverlappingEmptyFieldHandled + } FirstNonOverlappingEmptyFieldStatus; + efriedma wrote: > Instead of specifically tracking whether you've found an

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

<    1   2   3   >