[PATCH] D34649: Remove addtional parameters in function std::next() and std::prev()

2017-06-26 Thread Jason Liu via Phabricator via cfe-commits
jasonliu created this revision. Creating a function pointer with proper parameters pointing to std::next() or std::prev() should work. This change moves the invented paramater for enable_if over to the return type to resolve this QoI issue. https://reviews.llvm.org/D34649 Files:

[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

[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

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

[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

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

[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

[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=190425#toc Repository: rC Clang CHANGES SINCE LAST ACTION

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

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

[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 = [, ] { +//

[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

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

[PATCH] D70675: [AIX] Disable clang python binding tests

2019-11-26 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/D70675/new/ https://reviews.llvm.org/D70675

[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

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

[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

[PATCH] D72644: [clang] Add -fignore-exceptions

2020-02-12 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added a comment. In D72644#1871662 , @lebedev.ri wrote: > This review omitted cfe-commits list Didn't realized that. Since this is approved and committed, I guess I will keep monitor messages in this review, and address any post-commit

[PATCH] D72644: [clang] Add -fignore-exceptions

2020-02-12 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added a comment. In D72644#1868812 , @aaron.ballman wrote: > Sorry about the delayed review. I think this patch basically LG, thank you! Thanks Aaron. Addressed your comments in the commits. Repository: rG LLVM Github Monorepo CHANGES

[PATCH] D72644: [clang] Add -fignore-exceptions

2020-02-12 Thread Jason Liu via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG55e2678fcd4d: [clang] Add -fignore-exceptions (authored by jasonliu). Herald added a project: clang. Herald added a subscriber: cfe-commits. Changed prior to commit:

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

2020-02-21 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added a comment. Just kindly reminder that you might want to update the Summary in the commit message to reflect the new name we picked. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74015/new/ https://reviews.llvm.org/D74015

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

[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=256367#toc

[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(, Name); + DiggerLin wrote: > jasonliu wrote: > > 1. We need to rebase here, as it is called

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

[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

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

[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

[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

[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(, 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] D76360: [PPC][AIX] Emit correct Vaarg for 32BIT-AIX in clang

2020-03-26 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/lib/CodeGen/TargetInfo.cpp:4205 -CharUnits PPC32_SVR4_ABIInfo::getParamTypeAlignment(QualType Ty) const { +CharUnits PowerPC32ABIInfo::getParamTypeAlignment(QualType Ty) const { // Complex types are passed just like their

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

2020-03-31 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:1492 + +if (MAI->hasDotExternDirective()) { + MCSymbol *Name = getSymbol(); This query asked if the target supports .extern. However, .extern is not the only

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

2020-03-31 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:1498 + } + emitLinkage(, Name); + continue; jasonliu wrote: > I'm surprised we do not enter here for `foo_ext_weak()`. The result of that > is we need to do

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

2020-03-31 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp:1589 : getObjFileLowering().getSectionForFunctionDescriptor(F, TM)); - +if (F->isDeclaration()) { + MCSymbolXCOFF *FSym = cast(getSymbol(F)); If it's

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

2020-03-31 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp:1548 + + if (XCOFFSym->hasContainingCsect()) { +MCSymbolXCOFF *QualName = I hope we can find a better solution here. IMO, we don't even want to override this function in

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

2020-03-30 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/lib/CodeGen/TargetInfo.cpp:10019 + return SetCGInfo( + new PPCAIX32TargetCodeGenInfo(Types, CodeGenOpts.FloatABI == "soft")); return SetCGInfo( Does AIX have soft Float? If not, do we want to

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

2020-04-01 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/lib/CodeGen/TargetInfo.cpp:10019 + return SetCGInfo( + new PPCAIX32TargetCodeGenInfo(Types, CodeGenOpts.FloatABI == "soft")); return SetCGInfo( ZarkoCA wrote: > jasonliu wrote: > > Does AIX

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

2020-04-01 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: llvm/test/CodeGen/PowerPC/aix32-cc-abi-vaarg.ll:8 + + target datalayout = "E-m:e-p:32:32-i64:64-n32" + target triple = "powerpc-ibm-aix-xcoff" minor nit: I don't think these target datalayout and triple are

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

2020-04-01 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added a comment. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76932/new/ https://reviews.llvm.org/D76932 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

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

2020-04-02 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:1486 // Emit visibility info for declarations for (const Function : M) { Comment should change to something similar to: `Emit linkage(XCOFF) and visibility info for

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

2020-04-02 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:407 case GlobalValue::WeakAnyLinkage: case GlobalValue::WeakODRLinkage: if (MAI->hasWeakDefDirective()) { Could we verify if these Linkage should also always emit

[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

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

[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

[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

[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

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

[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

[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

[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

[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

[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

[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

[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

[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

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

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

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

2020-03-18 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/test/CodeGen/aix-vararg.c:10 + va_arg(arg, int); + va_end(arg); +} As part of a "va_..." family, do we also want to test va_copy? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

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

2020-03-18 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: llvm/test/CodeGen/PowerPC/aix-cc-abi-va_args-32.ll:1 +; RUN: llc -O2 -mtriple powerpc-ibm-aix-xcoff -stop-after=machine-cp -mattr=-altivec -verify-machineinstrs < %s | \ +; RUN: FileCheck --check-prefixes=CHECK,32BIT %s

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

2020-03-18 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: llvm/test/CodeGen/PowerPC/aix-cc-abi-va_args-32.ll:7 +; RUN: FileCheck --check-prefixes=CHECKASM,ASM32PWR4 %s + +declare void @llvm.lifetime.start.p0i8(i64 immarg, i8* nocapture) A general comment about how to test

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

2020-03-18 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: llvm/lib/Target/PowerPC/PPCISelLowering.cpp:7014 if (VA.isRegLoc()) { MVT::SimpleValueType SVT = ValVT.getSimpleVT().SimpleTy; Do we need `&& !VA.needsCustom() ` here? Repository: rG LLVM Github

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

2020-03-18 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: llvm/lib/Target/PowerPC/PPCISelLowering.cpp:7076 +static const MCPhysReg GPR_64[] = {PPC::X3, PPC::X4, PPC::X5, PPC::X6, + PPC::X7, PPC::X8, PPC::X9, PPC::X10}; +unsigned const NumGPArgRegs

[PATCH] D76130: [PPC][AIX] Implement variadic function handling in LowerFormalArguments_AIX in 32-bit mode.

2020-03-17 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/lib/Basic/Targets/PPC.h:373 +// This is the ELF definition, and is overridden by the Darwin and AIX +// sub-target return TargetInfo::PowerABIBuiltinVaList; nit: add '.' to the comment while we are

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

2020-03-24 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/lib/CodeGen/TargetInfo.cpp:4205 -CharUnits PPC32_SVR4_ABIInfo::getParamTypeAlignment(QualType Ty) const { +CharUnits PowerPC32ABIInfo::getParamTypeAlignment(QualType Ty) const { // Complex types are passed just like their

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

2020-03-24 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: llvm/lib/Target/PowerPC/PPCISelLowering.cpp:7091 + +static const MCPhysReg Gpr_32[] = {PPC::R3, PPC::R4, PPC::R5, PPC::R6, + PPC::R7, PPC::R8, PPC::R9, PPC::R10}; I'd prefer us

[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

[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

[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

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

[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=264922#toc Repository: rG LLVM

[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

[PATCH] D88737: [AIX] Turn -fdata-sections on by default in Clang

2020-10-07 Thread Jason Liu via Phabricator via cfe-commits
jasonliu updated this revision to Diff 296665. jasonliu added a comment. Change lld's forwarder function's signature to match LLVM style. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88737/new/ https://reviews.llvm.org/D88737 Files: clang/lib/Driver/ToolChains/Clang.cpp

[PATCH] D88737: [AIX] Turn -fdata-sections on by default in Clang

2020-10-07 Thread Jason Liu via Phabricator via cfe-commits
jasonliu marked an inline comment as done. jasonliu added inline comments. Comment at: clang/test/Driver/aix-data-sections.c:7 +// RUN: | FileCheck %s +// CHECK: "-fdata-sections" DiggerLin wrote: > may be good to check the whether other OS platform behavior

[PATCH] D88737: [AIX] Turn -fdata-sections on by default in Clang

2020-10-08 Thread Jason Liu via Phabricator via cfe-commits
jasonliu updated this revision to Diff 296965. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88737/new/ https://reviews.llvm.org/D88737 Files: clang/lib/Driver/ToolChains/Clang.cpp clang/test/Driver/aix-data-sections.c clang/tools/clang-fuzzer/handle-llvm/handle_llvm.cpp

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

2020-10-07 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: llvm/include/llvm/Target/TargetOptions.h:126 FunctionSections(false), DataSections(false), - UniqueSectionNames(true), UniqueBasicBlockSectionNames(false), - TrapUnreachable(false),

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

2020-10-08 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/include/clang/Basic/LangOptions.def:340 +LANGOPT(AIXPragmaPack, 1, 0, "AIX #pragma pack handling") + Not sure if AIXPragmaPack is the best name here. It's more like IBM xl pragma pack handling on AIX. Would it

[PATCH] D88737: [AIX] Turn -fdata-sections on by default in Clang

2020-10-08 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: lld/Common/TargetOptionsCommandFlags.cpp:17 +llvm::TargetOptions +lld::initTargetOptionsFromCodeGenFlags(const llvm::Triple ) { + return llvm::codegen::InitTargetOptionsFromCodeGenFlags(TheTriple); MaskRay wrote: >

[PATCH] D88737: [AIX] Turn -fdata-sections on by default in Clang

2020-10-02 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added inline comments. Comment at: clang/include/clang/Basic/CodeGenOptions.def:47 +CODEGENOPT(DataSections , 1, 0) ///< Set by default, or when -f[no-]data-sections. +CODEGENOPT(HasExplicitDataSections, 1, 0) ///< Set when -f[no-]data-sections is set.

[PATCH] D88737: [AIX] Turn -fdata-sections on by default in Clang

2020-10-02 Thread Jason Liu via Phabricator via cfe-commits
jasonliu created this revision. jasonliu added reviewers: hubert.reinterpretcast, daltenty, sfertile, Xiangling_L, DiggerLin. Herald added subscribers: dang, dexonsmith, steven_wu, hiraditya, arichardson, sbc100, emaste. Herald added a reviewer: espindola. Herald added a reviewer: MaskRay.

[PATCH] D88737: [AIX] Turn -fdata-sections on by default in Clang

2020-10-02 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added a comment. Not sure if there is a better way to do this. But I have to admit this approach along with D88493 is a bit fragile. If plug-in writer forgets to set `HasExplicitDataSections` to true, then the final result that TargetMachine give for

[PATCH] D88737: [AIX] Turn -fdata-sections on by default in Clang

2020-10-09 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added a comment. In D88737#2321921 , @MaskRay wrote: > A less intrusive approach is to not touch the existing > InitTargetOptionsFromCodeGenFlags without parameters. You can add an > `initTargetOptionsFromCodeGenFlags` with `const Tripe &` as

[PATCH] D88737: [AIX] Turn -fdata-sections on by default in Clang

2020-10-13 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added a comment. Hi Fangrui(@MaskRay), are you okay with this patch to land as is? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88737/new/ https://reviews.llvm.org/D88737 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D88737: [AIX] Turn -fdata-sections on by default in Clang

2020-10-14 Thread Jason Liu via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGf85bcc21ddad: [AIX] Turn -fdata-sections on by default in Clang (authored by jasonliu). Herald added a project: clang. Changed prior to commit: https://reviews.llvm.org/D88737?vs=296965=298160#toc

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

2020-09-29 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/AST/RecordLayoutBuilder.cpp:1749-1750 -// Otherwise, allocate just the number of bytes required to store -// the bitfield. +

[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

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

[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

  1   2   >