[PATCH] D45124: [CodeGen] Record if a C++ record is a trivial type when emitting Codeview
asmith added a reviewer: aleksandr.urakov. asmith added a comment. Adding Aleksandr Repository: rC Clang https://reviews.llvm.org/D45124 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D45124: [CodeGen] Record if a C++ record is a trivial type when emitting Codeview
zturner added a comment. Why do we only want this for CodeView? Repository: rC Clang https://reviews.llvm.org/D45124 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D45124: [CodeGen] Record if a C++ record is a trivial type when emitting Codeview
rnk added inline comments. Comment at: CodeGen/CGDebugInfo.cpp:2842-2843 + +// When emitting codeview, record if a C++ record is trivial type. +if (CGM.getCodeGenOpts().EmitCodeView) { + if (CXXRD->isTrivial()) I think we might as well set it when emitting DWARF for simplicity. Repository: rC Clang https://reviews.llvm.org/D45124 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D45124: [CodeGen] Record if a C++ record is a trivial type when emitting Codeview
asmith updated this revision to Diff 156664. https://reviews.llvm.org/D45124 Files: lib/CodeGen/CGDebugInfo.cpp Index: lib/CodeGen/CGDebugInfo.cpp === --- lib/CodeGen/CGDebugInfo.cpp +++ lib/CodeGen/CGDebugInfo.cpp @@ -2847,6 +2847,10 @@ Flags |= llvm::DINode::FlagTypePassByReference; else Flags |= llvm::DINode::FlagTypePassByValue; + +// Record if a C++ record is trivial type. +if (CXXRD->isTrivial()) + Flags |= llvm::DINode::FlagTrivial; } llvm::DICompositeType *RealDecl = DBuilder.createReplaceableCompositeType( Index: lib/CodeGen/CGDebugInfo.cpp === --- lib/CodeGen/CGDebugInfo.cpp +++ lib/CodeGen/CGDebugInfo.cpp @@ -2847,6 +2847,10 @@ Flags |= llvm::DINode::FlagTypePassByReference; else Flags |= llvm::DINode::FlagTypePassByValue; + +// Record if a C++ record is trivial type. +if (CXXRD->isTrivial()) + Flags |= llvm::DINode::FlagTrivial; } llvm::DICompositeType *RealDecl = DBuilder.createReplaceableCompositeType( ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits