[PATCH] D58930: Add XCOFF triple object format type for AIX

2019-03-04 Thread Jason Liu via Phabricator via cfe-commits
jasonliu created this revision. jasonliu added reviewers: hubert.reinterpretcast, sfertile, chandlerc, apaprocki. Herald added subscribers: llvm-commits, lldb-commits, cfe-commits, dexonsmith, aheejin, hiraditya, javed.absar. Herald added projects: clang, LLDB, LLVM. This patch adds an XCOFF tri

[PATCH] D58930: Add XCOFF triple object format type for AIX

2019-03-05 Thread Jason Liu via Phabricator via cfe-commits
jasonliu marked 2 inline comments as done. jasonliu added inline comments. Comment at: lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp:2079 + if (log) +log->Printf("sorry: unimplemented for XCOFF"); + return false; --

[PATCH] D58930: Add XCOFF triple object format type for AIX

2019-03-05 Thread Jason Liu via Phabricator via cfe-commits
jasonliu updated this revision to Diff 189387. jasonliu added a comment. Address some review comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D58930/new/ https://reviews.llvm.org/D58930 Files: clang/lib/CodeGen/BackendUtil.cpp clang/lib/C

[PATCH] D58930: Add XCOFF triple object format type for AIX

2019-03-05 Thread Jason Liu via Phabricator via cfe-commits
jasonliu marked an inline comment as done. jasonliu added inline comments. Comment at: lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp:2079 + if (log) +log->Printf("sorry: unimplemented for XCOFF"); + return false; --

[PATCH] D58930: Add XCOFF triple object format type for AIX

2019-03-05 Thread Jason Liu via Phabricator via cfe-commits
jasonliu marked 3 inline comments as done. jasonliu added inline comments. Comment at: clang/lib/CodeGen/BackendUtil.cpp:1470 + case Triple::XCOFF: +// TODO: Falling through for XCOFF format for now. +break; JDevlieghere wrote: > This is confusing, you s

[PATCH] D58930: Add XCOFF triple object format type for AIX

2019-03-05 Thread Jason Liu via Phabricator via cfe-commits
jasonliu marked an inline comment as done. jasonliu added inline comments. Comment at: llvm/lib/MC/MCContext.cpp:165 +case MCObjectFileInfo::IsXCOFF: + // TODO: Need to implement class MCSymbolXCOFF. + break; JDevlieghere wrote: > See previous comme

[PATCH] D58930: Add XCOFF triple object format type for AIX

2019-03-06 Thread Jason Liu via Phabricator via cfe-commits
jasonliu updated this revision to Diff 189514. jasonliu added a comment. Address comments in last revision. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D58930/new/ https://reviews.llvm.org/D58930 Files: clang/lib/CodeGen/BackendUtil.cpp clang

[PATCH] D58930: Add XCOFF triple object format type for AIX

2019-03-06 Thread Jason Liu via Phabricator via cfe-commits
jasonliu marked 2 inline comments as done. jasonliu added inline comments. Comment at: lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp:2079 + if (log) +log->Printf("sorry: unimplemented for XCOFF"); + return false; --

[PATCH] D58930: Add XCOFF triple object format type for AIX

2019-03-07 Thread Jason Liu via Phabricator via cfe-commits
jasonliu updated this revision to Diff 189713. jasonliu added a comment. Share the same "unsupported error" message with WASM. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D58930/new/ https://reviews.llvm.org/D58930 Files: clang/lib/CodeGen/Back

[PATCH] D58930: Add XCOFF triple object format type for AIX

2019-03-12 Thread Jason Liu via Phabricator via cfe-commits
This revision was not accepted when it landed; it landed in state "Needs Review". This revision was automatically updated to reflect the committed changes. Closed by commit rL355989: Add XCOFF triple object format type for AIX (authored by jasonliu, committed by ). Herald added a subscriber: kris

[PATCH] D59048: Add AIX Target Info

2019-03-13 Thread Jason Liu via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC356060: Add AIX Target Info (authored by jasonliu, committed by ). Changed prior to commit: https://reviews.llvm.org/D59048?vs=190133&id=190425#toc Repository: rC Clang CHANGES SINCE LAST ACTION h

[PATCH] D59048: Add AIX Target Info

2019-03-13 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added a comment. I'm seeing some build bot failures because of the newly added test case: max_align.c. So I reverted the previous committed change. Please fix the test case and let me know so that I can help you commit again. Repository: rC Clang CHANGES SINCE LAST ACTION https:/

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

