[PATCH] D137872: Try to implement lambdas with inalloca parameters by forwarding without use of inallocas.

2022-11-11 Thread Amy Huang via Phabricator via cfe-commits
akhuang created this revision. Herald added a project: All. akhuang requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D137872 Files: clang/lib/CodeGen/CGCall.cpp clang/lib/C

[PATCH] D136998: Try to implement lambdas with inalloca parameters by inlining the call operator function.

2022-11-11 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 474889. akhuang marked an inline comment as done. akhuang added a comment. Move cloning code into a function. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136998/new/ https://reviews.llvm.org/D136998 Files:

[PATCH] D136998: Try to implement lambdas with inalloca parameters by inlining the call operator function.

2022-11-11 Thread Amy Huang via Phabricator via cfe-commits
akhuang added a comment. In D136998#3906881 , @efriedma wrote: > Might also be worth considering if we can avoid cloning here. It should be > possible to emit the lambda body into a separate function with a calling > convention of your choice, and make

[PATCH] D136998: Try to implement lambdas with inalloca parameters by inlining the call operator function.

2022-11-14 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 475269. akhuang added a comment. Fix calling convention of cloned function. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136998/new/ https://reviews.llvm.org/D136998 Files: clang/lib/CodeGen/CGClass.cpp c

[PATCH] D136998: Try to implement lambdas with inalloca parameters by inlining the call operator function.

2022-11-14 Thread Amy Huang via Phabricator via cfe-commits
akhuang added a comment. In D136998#3926368 , @efriedma wrote: > In D136998#3926321 , @rnk wrote: > >> In D136998#3906874 , @efriedma >> wrote: >> >>> Should we try to us

[PATCH] D138846: MC/DC in LLVM Source-Based Code Coverage: LLVM back-end and compiler-rt

2023-09-20 Thread Amy Huang via Phabricator via cfe-commits
akhuang added a comment. I'm still working on a repro, but after this patch we're seeing "truncated profile data" errors in chromium Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D138846/new/ https://reviews.llvm.org/D138846 __

[PATCH] D154007: Reland "Try to implement lambdas with inalloca parameters by forwarding without use of inallocas."

2023-07-20 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 542721. akhuang added a comment. Change impl function naming scheme Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154007/new/ https://reviews.llvm.org/D154007 Files: clang/include/clang/CodeGen/CGFunctionInf

[PATCH] D154007: Reland "Try to implement lambdas with inalloca parameters by forwarding without use of inallocas."

2023-07-20 Thread Amy Huang via Phabricator via cfe-commits
akhuang added inline comments. Comment at: clang/lib/CodeGen/CGClass.cpp:3095 + StringRef CallOpName = CallOpFn->getName(); + std::string ImplName = ("__impl" + CallOpName).str(); + The old code tried to find the "" part of the function name and replace the fr

[PATCH] D154007: Reland "Try to implement lambdas with inalloca parameters by forwarding without use of inallocas."

2023-07-21 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 543038. akhuang added a comment. another fix to function naming code (do the same thing as before except when the mangled name is a hash) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154007/new/ https://revie

[PATCH] D154007: Reland "Try to implement lambdas with inalloca parameters by forwarding without use of inallocas."

2023-07-25 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 544086. akhuang added a comment. Add some functions to MicrosoftMangle so we can pass in a custom function name. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154007/new/ https://reviews.llvm.org/D154007 Files

[PATCH] D154007: Reland "Try to implement lambdas with inalloca parameters by forwarding without use of inallocas."

2023-07-25 Thread Amy Huang via Phabricator via cfe-commits
akhuang added inline comments. Comment at: clang/lib/CodeGen/CGClass.cpp:3095 + StringRef CallOpName = CallOpFn->getName(); + std::string ImplName = ("__impl" + CallOpName).str(); + rnk wrote: > akhuang wrote: > > The old code tried to find the "" part of the f

[PATCH] D154007: Reland "Try to implement lambdas with inalloca parameters by forwarding without use of inallocas."

2023-07-25 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 544090. akhuang added a comment. go back to previous __impl naming method Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154007/new/ https://reviews.llvm.org/D154007 Files: clang/include/clang/CodeGen/CGFunct

[PATCH] D154007: Reland "Try to implement lambdas with inalloca parameters by forwarding without use of inallocas."

2023-07-25 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 544101. akhuang added a comment. add TODO Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154007/new/ https://reviews.llvm.org/D154007 Files: clang/include/clang/CodeGen/CGFunctionInfo.h clang/lib/CodeGen/CG

[PATCH] D154007: Reland "Try to implement lambdas with inalloca parameters by forwarding without use of inallocas."

2023-07-26 Thread Amy Huang 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 rG27dab4d305ac: Reland "Try to implement lambdas with inalloca parameters by forwarding without… (authored by akhuang). Repository: rG LLVM Github M

[PATCH] D157762: [WIP] Implement [[msvc::no_unique_address]]

2023-08-11 Thread Amy Huang via Phabricator via cfe-commits
akhuang created this revision. Herald added a reviewer: aaron.ballman. Herald added a project: All. akhuang requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. This attribute should match the behavior of MSVC's [[msvc::no_unique_address]] attr

[PATCH] D157762: [WIP] Implement [[msvc::no_unique_address]]

2023-08-17 Thread Amy Huang via Phabricator via cfe-commits
akhuang added inline comments. Comment at: clang/lib/AST/Decl.cpp:4523-4524 bool FieldDecl::isPotentiallyOverlapping() const { - return hasAttr() && getType()->getAsCXXRecordDecl(); + return (hasAttr() || + hasAttr()) && + getType()->getAsCXXRecordDecl();

[PATCH] D157762: [WIP] Implement [[msvc::no_unique_address]]

2023-08-17 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 551242. akhuang marked an inline comment as done. akhuang added a comment. Herald added a reviewer: shafik. Add function to check for no_unique_address attributes Some changes to layout code Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D157762: [WIP] Implement [[msvc::no_unique_address]]

2023-08-18 Thread Amy Huang via Phabricator via cfe-commits
akhuang marked an inline comment as done. akhuang added inline comments. Comment at: clang/include/clang/Basic/AttrDocs.td:1410 + For Windows targets, ``[[no_unique_address]]`` is ignored, but there is a + similar attribute spelled ``[[msvc::no_unique_address]]``. }]; --

[PATCH] D157762: [WIP] Implement [[msvc::no_unique_address]]

2023-08-18 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 551576. akhuang added a comment. combine attributes into the same attribute and add accessors Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157762/new/ https://reviews.llvm.org/D157762 Files: clang/include/c

[PATCH] D157762: [WIP] Implement [[msvc::no_unique_address]]