2019-10-06 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added a comment. Any reason we are testing library search path using libgcc.a? We could use any dummy path there, and upload a dummy archive library for the testing purpose. Comment at: clang/lib/Driver/ToolChains/AIX.cpp:112 + +AIX::~AIX() {} + We ar

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

2019-10-06 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added a comment. nit: We might want to add period consistently for all the comments in the patch. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D68340/new/ https://reviews.llvm.org/D68340 ___ c

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

2019-10-08 Thread Jason Liu via Phabricator via cfe-commits
jasonliu 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"); Xiangling_L wrote: > Is there any reason to use llvm_unr

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

2019-10-18 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/lib/Driver/ToolChains/AIX.h:19 + +/// aix -- Directly call system default and linker. +// TODO: Enable direct call to system default assembler. remove "and". Comment at: clang/lib/Driver/ToolCha

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

2019-10-23 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/lib/Driver/CMakeLists.txt:33 ToolChains/Arch/X86.cpp + ToolChains/AIX.cpp ToolChains/Ananas.cpp Looks like this list is following alphabetical order here, which means we should probably put "ToolChains/AIX

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

2019-10-24 Thread Jason Liu via Phabricator via cfe-commits
jasonliu accepted this revision. jasonliu added a comment. This revision is now accepted and ready to land. Aside from the nit comment that can be addressed when checkin. LGTM. Comment at: clang/lib/Driver/ToolChains/AIX.cpp:59 + + auto getCrt0Basename = [&IsArch32Bit, &Args]

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

2020-05-20 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/include/clang/AST/RecordLayout.h:74 + /// The maximum allowed field alignment. This is set by #pragma pack. + CharUnits MaxFieldAlignment; + efriedma wrote: > If we have to keep around extra data anyway, probabl

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

2020-05-20 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/lib/AST/ASTContext.cpp:2533 + hasFloatingPointAsFirstMember(RD, MaxFieldAlignment)) +return std::max(ABIAlign, (unsigned)toBits(CharUnits::fromQuantity(8))); +} I guess another thing that wor

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

2020-07-16 Thread Jason Liu via Phabricator via cfe-commits
jasonliu accepted this revision. jasonliu added a comment. This revision is now accepted and ready to land. LGTM with minor nit. Comment at: clang/test/CodeGenCXX/aix-sinit-register-global-dtors-with-atexit.cpp:10 +struct T{ +T(); +~T(); nit: fix clang

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

2020-07-22 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/lib/AST/ASTContext.cpp:2418 + if (!Target->allowsLargerPreferedTypeAlignment()) return ABIAlign; Should this if statement go above the `if (const auto *RT = T->getAs()) ` ? When Target does not allow larg

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

2020-07-22 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added a comment. Thanks. No further comments from me. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79719/new/ https://reviews.llvm.org/D79719 ___ cfe-commits mailing list cfe-commits@lists.ll

[PATCH] D84356: [AIX] remove -u from the clang when invoke aix as assembler

2020-07-23 Thread Jason Liu via Phabricator via cfe-commits
jasonliu accepted this revision. jasonliu added a comment. This revision is now accepted and ready to land. Thanks. LGTM. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84356/new/ https://reviews.llvm.org/D84356 __

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

2020-07-27 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/lib/CodeGen/ItaniumCXXABI.cpp:4609 +// their own llvm.global_dtors entry. +CGM.AddCXXStermFinalizerToGlobalDtor(StermFinalizer, 65535); + else Handling template instantiation seems fairly orthogonal to "m

[PATCH] D76932: [AIX] emit .extern and .weak directive linkage

2020-04-06 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added a comment. Thanks for splitting the test case. I think it helps a lot for reading and maintainability. Comment at: llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:1490 continue; GlobalValue::VisibilityTypes V = F.getVisibility(); + This l

[PATCH] D76130: [PPC][AIX] Implement variadic function handling in LowerFormalArguments_AIX

2020-04-06 Thread Jason Liu via Phabricator via cfe-commits
jasonliu accepted this revision. jasonliu added a comment. This revision is now accepted and ready to land. Not sure if you want to wait for the feedback from @sfertile and @cebowleratibm , but I'm good with the current revision. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D76932: [AIX] emit .extern and .weak directive linkage

2020-04-08 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:1500 + if (cast(Name)->hasContainingCsect()) +emitLinkage(&F, Name); + DiggerLin wrote: > jasonliu wrote: > > 1. We need to rebase here, as it is called `hasRepres

[PATCH] D76932: [AIX] emit .extern and .weak directive linkage

2020-04-09 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:1500 + if (cast(Name)->hasContainingCsect()) +emitLinkage(&F, Name); + DiggerLin wrote: > jasonliu wrote: > > DiggerLin wrote: > > > jasonliu wrote: > > > > 1. We

[PATCH] D76932: [AIX] emit .extern and .weak directive linkage

2020-04-09 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:1497 + OutContext.getOrCreateSymbol("." + Name->getName()); + assert(FnEntryPointSym->getName().equals( + cast(FnEntryPointSym)->getUnqualifiedName()) && -

[PATCH] D76932: [AIX] emit .extern and .weak directive linkage

2020-04-09 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: llvm/test/CodeGen/PowerPC/aix-extern.ll:14 + +; Function Attrs: noinline nounwind optnone +define void @foo() #0 { nit: Function Attrs and `#0` could be removed Repository: rG LLVM Github Monorepo CHANGES SINCE LAS

[PATCH] D76130: [PPC][AIX] Implement variadic function handling in LowerFormalArguments_AIX

2020-04-09 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added a comment. This is landed in https://github.com/llvm/llvm-project/commit/085689d44cb95604072d0f2b130167d9410ea155. Not sure why it does not close automatically. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76130/new/ https://review

[PATCH] D76130: [PPC][AIX] Implement variadic function handling in LowerFormalArguments_AIX

2020-04-09 Thread Jason Liu via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG085689d44cb9: [PPC][AIX] Implement variadic function handling in LowerFormalArguments_AIX (authored by jasonliu). Changed prior to commit: https://reviews.llvm.org/D76130?vs=255321&id=256367#toc Reposi

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

2020-04-13 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/test/CodeGen/ppc32-struct-return.c:53 + +// AIX-SVR4: fatal error: error in backend: -msvr4-struct-return not supported on AIX + If certain front end option is not supported on certain target, I think it makes

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

2020-04-14 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/test/CodeGen/ppc32-struct-return.c:53 + +// AIX-SVR4: fatal error: error in backend: -msvr4-struct-return not supported on AIX + jasonliu wrote: > sfertile wrote: > > jasonliu wrote: > > > If certain front end o

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

2020-04-14 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/test/CodeGen/ppc32-struct-return.c:53 + +// AIX-SVR4: fatal error: error in backend: -msvr4-struct-return not supported on AIX + sfertile wrote: > jasonliu wrote: > > If certain front end option is not supported

[PATCH] D76932: [AIX] emit .extern and .weak directive linkage

2020-04-15 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:441 + case GlobalValue::ExternalWeakLinkage: +if (TM.getTargetTriple().isOSBinFormatXCOFF()) { + OutStreamer->emitSymbolAttribute(GVSym, MCSA_Weak); Maybe an assert o

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

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

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

2020-06-10 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/lib/CodeGen/CGDeclCXX.cpp:305 + if (llvm::Function *unatexitFn = + dyn_cast(unatexit.getCallee())) +unatexitFn->setDoesNotThrow(); Is there a valid case that unatexit.getCallee() returns a type which

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

2020-06-10 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added a comment. -fregister_global_dtors_with_atexit does not seem to work properly in current implementation. We should consider somehow disabling/report_fatal_error it instead of letting it generate invalid code on AIX. Comment at: clang/lib/CodeGen/CGDeclCXX.cpp:

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

2020-06-10 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/include/clang/AST/RecordLayout.h:75 + // can be different than Alignment in cases where it is beneficial for + // performance. + CharUnits PreferredAlignment; nit for comment: I don't think it's related to perf

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

2020-06-10 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/lib/CodeGen/CGCXXABI.h:113 + + virtual bool isCXXGlobalInitAndDtorFuncInternal() const { return true; } + Xiangling_L wrote: > jasonliu wrote: > > Do we need this isCXXGlobalInitAndDtorFuncInternal? Looks like it

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

2020-06-12 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/test/CodeGen/static-init.cpp:8 +// RUN: FileCheck %s struct test { Looks like the non-inline comments are easier to get ignored and missed, so I will copy paste the non-inlined comment I previously had: ```

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

2020-06-16 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/lib/CodeGen/CGDeclCXX.cpp:596 } + // Include the filename in the symbol name. Including "sub_" matches gcc I think this patch is missing what @hubert.reinterpretcast mentioned in https://reviews.llvm.org/D7

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

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

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

2020-06-17 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/lib/CodeGen/CGDeclCXX.cpp:835 + + llvm::CallInst *CI = nullptr; + if (Arg == nullptr) { nit: trailing whitespace Comment at: clang/test/CodeGen/static-init.cpp:31 +namespace test4 { +

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

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

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

2020-06-17 Thread Jason Liu via Phabricator via cfe-commits
jasonliu 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: > > I think this patch is missing what @hubert.reinterpretcast men

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

2020-06-17 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added a comment. New diff does not have context available. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81972/new/ https://reviews.llvm.org/D81972 ___ cfe-commits mailing list cfe-commits@lis

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

2020-06-17 Thread Jason Liu via Phabricator via cfe-commits
jasonliu accepted this revision. jasonliu added a comment. This revision is now accepted and ready to land. LGTM. Comment at: clang/lib/CodeGen/CGDeclCXX.cpp:596 } + // Include the filename in the symbol name. Including "sub_" matches gcc Xiangling_L wrot

[PATCH] D81270: [XCOFF][AIX] Use 'L..' instead of '.L' for getPrivateGlobalPrefix in DataLayout

2020-07-03 Thread Jason Liu via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG572dde55eebb: [XCOFF][AIX] Use 'L..' instead of '.L' for getPrivateGlobalPrefix in DataLayout (authored by jasonliu). Herald added a project: clang. Herald added a subscriber: cfe-commits. Repository: r

[PATCH] D82476: [Clang][Driver] Recognize the AIX OBJECT_MODE environment setting

2020-07-08 Thread Jason Liu via Phabricator via cfe-commits
jasonliu accepted this revision. jasonliu added a comment. This revision is now accepted and ready to land. LGTM. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82476/new/ https://reviews.llvm.org/D82476 __

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

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

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

2020-06-18 Thread Jason Liu via Phabricator via cfe-commits
jasonliu accepted this revision. jasonliu added a comment. This revision is now accepted and ready to land. LGTM. But I suggest to wait for @hubert.reinterpretcast to have another scan at this before landing. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74166/new/ https://reviews.llvm

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

2020-06-23 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/lib/AST/RecordLayoutBuilder.cpp:1881 + if (isAIXLayout(Context) && FieldOffset == CharUnits::Zero() && + (IsUnion || NonOverlappingEmptyFieldFound)) { +FirstNonOverlappingEmptyFieldHandled = true; Xiangl

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

2020-06-24 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/lib/AST/RecordLayoutBuilder.cpp:1881 + if (isAIXLayout(Context) && FieldOffset == CharUnits::Zero() && + (IsUnion || NonOverlappingEmptyFieldFound)) { +FirstNonOverlappingEmptyFieldHandled = true; Xiangl

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

2020-06-25 Thread Jason Liu via Phabricator via cfe-commits
jasonliu accepted this revision. jasonliu added a comment. LGTM. I have no further comments on this patch. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79719/new/ https://reviews.llvm.org/D79719 ___ cfe-commits mailing list cfe-commits@lis

[PATCH] D76932: [AIX] emit .extern and .weak directive linkage

2020-04-16 Thread Jason Liu via Phabricator via cfe-commits
jasonliu accepted this revision. jasonliu added a comment. This revision is now accepted and ready to land. LGTM. Please wait a day or two to see if @hubert.reinterpretcast have further comments. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76932/

[PATCH] D78506: [NFC] Common up TargetCodeGenInfo for all PowerPC target.

2020-04-20 Thread Jason Liu via Phabricator via cfe-commits
jasonliu created this revision. jasonliu added reviewers: sfertile, nemanjai, hubert.reinterpretcast, cebowleratibm. Herald added subscribers: steven.zhang, shchenz. jasonliu added a reviewer: PowerPC. jasonliu added a comment. To reviewers: Although the patch is showing changes on various ABIInf

[PATCH] D78506: [NFC] Common up TargetCodeGenInfo for all PowerPC target.

2020-04-20 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added a comment. To reviewers: Although the patch is showing changes on various ABIInfo classes. But those classes are actually untouched. This patch only touches PowerPC TargetCodeGenInfo related classes. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78506/new/ https://review

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

2020-04-21 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/test/Layout/aix-double-struct-member.cpp:136 +// CHECK-NEXT:| nvsize=12, nvalign=4] +}; // namespace test4 1. I think we also want to test empty base class with a derived class contains double as fir

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

2020-04-21 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/include/clang/AST/RecordLayout.h:177 + /// getAIXOffsetAlignment - Get the record of aixOffset alignment in + /// characters. Not sure if aixOffset is a thing? Might be better to just say "aix offset alignmen

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

2020-04-21 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/include/clang/AST/RecordLayout.h:81 + /// AIXOffsetAlignment - The special AIX Alignment for the object that + /// contains floating-point member or sub-member. This is for AIX-abi only. AIX Alignment -> AIX a

[PATCH] D79033: [NFC][clang] Replace raw new/delete with unique_ptr to store ABIInfo in TargetCodeGenInfo

2020-04-28 Thread Jason Liu via Phabricator via cfe-commits
jasonliu created this revision. jasonliu added reviewers: hubert.reinterpretcast, sfertile, nemanjai, Xiangling_L. Herald added subscribers: s.egerton, simoncook, fedor.sergeev, aheejin, dschuff. Herald added a project: clang. Use unique_ptr to manage the lifetime of ABIInfo member inside Target

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

2020-04-28 Thread Jason Liu via Phabricator via cfe-commits
jasonliu created this revision. jasonliu added reviewers: Xiangling_L, sfertile, hubert.reinterpretcast, cebowleratibm, ZarkoCA. Herald added subscribers: kbarton, nemanjai. Herald added a project: clang. Created AIXABIInfo and AIXTargetCodeGenInfo for AIX ABI. Some investigation and FAQ on why

[PATCH] D79033: [NFC][clang] Replace raw new/delete with unique_ptr to store ABIInfo in TargetCodeGenInfo

2020-04-28 Thread Jason Liu via Phabricator via cfe-commits
jasonliu updated this revision to Diff 260746. jasonliu added a comment. Provide default virtual destructor. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79033/new/ https://reviews.llvm.org/D79033 Files: clang/lib/CodeGen/TargetInfo.cpp clang/lib/CodeGen/TargetInfo.h Index: clang

[PATCH] D79033: [NFC][clang] Replace raw new/delete with unique_ptr to store ABIInfo in TargetCodeGenInfo

2020-04-28 Thread Jason Liu via Phabricator via cfe-commits
jasonliu updated this revision to Diff 260766. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79033/new/ https://reviews.llvm.org/D79033 Files: clang/lib/CodeGen/TargetInfo.cpp clang/lib/CodeGen/TargetInfo.h Index: clang/lib/CodeGen/TargetInfo.h ==

[PATCH] D79033: [NFC][clang] Replace raw new/delete with unique_ptr to store ABIInfo in TargetCodeGenInfo

2020-04-30 Thread Jason Liu via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGe0c356582d2f: [NFC][clang] Replace raw new/delete with unique_ptr to store ABIInfo in… (authored by jasonliu). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D

[PATCH] D79044: [AIX] Avoid structor alias; die before bad alias codegen

2020-05-01 Thread Jason Liu via Phabricator via cfe-commits
jasonliu accepted this revision. jasonliu added a comment. This revision is now accepted and ready to land. LGTM. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79044/new/ https://reviews.llvm.org/D79044 __

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

2020-07-30 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/lib/CodeGen/CGDeclCXX.cpp:24 #include "llvm/Support/Path.h" #include "llvm/Transforms/Utils/ModuleUtils.h" We are removing the usage of "getUniqueModuleId" in this file, So I assume this include could get rem

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

2020-07-30 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp:1865 +if (isSpecialLLVMGlobalArrayForStaticInit(&G)) { + if (GlobalUniqueModuleId.empty()) { +GlobalUniqueModuleId = getUniqueModuleId(&M); We will need to move

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

2020-08-05 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: format:1 +//===-- PPCAsmPrinter.cpp - Print machine instrs to PowerPC assembly --===// +// Redundant file? Comment at: llvm/include/llvm/CodeGen/AsmPrinter.h:455 } + struct Structor { -

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

2020-08-06 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: llvm/include/llvm/CodeGen/AsmPrinter.h:391 + /// @param[out] Structors Sorted Structor structs by Priority. + /// @return false if List is not an array of '{ i32, void ()*, i8* }' structs. + bool preprocessXXStructorList(const DataL

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

2020-08-06 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: llvm/include/llvm/CodeGen/AsmPrinter.h:466 + + bool preprocessStructorList(const DataLayout &DL, const Constant *List, + SmallVector &Structors); Xiangling_L wrote: > jasonliu wrote: > > Xi

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

2020-08-07 Thread Jason Liu via Phabricator via cfe-commits
jasonliu accepted this revision. jasonliu added a comment. This revision is now accepted and ready to land. Thanks. LGTM. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84534/new/ https://reviews.llvm.org/D84534 ___ cfe-commits mailing list cf

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

2020-05-04 Thread Jason Liu via Phabricator via cfe-commits
jasonliu marked 2 inline comments as done. jasonliu added inline comments. Comment at: clang/test/CodeGen/ppc32-dwarf.c:2 +// RUN: %clang_cc1 -triple powerpc-unknown-aix -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -triple powerpc-unknown-unknown -emit-llvm %s -o - | F

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

2020-05-04 Thread Jason Liu via Phabricator via cfe-commits
jasonliu marked 2 inline comments as done. jasonliu added inline comments. Comment at: clang/lib/CodeGen/TargetInfo.cpp:4317 + if (isAggregateTypeForABI(RetTy)) +return getNaturalAlignIndirect(RetTy); + Xiangling_L wrote: > This method uses the ABI alignment

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

2020-05-05 Thread Jason Liu via Phabricator via cfe-commits
jasonliu updated this revision to Diff 262250. jasonliu marked 12 inline comments as done. jasonliu added a comment. Rebase and address comments. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79035/new/ https://reviews.llvm.org/D79035 Files: clang/lib/CodeGen/TargetInfo.cpp clang/l

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

2020-05-05 Thread Jason Liu via Phabricator via cfe-commits
jasonliu updated this revision to Diff 262252. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79035/new/ https://reviews.llvm.org/D79035 Files: clang/lib/CodeGen/TargetInfo.cpp clang/lib/Driver/ToolChains/Clang.cpp clang/test/CodeGen/aix-complex.c clang/test/CodeGen/aix-return.c

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

2020-05-05 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/lib/CodeGen/TargetInfo.cpp:4368 + + return emitVoidPtrVAArg(CGF, VAListAddr, Ty, /*Indirect*/ false, TypeInfo, + SlotSize, /*AllowHigher*/ true); ZarkoCA wrote: > Is there a reason why In

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

2020-05-08 Thread Jason Liu via Phabricator via cfe-commits
jasonliu updated this revision to Diff 262869. jasonliu added a comment. Address comments. Add in over aligned structure and structure containing vector type handling for argument on AIX. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79035/new/ https://reviews.llvm.org/D79035 Files:

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

2020-05-08 Thread Jason Liu via Phabricator via cfe-commits
jasonliu updated this revision to Diff 262878. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79035/new/ https://reviews.llvm.org/D79035 Files: clang/lib/CodeGen/TargetInfo.cpp clang/lib/Driver/ToolChains/Clang.cpp clang/test/CodeGen/aix-complex.c clang/test/CodeGen/aix-return.c

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

2020-05-08 Thread Jason Liu via Phabricator via cfe-commits
jasonliu updated this revision to Diff 262958. jasonliu marked 2 inline comments as done. jasonliu added a comment. Address Zarko's comment. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79035/new/ https://reviews.llvm.org/D79035 Files: clang/lib/CodeGen/TargetInfo.cpp clang/lib/Dr

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

2020-05-08 Thread Jason Liu via Phabricator via cfe-commits
jasonliu updated this revision to Diff 262964. jasonliu marked 5 inline comments as done. jasonliu added a comment. Address Xiangling's comment. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79035/new/ https://reviews.llvm.org/D79035 Files: clang/lib/CodeGen/TargetInfo.cpp clang/li

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

2020-05-08 Thread Jason Liu via Phabricator via cfe-commits
jasonliu 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) || Xiangling_L wrote: > Also update the co

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

2020-05-12 Thread Jason Liu via Phabricator via cfe-commits
jasonliu updated this revision to Diff 263502. jasonliu added a comment. Add error report in clang_cc1 for unsupported option on AIX. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79035/new/ https://reviews.llvm.org/D79035 Files: clang/lib/CodeGen/TargetInfo.cpp clang/lib/Driver/To

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

2020-05-13 Thread Jason Liu via Phabricator via cfe-commits
jasonliu marked an inline comment as done. jasonliu added inline comments. Comment at: clang/test/Frontend/aix-unsupported.c:10 +// RUN: -c %s 2>&1 | FileCheck %s +// CHECK: unsupported option Xiangling_L wrote: > One thing I am not so sure about is that for th

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

2020-05-13 Thread Jason Liu via Phabricator via cfe-commits
jasonliu updated this revision to Diff 263864. jasonliu added a comment. Remove driver's error. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79035/new/ https://reviews.llvm.org/D79035 Files: clang/lib/CodeGen/TargetInfo.cpp clang/lib/Frontend/CompilerInvocation.cpp clang/test/Co

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

2020-05-19 Thread Jason Liu via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG7f5d91d3ffed: [clang][AIX] Implement ABIInfo and TargetCodeGenInfo for AIX (authored by jasonliu). Changed prior to commit: https://reviews.llvm.org/D79035?vs=263864&id=264922#toc Repository: rG LLVM

[PATCH] D87451: add new clang option -mignore-xcoff-visibility

2020-09-16 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/docs/ClangCommandLineReference.rst:2310 +.. option:: -mignore-xcoff-visibility + We should move this option to where all the other -m options resides. Comment at: clang/docs/ClangCommandLineRe

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

2020-09-18 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/include/clang/AST/ASTContext.h:259 mutable TypeInfoMap MemoizedTypeInfo; + /// /// A cache from types to size and preferred alignment information. + mutable TypeInfoMap MemoizedPreferredTypeInfo; nit: Extra /

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

2020-09-18 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/include/clang/Sema/Sema.h:66 #include "llvm/Frontend/OpenMP/OMPConstants.h" +#include #include Do we need cmath? Comment at: clang/include/clang/Sema/Sema.h:488 +AlignPackInfo(AlignPackI

[PATCH] D87904: [AIX][Clang][Driver] Add handling of nostartfiles option

2020-09-18 Thread Jason Liu via Phabricator via cfe-commits
jasonliu accepted this revision. jasonliu added a comment. This revision is now accepted and ready to land. LGTM. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87904/new/ https://reviews.llvm.org/D87904

[PATCH] D87914: [AIX][Clang][Driver] Add handling of shared option

2020-09-21 Thread Jason Liu via Phabricator via cfe-commits
jasonliu accepted this revision. jasonliu added a comment. This revision is now accepted and ready to land. LGTM. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87914/new/ https://reviews.llvm.org/D87914

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

2020-09-21 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added a comment. 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 about the NFC change. Comment at: clang/lib/AST/RecordLayoutBuilder.cpp:624 /// a byte, but larger units are

[PATCH] D87451: add new clang option -mno-xcoff-visibility

2020-09-24 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/docs/ClangCommandLineReference.rst:2310 +.. option:: -mno-xcoff-visibility + It's rare to see an option with only the negative form. Could we rename and make it a positive form somehow? Also we would need to mo

[PATCH] D87451: add new clang option -mno-xcoff-visibility

2020-09-24 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: llvm/include/llvm/Target/TargetMachine.h:265 + /// corresponding to -mno-xcoff-visibility. + bool getNoXCOFFVisibility() const { return Options.NoXCOFFVisibility; } + DiggerLin wrote: > daltenty wrote: > > This seems

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

2020-09-28 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/test/CodeGenCXX/aix-alignment.cpp:16 +// AIX64: %call = call noalias nonnull i8* @_Znam(i64 8) +B *allocBp() { return new B[0]; } + I believe we would also want to add a test for the delete call to verify the cha

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

2020-12-22 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/include/clang/Sema/Sema.h:505 +// AlignPackInfo::getFromRawEncoding, it should not be inspected directly. +uint32_t getRawEncoding(const AlignPackInfo &Info) const { + std::uint32_t Encoding{}; this g

[PATCH] D91455: [XCOFF][AIX] Generate LSDA data and compact unwind section on AIX

2020-11-13 Thread Jason Liu via Phabricator via cfe-commits
jasonliu created this revision. jasonliu added reviewers: xingxue, hubert.reinterpretcast, cebowleratibm, DiggerLin, daltenty. Herald added subscribers: llvm-commits, kbarton, hiraditya, mgorny, nemanjai. Herald added a project: LLVM. jasonliu requested review of this revision. Herald added a subs

  1   2   >