2023-08-18 Thread Amy Huang via Phabricator via cfe-commits
akhuang marked an inline comment as done. akhuang added inline comments. Comment at: clang/lib/AST/Decl.cpp:4523-4524 bool FieldDecl::isPotentiallyOverlapping() const { - return hasAttr() && getType()->getAsCXXRecordDecl(); + return (hasAttr() || + hasAttr()) && +

[PATCH] D157762: [WIP] Implement [[msvc::no_unique_address]]

2023-08-18 Thread Amy Huang via Phabricator via cfe-commits
akhuang marked 2 inline comments as done. akhuang added a comment. I'm still trying to figure out the MSVC layouts. I used the EmptySubobjects class for a lot of the logic, which is not always the same as what MSVC does. (some examples of differences in https://godbolt.org/z/6cP554ddb) Reposit

[PATCH] D157762: [WIP] Implement [[msvc::no_unique_address]]

2023-08-18 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 551662. akhuang added a comment. address small fixes Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157762/new/ https://reviews.llvm.org/D157762 Files: clang/include/clang/Basic/Attr.td clang/include/clang/

[PATCH] D157762: Implement [[msvc::no_unique_address]]

2023-09-07 Thread Amy Huang via Phabricator via cfe-commits
akhuang added a comment. turned this into a github PR https://github.com/llvm/llvm-project/pull/65675/commits/923a43cd6386f6e57023fd8928eed0dc0ab04d57 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157762/new/ https://reviews.llvm.org/D157762 ___

[PATCH] D154007: Reland "Try to implement lambdas with inalloca parameters by forwarding without use of inallocas."

2023-07-12 Thread Amy Huang via Phabricator via cfe-commits
akhuang added inline comments. Comment at: clang/lib/CodeGen/CodeGenFunction.cpp:1319 + // Check if the invoker is being emitted (could be in any calling conv). + for (CallingConv CC : {CC_C, CC_X86StdCall, CC_X86FastCall, CC_X86ThisCall, CC_X86VectorCall}) +if (MD->getPar

[PATCH] D154007: Reland "Try to implement lambdas with inalloca parameters by forwarding without use of inallocas."

2023-07-12 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 539784. akhuang added a comment. Fix alignment problem Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154007/new/ https://reviews.llvm.org/D154007 Files: clang/include/clang/CodeGen/CGFunctionInfo.h clang/l

[PATCH] D154007: Reland "Try to implement lambdas with inalloca parameters by forwarding without use of inallocas."

2023-07-12 Thread Amy Huang via Phabricator via cfe-commits
akhuang added inline comments. Comment at: clang/lib/CodeGen/CGCall.cpp:5104 +if (CallInfo.isDelegateCall()) { + NeedCopy = false; +} else if (Addr.getAlignment() < Align && rnk wrote: > Please add a comment about this. We need to avoid c

[PATCH] D154007: Reland "Try to implement lambdas with inalloca parameters by forwarding without use of inallocas."

2023-07-12 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 539795. akhuang added a comment. minor fixes Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154007/new/ https://reviews.llvm.org/D154007 Files: clang/include/clang/CodeGen/CGFunctionInfo.h clang/lib/CodeGen

[PATCH] D158857: [clang][aarch64] Add support for the MS qualifiers __ptr32, __ptr64, __sptr, __uptr for aarch64

2023-08-28 Thread Amy Huang via Phabricator via cfe-commits
akhuang accepted this revision. akhuang added a comment. This revision is now accepted and ready to land. I think this looks good to me. I remember I also had to make this change to accept old datalayout strings https://reviews.llvm.org/D67631. CHANGES SINCE LAST ACTION https://reviews.llvm.o

[PATCH] D157762: [WIP] Implement [[msvc::no_unique_address]]

2023-09-06 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 556090. akhuang added a comment. more code updates and added some test cases Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157762/new/ https://reviews.llvm.org/D157762 Files: clang/include/clang/Basic/Attr.t

[PATCH] D157762: Implement [[msvc::no_unique_address]]

2023-09-06 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 556091. akhuang added a comment. add note to the docs about no ABI compatibility Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157762/new/ https://reviews.llvm.org/D157762 Files: clang/include/clang/Basic/At

[PATCH] D137872: Try to implement lambdas with inalloca parameters by forwarding without use of inallocas.

2022-11-18 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 476633. akhuang added a comment. Clean up existing code and add code to make the call operator also call the new function. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D137872/new/ https://reviews.llvm.org/D13

[PATCH] D137872: Try to implement lambdas with inalloca parameters by forwarding without use of inallocas.

2022-11-18 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 476634. akhuang added a comment. cleanup Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D137872/new/ https://reviews.llvm.org/D137872 Files: clang/include/clang/CodeGen/CGFunctionInfo.h clang/lib/CodeGen/CGC

[PATCH] D137872: Try to implement lambdas with inalloca parameters by forwarding without use of inallocas.

2022-11-18 Thread Amy Huang via Phabricator via cfe-commits
akhuang added a comment. In D137872#3925723 , @efriedma wrote: > I'm not quite sure I understand what's happening here. Does this actually > avoid generating two copies of the function body if both the call operator > and the conversion are used? That

[PATCH] D137872: Try to implement lambdas with inalloca parameters by forwarding without use of inallocas.

2022-11-22 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 477289. akhuang marked 4 inline comments as done. akhuang added a comment. add to test case, modify name mangling, change fn info opts enum type Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D137872/new/ https:/

[PATCH] D137872: Try to implement lambdas with inalloca parameters by forwarding without use of inallocas.

2022-11-28 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 478324. akhuang marked 3 inline comments as done. akhuang added a comment. Address comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D137872/new/ https://reviews.llvm.org/D137872 Files: clang/include/cla

[PATCH] D75215: [DebugInfo] Fix for adding "returns cxx udt" option to functions in CodeView.

2020-02-26 Thread Amy Huang via Phabricator via cfe-commits
akhuang created this revision. akhuang added reviewers: rnk, asmith. Herald added subscribers: llvm-commits, cfe-commits, hiraditya. Herald added projects: clang, LLVM. This change checks for the return type in the frontend and adds a flag to the DISubroutineType to indicate that the option should

[PATCH] D75215: [DebugInfo] Fix for adding "returns cxx udt" option to functions in CodeView.

2020-02-26 Thread Amy Huang via Phabricator via cfe-commits
akhuang marked an inline comment as done. akhuang added inline comments. Comment at: clang/lib/CodeGen/CGDebugInfo.cpp:992 getTagForRecord(RD), RDName, Ctx, DefUnit, Line, 0, Size, Align, llvm::DINode::FlagFwdDecl, Identifier); if (CGM.getCodeGenOpts().DebugFwdTe

[PATCH] D75215: [DebugInfo] Fix for adding "returns cxx udt" option to functions in CodeView.

2020-02-27 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 247104. akhuang added a comment. Just change CodeViewDebug to add CxxReturnUdt to all methods that return a record type, which appears to be consistent with what msvc does and avoids emitting two versions of the method in the pdb file. Repository: rG LLV

[PATCH] D75215: [DebugInfo] Fix for adding "returns cxx udt" option to functions in CodeView.

2020-03-02 Thread Amy Huang via Phabricator via cfe-commits
akhuang added a comment. In D75215#1899224 , @rnk wrote: > Now that I've gone this far... maybe we should just say `isNonTrivial() || > isFwdDecl()` -> mark it CxxReturnUdt. Something like that. I just tried this but apparently it ends up marking things

[PATCH] D75215: [DebugInfo] Fix for adding "returns cxx udt" option to functions in CodeView.

2020-03-02 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 247774. akhuang added a comment. Add FlagNonTrivial to fwd declared records in CGDebugInfo Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75215/new/ https://reviews.llvm.org/D75215 Files: clang/lib/CodeGen/CG

[PATCH] D75215: [DebugInfo] Fix for adding "returns cxx udt" option to functions in CodeView.

2020-03-03 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 247937. akhuang added a comment. update tests Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75215/new/ https://reviews.llvm.org/D75215 Files: clang/lib/CodeGen/CGDebugInfo.cpp clang/test/CodeGenCXX/debug-i

[PATCH] D75215: [DebugInfo] Fix for adding "returns cxx udt" option to functions in CodeView.

2020-03-03 Thread Amy Huang via Phabricator via cfe-commits
akhuang added a comment. In D75215#1901961 , @rnk wrote: > BTW, I am curious to know if this helps V8 PDB size. IIRC you said there were > some PDBs in Chrome that have this problem a lot. I think I just noticed that the PDB size increased after enablin

[PATCH] D75215: [DebugInfo] Fix for adding "returns cxx udt" option to functions in CodeView.

2020-03-03 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 248003. akhuang added a comment. add back line in test that accidentally got deleted Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75215/new/ https://reviews.llvm.org/D75215 Files: clang/test/CodeGenCXX/debu

[PATCH] D75215: [DebugInfo] Fix for adding "returns cxx udt" option to functions in CodeView.

2020-03-03 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 248001. akhuang added a comment. Splitting the forward declaration flag into a different review. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75215/new/ https://reviews.llvm.org/D75215 Files: clang/test/Cod

[PATCH] D75215: [DebugInfo] Fix for adding "returns cxx udt" option to functions in CodeView.

2020-03-03 Thread Amy Huang via Phabricator via cfe-commits
akhuang marked an inline comment as done. akhuang added inline comments. Comment at: clang/lib/CodeGen/CGDebugInfo.cpp:989 + llvm::DINode::DIFlags Flags = llvm::DINode::FlagFwdDecl; + if (const CXXRecordDecl *CXXRD = dyn_cast(RD)) +if (!CXXRD->hasDefinition() || ---

[PATCH] D75215: [DebugInfo] Fix for adding "returns cxx udt" option to functions in CodeView.

2020-03-03 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 248025. akhuang added a comment. remove tests Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75215/new/ https://reviews.llvm.org/D75215 Files: llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp llvm/test/DebugIn

[PATCH] D75215: [DebugInfo] Fix for adding "returns cxx udt" option to functions in CodeView.

2020-03-03 Thread Amy Huang via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG5b3b21f02588: [DebugInfo] Fix for adding "returns cxx udt" option to functions in CodeView. (authored by akhuang). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.o

[PATCH] D66827: Add support for MS qualifiers __ptr32, __ptr64, __sptr, __uptr.

2019-10-30 Thread Amy Huang via Phabricator via cfe-commits
akhuang added a comment. I split off the backend changes into a separate patch -> https://reviews.llvm.org/D69639 The issue with passing 0 for a pointer should be fixed there. @DarkShadow44 Some of the differences come from the fact that we're implementing the mixed pointer sizes with three ad

[PATCH] D67723: [DebugInfo] Add option to disable inline line tables.

2019-10-30 Thread Amy Huang via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG6d0389038451: [CodeView] Add option to disable inline line tables. (authored by akhuang). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D67723/new/ https://r

[PATCH] D67723: [DebugInfo] Add option to disable inline line tables.

2019-10-30 Thread Amy Huang via Phabricator via cfe-commits
akhuang added a comment. Seems like this is good to be committed then. And it sounds like implementing more thresholds would be useful to do in the future. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D67723/new/ https://reviews.llvm.org/D67723

[PATCH] D71039: Add support for the MS qualifiers __ptr32, __ptr64, __sptr, __uptr.

2019-12-04 Thread Amy Huang via Phabricator via cfe-commits
akhuang created this revision. akhuang added reviewers: rnk, rsmith. Herald added subscribers: cfe-commits, nhaehnle, jvesely, jholewinski. Herald added a project: clang. This adds parsing of the qualifiers __ptr32, __ptr64, __sptr, and __uptr and lowers them to the corresponding address space poi

[PATCH] D66827: Add support for MS qualifiers __ptr32, __ptr64, __sptr, __uptr.

2019-12-05 Thread Amy Huang via Phabricator via cfe-commits
akhuang abandoned this revision. akhuang added a comment. I split this into two reviews-- the backend part is landed and the frontend part is at https://reviews.llvm.org/D71039. Repository: rG LLVM Github Monorepo CHANGES S

[PATCH] D71098: Handle two corner cases in creduce-clang-crash.py

2019-12-05 Thread Amy Huang via Phabricator via cfe-commits
akhuang accepted this revision. akhuang 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/D71098/new/ https://reviews.llvm.org/D71098 _

[PATCH] D71039: Add support for the MS qualifiers __ptr32, __ptr64, __sptr, __uptr.

2019-12-16 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 234125. akhuang marked 8 inline comments as done. akhuang added a comment. - Added docs for __ptr32, __ptr64, __sptr, __utr - Moved some functions into ASTContext - and addressed other comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D71039: Add support for the MS qualifiers __ptr32, __ptr64, __sptr, __uptr.

2019-12-16 Thread Amy Huang via Phabricator via cfe-commits
akhuang added inline comments. Comment at: clang/include/clang/AST/Type.h:477-479 + ((isPtrSizeAddressSpace(A) && B == LangAS::Default) || +(isPtrSizeAddressSpace(B) && A == LangAS::Default) || +(isPtrSizeAddressSpace(A) && isPtrSizeAddressSpace(

[PATCH] D71039: Add support for the MS qualifiers __ptr32, __ptr64, __sptr, __uptr.

2019-12-18 Thread Amy Huang via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGa85f5efd9597: Add support for the MS qualifiers __ptr32, __ptr64, __sptr, __uptr. (authored by akhuang). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D71039/

[PATCH] D75215: [DebugInfo] Fix for adding "returns cxx udt" option to functions in CodeView.

2020-03-05 Thread Amy Huang via Phabricator via cfe-commits
akhuang marked an inline comment as done. akhuang added inline comments. Comment at: llvm/include/llvm/IR/DebugInfoFlags.def:61 HANDLE_DI_FLAG((1 << 29), AllCallsDescribed) +HANDLE_DI_FLAG((1 << 30), CxxReturnUdt) rnk wrote: > aprantl wrote: > > dblaikie wrote

[PATCH] D75215: [DebugInfo] Fix for adding "returns cxx udt" option to functions in CodeView.

2020-03-05 Thread Amy Huang via Phabricator via cfe-commits
akhuang marked an inline comment as done and an inline comment as not done. akhuang added inline comments. Comment at: llvm/include/llvm/IR/DebugInfoFlags.def:61 HANDLE_DI_FLAG((1 << 29), AllCallsDescribed) +HANDLE_DI_FLAG((1 << 30), CxxReturnUdt) akhuang wrot

[PATCH] D72869: Add __warn_memset_zero_len builtin as a workaround for glibc issue

2020-01-16 Thread Amy Huang via Phabricator via cfe-commits
akhuang added a comment. In D72869#1824927 , @serge-sans-paille wrote: > @akhuang can you confirm this fixes your issue? I've tested locally and it > works fine on my side. Yes, this fixes the __warn_memset_zero_len issue, thanks! Repository: rG LL

[PATCH] D144931: DebugInfo: Disable ctor homing for types with only deleted (non copy/move) ctors

2023-02-27 Thread Amy Huang via Phabricator via cfe-commits
akhuang accepted this revision. akhuang added a comment. This revision is now accepted and ready to land. Thanks for adding this! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D144931/new/ https://reviews.llvm.org/D144931 __

[PATCH] D137872: Implement lambdas with inalloca parameters by forwarding to function without inalloca calling convention.

2023-06-20 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 533079. akhuang added a comment. rebase and clang format Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D137872/new/ https://reviews.llvm.org/D137872 Files: clang/include/clang/CodeGen/CGFunctionInfo.h clang

[PATCH] D137872: Implement lambdas with inalloca parameters by forwarding to function without inalloca calling convention.

2023-06-20 Thread Amy Huang 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 rG015049338d7e: Try to implement lambdas with inalloca parameters by forwarding without use of… (authored by akhuang). Repository: rG LLVM Github Mo

[PATCH] D154007: Reland "Try to implement lambdas with inalloca parameters by forwarding without use of inallocas."

2023-06-28 Thread Amy Huang via Phabricator via cfe-commits
akhuang created this revision. Herald added a project: All. akhuang requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. This reverts commit 8ed7aa59f489715d39d32e72a787b8e75cfda151

[PATCH] D154007: Reland "Try to implement lambdas with inalloca parameters by forwarding without use of inallocas."

2023-06-28 Thread Amy Huang via Phabricator via cfe-commits
akhuang added a comment. In D154007#4457561 , @efriedma wrote: > I'm not confident that isUsed() works the way you want it to in this context. > In particular, if the code in question runs before we've translated the > whole translation unit, the isUse

[PATCH] D154007: Reland "Try to implement lambdas with inalloca parameters by forwarding without use of inallocas."

2023-06-28 Thread Amy Huang via Phabricator via cfe-commits
akhuang added inline comments. Comment at: clang/lib/CodeGen/CGCall.cpp:5103 -if (Addr.getAlignment() < Align && +if (CallInfo.isDelegateCall()) { + NeedCopy = false; rnk wrote: > akhuang wrote: > > I think the problem is that it tries

[PATCH] D137872: Implement lambdas with inalloca parameters by forwarding to function without inalloca calling convention.

2023-05-16 Thread Amy Huang via Phabricator via cfe-commits
akhuang added a comment. In D137872#4327615 , @efriedma wrote: > I'm having a bit of trouble following how exactly the thunk creation is > working here... do we generate different code depending on whether the call > operator and/or the static invoker a

[PATCH] D137872: Implement lambdas with inalloca parameters by forwarding to function without inalloca calling convention.

2023-05-02 Thread Amy Huang via Phabricator via cfe-commits
akhuang added a comment. whoops, I've left this here for a while.. @efriedma, are you able to review it? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D137872/new/ https://reviews.llvm.org/D137872 ___ cfe

[PATCH] D137872: Implement lambdas with inalloca parameters by forwarding to function without inalloca calling convention.

2023-06-08 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 529747. akhuang added a comment. - move call operator emission into the path in `GenerateCode` - formatting Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D137872/new/ https://reviews.llvm.org/D137872 Files: c

[PATCH] D137872: Implement lambdas with inalloca parameters by forwarding to function without inalloca calling convention.

2023-06-08 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 529750. akhuang added a comment. remove print statements Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D137872/new/ https://reviews.llvm.org/D137872 Files: clang/include/clang/CodeGen/CGFunctionInfo.h clang

[PATCH] D137872: Implement lambdas with inalloca parameters by forwarding to function without inalloca calling convention.

2023-06-08 Thread Amy Huang via Phabricator via cfe-commits
akhuang added a comment. In D137872#4357268 , @efriedma wrote: > In D137872#4348314 , @akhuang wrote: > >> In D137872#4327615 , @efriedma >> wrote: >> >>> I'm having a bi

[PATCH] D137872: Implement lambdas with inalloca parameters by forwarding to function without inalloca calling convention.

2023-06-08 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 529755. akhuang added a comment. more cleanup Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D137872/new/ https://reviews.llvm.org/D137872 Files: clang/include/clang/CodeGen/CGFunctionInfo.h clang/lib/CodeGe

[PATCH] D137872: Implement lambdas with inalloca parameters by forwarding to function without inalloca calling convention.

2023-06-08 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 529780. akhuang added a comment. Fix ordering in the test case Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D137872/new/ https://reviews.llvm.org/D137872 Files: clang/include/clang/CodeGen/CGFunctionInfo.h

[PATCH] D137872: Implement lambdas with inalloca parameters by forwarding to function without inalloca calling convention.

2023-06-14 Thread Amy Huang via Phabricator via cfe-commits
akhuang added inline comments. Comment at: clang/lib/CodeGen/CGClass.cpp:3097 + FD->getLocation(), FD->getLocation()); +CGF.EmitFunctionBody(FD->getBody()); +CGF.FinishFunction(); efriedma wrote: > Is there any way we can use Generate

[PATCH] D137872: Implement lambdas with inalloca parameters by forwarding to function without inalloca calling convention.

2023-06-14 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 531435. akhuang added a comment. Call GenerateCode to emit __impl function body Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D137872/new/ https://reviews.llvm.org/D137872 Files: clang/include/clang/CodeGen/C

[PATCH] D137872: Implement lambdas with inalloca parameters by forwarding to function without inalloca calling convention.

2023-06-14 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 531569. akhuang added a comment. Emit call op which forwards %this argument Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D137872/new/ https://reviews.llvm.org/D137872 Files: clang/include/clang/CodeGen/CGFun

[PATCH] D137872: Implement lambdas with inalloca parameters by forwarding to function without inalloca calling convention.

2023-06-14 Thread Amy Huang via Phabricator via cfe-commits
akhuang added inline comments. Comment at: clang/lib/CodeGen/CodeGenFunction.cpp:1472 +// the call operator body. +EmitLambdaStaticInvokeBody(cast(FD)); } else if (FD->isDefaulted() && isa(FD) && efriedma wrote: > akhuang wrote: > > efriedma wrote: > >

[PATCH] D137872: Implement lambdas with inalloca parameters by forwarding to function without inalloca calling convention.

2023-06-14 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 531571. akhuang added a comment. update test case Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D137872/new/ https://reviews.llvm.org/D137872 Files: clang/include/clang/CodeGen/CGFunctionInfo.h clang/lib/Co

[PATCH] D137872: Implement lambdas with inalloca parameters by forwarding to function without inalloca calling convention.

2023-06-16 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 532291. akhuang added a comment. Use isDelegateCall to check whether function is actual call op fn or not Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D137872/new/ https://reviews.llvm.org/D137872 Files: cla

[PATCH] D137872: Implement lambdas with inalloca parameters by forwarding to function without inalloca calling convention.

2023-06-16 Thread Amy Huang via Phabricator via cfe-commits
akhuang added inline comments. Comment at: clang/lib/CodeGen/CodeGenFunction.cpp:1470 +->getLambdaStaticInvoker()) && + !Fn->getName().contains("__impl")) { +// If emitting a lambda with static invoker on X86 Windows, change ---

[PATCH] D137872: Implement lambdas with inalloca parameters by forwarding to function without inalloca calling convention.

2022-12-07 Thread Amy Huang via Phabricator via cfe-commits
akhuang added a comment. ping @efriedma, do you mind looking at this again? thanks! Comment at: clang/include/clang/CodeGen/CGFunctionInfo.h:571 + /// Whether this function should avoid inalloca arguments. + unsigned DontInAlloca: 1; + rnk wrote: > This is an

[PATCH] D116256: [-fms-extensions] Make some exception specification warnings/errors compatible with what cl.exe does

2022-01-05 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 397760. akhuang marked an inline comment as done. akhuang added a comment. Fix warning behavior Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D116256/new/ https://reviews.llvm.org/D116256 Files: clang/include

[PATCH] D116256: [-fms-extensions] Make some exception specification warnings/errors compatible with what cl.exe does

2022-01-05 Thread Amy Huang via Phabricator via cfe-commits
akhuang added a comment. In D116256#3215801 , @thakis wrote: > Thanks for the patch! This looks roughly right to me. > > Maybe the list of ESTs that are allowed to be mismatched should be opt-in > instead of opt-out? (i.e. instead of checking for "not ES

[PATCH] D116256: [-fms-extensions] Make some exception specification warnings/errors compatible with what cl.exe does

2022-01-06 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 397930. akhuang marked an inline comment as done. akhuang added a comment. Add std=c++17 to the test. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D116256/new/ https://reviews.llvm.org/D116256 Files: clang/i

[PATCH] D116256: [-fms-extensions] Make some exception specification warnings/errors compatible with what cl.exe does

2022-01-07 Thread Amy Huang 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 rG28d2977ff236: [-fms-extensions] Make some exception specification warnings/errors compatible… (authored by akhuang). Repository: rG LLVM Github Mo

[PATCH] D116256: [-fms-extensions] Make some exception specification warnings/errors compatible with what cl.exe does

2021-12-23 Thread Amy Huang via Phabricator via cfe-commits
akhuang created this revision. akhuang added reviewers: hans, thakis. akhuang requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Make clang-cl error when a function definition is missing 'noexcept', and succeed without warnings when missing '_

[PATCH] D98472: Emit inline implementation of __builtin__wmemchr on MSVCRT platforms.

2021-03-15 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 330826. akhuang marked an inline comment as done. akhuang added a comment. add CHECK line to test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D98472/new/ https://reviews.llvm.org/D98472 Files: clang/lib/Cod

[PATCH] D98472: Emit inline implementation of __builtin__wmemchr on MSVCRT platforms.

2021-03-15 Thread Amy Huang 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 rGf5352dd9dab1: Emit inline implementation of __builtin__wmemchr on MSVCRT platforms. (authored by akhuang). Repository: rG LLVM Github Monorepo CH

[PATCH] D97411: [DebugInfo] Add an attribute to force type info to be emitted for types that are required to be complete.

2021-03-19 Thread Amy Huang via Phabricator via cfe-commits
akhuang added a comment. In D97411#2611142 , @probinson wrote: > In D97411#2598625 , @akhuang wrote: > >> I started looking into some diffs of debug info in libc++ tests, but it's >> pretty hard to tell what's diff

[PATCH] D97411: [DebugInfo] Add an attribute to force type info to be emitted for types that are required to be complete.

2021-03-22 Thread Amy Huang via Phabricator via cfe-commits
akhuang added a comment. > Hmm - is that type used in a way that invokes Undefined Behavior? Or is this > a gap/bug in the ctor homing? I thought there was already a special case for > constexpr ctors that opted them out of ctor homing. Right, I think the constexpr is only used in >c++17 for so

[PATCH] D97411: [DebugInfo] Add an attribute to force type info to be emitted for types that are required to be complete.

2021-03-22 Thread Amy Huang via Phabricator via cfe-commits
akhuang added a comment. In D97411#2642782 , @dblaikie wrote: > In D97411#2642194 , @akhuang wrote: > >>> Hmm - is that type used in a way that invokes Undefined Behavior? Or is >>> this a gap/bug in the ctor homin

[PATCH] D97462: [clang][cli] Round-trip cc1 arguments in assert builds

2021-04-02 Thread Amy Huang via Phabricator via cfe-commits
akhuang added a comment. In Chrome we noticed that plugin flags are not being roundtripped (and build fails with `error: Generated arguments do not match in round-trip`): example of the differing args: "-plugin-arg-blink-gc-plugin" "no-members-in-stack-allocated" "-plugin-arg-find-bad-con

[PATCH] D99879: [clang][cli] Ensure plugin args are generated in deterministic order

2021-04-05 Thread Amy Huang via Phabricator via cfe-commits
akhuang added a comment. also just confirming that this fixes the issue we were seeing in Chrome Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D99879/new/ https://reviews.llvm.org/D99879 ___ cfe-commits m

[PATCH] D99994: [CodeView] Add CodeView support for PGO debug information

2021-04-07 Thread Amy Huang via Phabricator via cfe-commits
akhuang added a comment. think this looks good overall; maybe it should also have an IR to codeview test? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D4/new/ https://reviews.llvm.org/D4 ___ cfe-

[PATCH] D94325: [DebugInfo][CodeView] Use a fancier function display name when using line tables only to better differentiate between functions.

2021-01-08 Thread Amy Huang via Phabricator via cfe-commits
akhuang created this revision. akhuang added reviewers: rnk, dblaikie. Herald added a subscriber: hiraditya. akhuang requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commits. Previously we emitted the fully qualified name when using

[PATCH] D94639: [DebugInfo][CodeView] Change in line tables only mode to emit type information for function scopes, rather than using the qualified name.

2021-01-13 Thread Amy Huang via Phabricator via cfe-commits
akhuang created this revision. akhuang added reviewers: rnk, dblaikie. Herald added a subscriber: hiraditya. akhuang requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commits. In line-tables-only mode, we used to emit qualified funct

[PATCH] D94639: [DebugInfo][CodeView] Change in line tables only mode to emit type information for function scopes, rather than using the qualified name.

2021-01-13 Thread Amy Huang via Phabricator via cfe-commits
akhuang added a comment. In D94639#2496892 , @dblaikie wrote: > What parts of this are motivated by CodeView requirements (do functions have > to have unique names in CV?)? > It'd be a bit unfortunate if we have divergence in -gmlt behavior between > DWA

[PATCH] D94639: [DebugInfo][CodeView] Change in line tables only mode to emit type information for function scopes, rather than using the qualified name.

2021-01-13 Thread Amy Huang via Phabricator via cfe-commits
akhuang added a comment. In D94639#2496950 , @dblaikie wrote: > In D94639#2496923 , @akhuang wrote: > >> In D94639#2496892 , @dblaikie wrote: >> >>> What parts of this are mo

[PATCH] D94639: [DebugInfo][CodeView] Change in line tables only mode to emit parent/context scopes for functions, using declarations for types

2021-01-14 Thread Amy Huang via Phabricator via cfe-commits
akhuang added inline comments. Comment at: clang/lib/CodeGen/CGDebugInfo.cpp:1050-1052 + // Don't include a linkage name in line tables only. + if (CGM.getCodeGenOpts().hasReducedDebugInfo()) +Identifier = getTypeIdentifier(Ty, CGM, TheCU); rnk wrote: > I s

[PATCH] D94639: [DebugInfo][CodeView] Change in line tables only mode to emit parent/context scopes for functions, using declarations for types

2021-01-14 Thread Amy Huang via Phabricator via cfe-commits
akhuang updated this revision to Diff 316779. akhuang edited the summary of this revision. akhuang added a comment. Remove llvm change. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D94639/new/ https://reviews.llvm.org/D94639 Files: clang/lib/Cod

[PATCH] D94639: [DebugInfo][CodeView] Change in line tables only mode to emit parent/context scopes for functions, using declarations for types

2021-01-15 Thread Amy Huang via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG6227069bdce6: [DebugInfo][CodeView] Change in line tables only mode to emit type information (authored by akhuang). Changed prior to commit: https://reviews.llvm.org/D94639?vs=316779&id=317001#toc Repo

<    1   2   3   4   5   >