[PATCH] D68410: [AttrDocs] document always_inline

2019-10-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 223088. nickdesaulniers marked 3 inline comments as done. nickdesaulniers added a comment. - add links - remove extra whitespace - rewording, split onto separate lines to ease code review - add spellings to heading Repository: rG LLVM Github Monore

[PATCH] D68410: [AttrDocs] document always_inline

2019-10-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked an inline comment as done. nickdesaulniers added inline comments. Comment at: clang/include/clang/Basic/AttrDocs.td:4399-4400 + let Content = [{ +Hint that inline substitution should be attempted when optimizations are +disabled. Does not guarantee that in

[PATCH] D68410: [AttrDocs] document always_inline

2019-10-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D68410#1694026 , @kristina wrote: > Also, I'm fairly certain `__forceinline` and `always_inline`, confusingly > enough differ in semantics, with `__forceinline` only being a stronger hint > on MSVC. Does clang handle

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-05-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: echristo, dblaikie. Herald added a project: clang. Herald added a subscriber: cfe-commits. Fixes pr/11710. Signed-off-by: Nick Desaulniers Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D80242 Files: cla

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-05-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. ah, right. I need to additionally handle structs, unions, enums. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80242/new/ https://reviews.llvm.org/D80242 ___ cfe-commit

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-05-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CGDebugInfo.cpp:4965 + DBuilder.retainType(Ty); +} Looks like I can just reuse CGDebugInfo::EmitExplicitCastType Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://rev

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-05-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. For C++, I'd imagine: class foo {}; using my_foo = foo; template struct baz { bar my_bar; }; but it seems that `g++` doesn't emit debug info the for the templated struct. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-05-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 265077. nickdesaulniers added a comment. - add support for structs, unions, and enums Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80242/new/ https://reviews.llvm.org/D80242 Files: clang/include/cla

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-05-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. `CXXRecordDecl` is a funny case, the AST looks like: |-CXXRecordDecl 0x5c661a8 col:7 class foo definition | |-DefinitionData pass_in_registers empty aggregate standard_layout trivially_copyable pod trivial literal has_constexpr_non_copy_ | `-CXXRecordDecl

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-05-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 265093. nickdesaulniers added a comment. - add C++ `using` and `class` support Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80242/new/ https://reviews.llvm.org/D80242 Files: clang/include/clang/Basi

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-05-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CodeGenModule.cpp:5369 if (ES->hasExternalDefinitions(D) == ExternalASTSource::EK_Never) - DebugInfo->completeUnusedClass(cast(*D)); + DebugInfo->completeUnusedClass(*CRD); }

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-05-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CodeGenModule.cpp:5559 + case Decl::Typedef: +if (getCodeGenOpts().DebugUnusedTypes) + if (CGDebugInfo *DI = getModuleDebugInfo()) dblaikie wrote: > Probably test this within the imple

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-05-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. probably should add a test for `enum class` in C++ Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80242/new/ https://reviews.llvm.org/D80242 ___ cfe-commits mailing list

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-05-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 265306. nickdesaulniers added a comment. - add enum class test case Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80242/new/ https://reviews.llvm.org/D80242 Files: clang/include/clang/Basic/CodeGenOp

[PATCH] D79842: [clang][Driver] Correct tool search path priority

2020-05-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Driver/Driver.cpp:4730 + return std::string(P.str()); + } } else { style nit: are the `{}` on the `for` necessary? Comment at: clang/test/Driver/program-path-priori

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-05-27 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Bumping for review Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80242/new/ https://reviews.llvm.org/D80242 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http

[PATCH] D80647: [Driver] Support -fsanitize=shadow-call-stack on aarch64_be

2020-05-27 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers accepted this revision. nickdesaulniers added a comment. This revision is now accepted and ready to land. thanks for the quick fix Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80647/new/ https://reviews.llvm.org/D80647 _

[PATCH] D80681: [clang][SourceManager] cache Macro Expansions

2020-05-27 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: rsmith, bkramer. Herald added subscribers: cfe-commits, jfb, kristof.beyls. Herald added a project: clang. A seemingly innocuous Linux kernel change [0] seemingly blew up our compile times by over 3x, as reported by @nathancha

[PATCH] D80828: [Clang][A32/T32][Linux] -O2 implies -fomit-frame-pointer

2020-05-29 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: kristof.beyls, psmith, olista01. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commits. nickdesaulniers added a subscriber: vhscampos. An upgrade of LLVM for CrOS [0] containing [1] triggered

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-05-29 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Frontend/CompilerInvocation.cpp:768 Opts.DebugFwdTemplateParams = Args.hasArg(OPT_debug_forward_template_params); + Opts.DebugUnusedTypes = Args.hasArg(OPT_eliminate_unused_debug_types_fno); Opts.EmbedSource = Ar

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-05-29 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked 3 inline comments as done. nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CodeGenModule.cpp:5369 if (ES->hasExternalDefinitions(D) == ExternalASTSource::EK_Never) - DebugInfo->completeUnusedClass(cast(*D)); +

[PATCH] D80840: [Clang][CGM] style cleanups NFC

2020-05-29 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added a reviewer: dblaikie. Herald added a project: clang. Herald added a subscriber: cfe-commits. Forked from: https://reviews.llvm.org/D80242 Use the getter for access to DebugInfo consistently. Use break in switch in CodeGenModule::EmitTop

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-05-29 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked an inline comment as done. nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CodeGenModule.cpp:5565 +if (CGDebugInfo *DI = getModuleDebugInfo()) + if (getCodeGenOpts().DebugUnusedTypes) { +QualType QT = getContext().getTy

[PATCH] D62230: [CGDebugInfo] return early on failed dyn_cast

2020-05-29 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers abandoned this revision. nickdesaulniers added a comment. Heh, @RKSimon and I were going through fixing up warnings noted in that blog. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62230/new/ https://reviews.llvm.org/D62230

[PATCH] D80840: [Clang][CGM] style cleanups NFC

2020-05-29 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 267399. nickdesaulniers added a comment. - add missed `{`, actually compile test and check all Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80840/new/ https://reviews.llvm.org/D80840 Files: clang/li

[PATCH] D80840: [Clang][CGM] style cleanups NFC

2020-05-29 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked an inline comment as done. nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CodeGenModule.cpp:5374 case Decl::CXXRecord: -if (DebugInfo) { +if (CGDebugInfo *DI = getModuleDebugInfo()) if (auto *ES = D->getASTContext().g

[PATCH] D80840: [Clang][CGM] style cleanups NFC

2020-05-29 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 267403. nickdesaulniers added a comment. - actually, braces were unnecessary Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80840/new/ https://reviews.llvm.org/D80840 Files: clang/lib/CodeGen/CodeGenM

[PATCH] D80840: [Clang][CGM] style cleanups NFC

2020-05-29 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. I've learned the hard way not to commit code Friday >4pm. Will land Monday. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80840/new/ https://reviews.llvm.org/D80840 __

[PATCH] D80828: [Clang][A32/T32][Linux] -O2 implies -fomit-frame-pointer

2020-05-29 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Clang.cpp:560 // Don't use a frame pointer on linux if optimizing for certain targets. +case llvm::Triple::arm: +case llvm::Triple::armeb: srhines wrote: > For the new tar

[PATCH] D80840: [Clang][CGM] style cleanups NFC

2020-06-01 Thread Nick Desaulniers via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGef1d4bec891b: [Clang][CGM] style cleanups NFC (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80840/new/ https://reviews.llvm.o

[PATCH] D80828: [Clang][A32/T32][Linux] -O2 implies -fomit-frame-pointer

2020-06-01 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 267663. nickdesaulniers added a comment. - add Android target triple handling, see https://developer.android.com/ndk/guides/other_build_systems#overview Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D808

[PATCH] D80828: [Clang][A32/T32][Linux] -O2 implies -fomit-frame-pointer

2020-06-01 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked 2 inline comments as done. nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Clang.cpp:22 #include "InputInfo.h" +#include "MSP430.h" #include "PS4CPU.h" Note to reviewers: the linter really wanted to touch th

[PATCH] D80828: [Clang][A32/T32][Linux] -O2 implies -fomit-frame-pointer

2020-06-01 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 267682. nickdesaulniers added a comment. - prefer Triple#isAndroid Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80828/new/ https://reviews.llvm.org/D80828 Files: clang/lib/Basic/Targets/ARM.cpp cl

[PATCH] D80828: [Clang][A32/T32][Linux] -O2 implies -fomit-frame-pointer

2020-06-01 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 267683. nickdesaulniers added a comment. - update release note Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80828/new/ https://reviews.llvm.org/D80828 Files: clang/lib/Basic/Targets/ARM.cpp clang/

[PATCH] D80828: [Clang][A32/T32][Linux] -O2 implies -fomit-frame-pointer

2020-06-01 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 267700. nickdesaulniers added a comment. - double backticks in release notes, -O1 rather than -O2 in tests Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80828/new/ https://reviews.llvm.org/D80828 Files

[PATCH] D80828: [Clang][A32/T32][Linux] -O1 implies -fomit-frame-pointer

2020-06-01 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D80828#2067110 , @MaskRay wrote: > (You can change `[Clang]` to `[Driver]` as `[Clang]` may carry less > information. `[Driver]` emphasizes this is related to clangDriver. Nothing in > sema/codegen/analyzer/etc is affe

[PATCH] D76791: [Matrix] Implement matrix index expressions ([][]).

2020-06-01 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Sema/SemaExpr.cpp:4738-4739 +bool ConversionOk = tryConvertToTy(*this, Context.getSizeType(), &ConvExpr); +assert(ConversionOk && + "should be able to convert any integer type to size type"); +ret

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-06-01 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 267751. nickdesaulniers added a comment. - rebase on 1b6d29e06b07e518025b6f06445ad3275d6f5684 and D80840 (no other changes yet) Repository: rG

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-06-01 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 267756. nickdesaulniers added a comment. - missed one part of the rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80242/new/ https://reviews.llvm.org/D80242 Files: clang/include/clang/Basic/Code

[PATCH] D80828: [Clang][A32/T32][Linux] -O1 implies -fomit-frame-pointer

2020-06-02 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. May I please have a non-Googler to review+(accept|reject) the revision? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80828/new/ https://reviews.llvm.org/D80828 ___ cfe

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-06-02 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Frontend/CompilerInvocation.cpp:768 Opts.DebugFwdTemplateParams = Args.hasArg(OPT_debug_forward_template_params); + Opts.DebugUnusedTypes = Args.hasArg(OPT_eliminate_unused_debug_types_fno); Opts.EmbedSource = Ar

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-06-02 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 267970. nickdesaulniers added a comment. - add documentation Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80242/new/ https://reviews.llvm.org/D80242 Files: clang/docs/ClangCommandLineReference.rst

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-06-02 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers planned changes to this revision. nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CodeGenModule.cpp:5317 /// EmitTopLevelDecl - Emit code for a single top level declaration. void CodeGenModule::EmitTopLevelDecl(Decl *D) { // Ignore depend

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-06-02 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 268002. nickdesaulniers added a comment. - handle non top level decls, add tests Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80242/new/ https://reviews.llvm.org/D80242 Files: clang/docs/ClangComman

[PATCH] D80828: [Clang][A32/T32][Linux] -O1 implies -fomit-frame-pointer

2020-06-02 Thread Nick Desaulniers via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG8eda71616fec: [Clang][A32/T32][Linux] -O1 implies -fomit-frame-pointer (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80828/new

[PATCH] D80828: [Clang][A32/T32][Linux] -O1 implies -fomit-frame-pointer

2020-06-02 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. thanks homies, committed as https://github.com/llvm/llvm-project/commit/8eda71616fecd098cbd7d2447859c8ac1315966f Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80828/new/ https://reviews.llvm.org/D80828 _

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-07-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 278557. nickdesaulniers marked 9 inline comments as done. nickdesaulniers added a comment. Herald added a subscriber: dang. - rebase on 227db86a1b7dd , update NOT checks Repositor

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-07-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CodeGenModule.cpp:5385 + if (getCodeGenOpts().hasMaybeUnusedDebugInfo() && CRD->hasDefinition()) +DI->completeUnusedClass(*CRD); + else if (auto *ES = D->getASTContext().getExternalSource()) --

[PATCH] D82994: [RFC] Instrumenting Clang/LLVM with Perfetto

2020-07-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Herald added a subscriber: dang. Comment at: clang/lib/Driver/Driver.cpp:3754 + // We don't need to count the assembler as a job since it doesn't + // cause the memory issue that requires disabling integrated-cc1. lebede

[PATCH] D82994: [RFC] Instrumenting Clang/LLVM with Perfetto

2020-07-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/cmake/modules/AddPerfetto.cmake:9 + ExternalProject_Add(perfetto_git + GIT_REPOSITORY https://github.com/google/perfetto.git + GIT_TAG releases/v4.x lebedev.ri wrote: > nickdesaulniers wrote: > >

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-07-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Clang.cpp:3825-3828 + if (EmitDwarf && + Args.hasFlag(options::OPT_fno_eliminate_unused_debug_types, + options::OPT_feliminate_unused_debug_types, false)) +DebugInfoKind = c

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-07-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 279643. nickdesaulniers marked 4 inline comments as done. nickdesaulniers added a comment. - rebase, add -g1 test case, don't emit unless -g2 or higher Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80242

[PATCH] D77611: [Sema] fix -Wunused-result in StmtExpr

2020-04-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers planned changes to this revision. nickdesaulniers added a comment. ah, using this to build a Linux kernel triggers tons of warnings. So the behavior of GCC is even more subtle than captured in the test cases here. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D77611: [Sema] fix -Wunused-result in StmtExpr

2020-04-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added a reviewer: dblaikie. Herald added a project: clang. Herald added a subscriber: cfe-commits. nickdesaulniers planned changes to this revision. nickdesaulniers added a comment. ah, using this to build a Linux kernel triggers tons of warni

[PATCH] D77611: [Sema] fix -Wunused-result in StmtExpr

2020-04-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Note your test case is related to `-Wunused-value`, mine is `-Wunused-result` (via the use of `__attribute__((warn_result_unused))` which we should always warn about. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D7

[PATCH] D71082: Allow system header to provide their own implementation of some builtin

2020-04-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D71082#1960815 , @george.burgess.iv wrote: > It'd be nice if the kernel's FORTIFY were more like all of the other existing > ones in this way. Please file a bug with some more details, and let's make it happen. Rep

[PATCH] D77611: [Sema] fix -Wunused-result in StmtExpr

2020-04-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 255808. nickdesaulniers added a comment. - emit warning just for CallExprs Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77611/new/ https://reviews.llvm.org/D77611 Files: clang/lib/Sema/SemaStmt.cpp

[PATCH] D77611: [Sema] fix -Wunused-result in StmtExpr

2020-04-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Sema/SemaStmt.cpp:252 + // CallExprs below. + if (isa(E) && Loc.isMacroID() && !isa(WarnExpr)) return; sigh, this again produces different from GCC for the kernel. Let me tighten this constrain

[PATCH] D77611: [Sema] Check calls to __attribute__((warn_unused_result)) from StmtExprs

2020-04-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 255823. nickdesaulniers added a comment. - tighten up condition, eagerly emit diag, test with kernel before pushing Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77611/new/ https://reviews.llvm.org/D776

[PATCH] D77611: [Sema] Check calls to __attribute__((warn_unused_result)) from StmtExprs

2020-04-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D77611#1968227 , @dblaikie wrote: > Looks like GCC warns on everything but the last unused expression (the last > one being the return statement) - only warning on that last one if it's > ultimately unused by the state

[PATCH] D77701: [Sema] refactor static functions into private methods NFC

2020-04-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: aaron.ballman, dblaikie. Herald added a reviewer: jdoerfert. Herald added a project: clang. Herald added a subscriber: cfe-commits. While working in SemaStmt, I noticed a bunch of static functions are passed *this, which is a

[PATCH] D77701: [Sema] refactor static functions into private methods NFC

2020-04-08 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D77701#1969132 , @aaron.ballman wrote: > OTOH, this is reasonable, NFC, and I tend to agree about it being a code > smell. > OTOH, this makes parsing Sema.h that much slower and adds even more text for > us to wade t

[PATCH] D80681: [clang][SourceManager] cache Macro Expansions

2020-06-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Bumping for review. Are there other trusted reviewers we could add the to review to help? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80681/new/ https://reviews.llvm.org/D80681 ___

[PATCH] D80805: [KernelAddressSanitizer] Make globals constructors compatible with kernel

2020-06-05 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/CodeGen/asan-globals.cpp:14 int blacklisted_global; +int __attribute__((section(".foo.bar"))) sectioned_global; /Users/thakis/src/llvm-project/clang/test/CodeGen/asan-globals.cpp:14:28: error: argu

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-06-09 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Bumping for review. Are there additional reviewers we can entrust code review to, to help share the code review responsibility? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80242/new/ https://reviews.llvm.org/D80

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-06-10 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 269977. nickdesaulniers added a comment. - rebase - fix docs (use declare consistently, avoid define) - add driver test - fix command line check Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80242/new/

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-06-10 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 269981. nickdesaulniers added a comment. - update comment to CODEGENOPT - avoid BooleanFFlag group Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80242/new/ https://reviews.llvm.org/D80242 Files: clan

[PATCH] D80681: [clang][SourceManager] cache Macro Expansions

2020-06-12 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Bumping for review. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80681/new/ https://reviews.llvm.org/D80681 ___ cfe-commits mailing list cfe-commits@lists.llvm.org htt

[PATCH] D80681: [clang][SourceManager] cache Macro Expansions

2020-06-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. > I've seen quite nice benchmarks for kernel build times in the issues you've > mentioned it would be nice if you could back that claim with similar data(not > that I don't take your word for it, I just love tables and I am jealous that > kernel has some but we

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-06-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D80242#2093785 , @dblaikie wrote: > > - fix docs (use declare consistently, avoid define) > > Defined would be the right word here (declaring a type is code like "struct > foo;" - and this change probably doesn't/should

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-07-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Bumping for review Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80242/new/ https://reviews.llvm.org/D80242 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http

[PATCH] D83726: Fix a missing update that C compiles default to gnu17.

2020-07-13 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers accepted this revision. nickdesaulniers added a comment. This revision is now accepted and ready to land. bah! $ find . -name \*.rst | xargs grep -n gnu11 ./clang/docs/UsersManual.rst:2462:The supported modes for C are c89, gnu89, c99, gnu99, c11, gnu11, c17, gnu17, ./clang

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-06-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Ok, I think I have all feedback addresses locally. One issue I'm hitting is that I'm regressing clang/test/OpenMP/parallel_codegen.cpp. Specifically, it seems it has code like: template

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-06-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 271884. nickdesaulniers added a comment. - rebase - make feature progression of debug-info-kind - fix docs (define, not declare) - add driver tests - use OptOutFFlag tablegen helper - rename helper to EmitAndRetainType - dont emit debug info for declar

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-06-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 271887. nickdesaulniers added a comment. - git clang-format HEAD~ Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80242/new/ https://reviews.llvm.org/D80242 Files: clang/docs/ClangCommandLineReference.

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-06-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CGDecl.cpp:103-118 + case Decl::CXXRecord: // struct/union/class X; [C++] +if (CGDebugInfo *DI = getDebugInfo()) + if (CGM.getCodeGenOpts().hasMaybeUnusedDebugInfo() && + cast(D).hasDefinition

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-06-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 272143. nickdesaulniers marked an inline comment as done. nickdesaulniers added a comment. - make cases more uniform, cleanup some missed fixes Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80242/new/ h

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-06-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CGDecl.cpp:103-118 + case Decl::CXXRecord: // struct/union/class X; [C++] +if (CGDebugInfo *DI = getDebugInfo()) + if (CGM.getCodeGenOpts().hasMaybeUnusedDebugInfo() && + cast(D).hasDefinition

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-06-22 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 272546. nickdesaulniers added a comment. - fix clang/test/OpenMP/parallel_codegen.cpp Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80242/new/ https://reviews.llvm.org/D80242 Files: clang/docs/ClangC

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-06-24 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Bumping for review. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80242/new/ https://reviews.llvm.org/D80242 ___ cfe-commits mailing list cfe-commits@lists.llvm.org htt

[PATCH] D82497: [Clang][SourceManager] optimize getFileIDLocal()

2020-06-24 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added a reviewer: kadircet. Herald added a project: clang. Herald added a subscriber: cfe-commits. A recent Linux kernel commit exposed a performance cliff in Clang. Calls to SourceManager::getFileIDLocal() when there's a cache miss against La

[PATCH] D80681: [clang][SourceManager] cache Macro Expansions

2020-06-24 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Basic/SourceManager.cpp:967 if (isOffsetInFileID(FileID::get(-int(MiddleIndex) - 2), SLocOffset)) { FileID Res = FileID::get(-int(MiddleIndex) - 2); kadircet wrote: > my comments above for

[PATCH] D82498: [SourceManager] don't check invalid param of getLocalSLocEntry()

2020-06-24 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added a reviewer: kadircet. Herald added a project: clang. Herald added a subscriber: cfe-commits. nickdesaulniers retitled this revision from "[SourceManager] don't check Invalid param of getLocalSLocEntry()" to "[SourceManager] don't check i

[PATCH] D80681: [clang][SourceManager] cache Macro Expansions

2020-06-24 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. I've forked off 1. D82497 (`getFileIDLocal` optimizations) 2. D82498 (don't check `Invalid` for calls to `getLocalSLocEntry`) I agree those should be the less controversial parts of this diff.

[PATCH] D82497: [Clang][SourceManager] optimize getFileIDLocal()

2020-06-25 Thread Nick Desaulniers via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG408efffbe4a5: [Clang][SourceManager] optimize getFileIDLocal() (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82497/new/ https

[PATCH] D82498: [SourceManager] don't check invalid param of getLocalSLocEntry()

2020-06-25 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 273449. nickdesaulniers added a comment. - drop `Invalid` param from getLocalSLocEntry Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82498/new/ https://reviews.llvm.org/D82498 Files: clang/include/cl

[PATCH] D82498: [SourceManager] don't check invalid param of getLocalSLocEntry()

2020-06-26 Thread Nick Desaulniers via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG8cce7af090bd: [SourceManager] don't check invalid param of getLocalSLocEntry() (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D8

[PATCH] D80681: [clang][SourceManager] cache Macro Expansions

2020-06-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 273780. nickdesaulniers added a comment. - rebase on D82497 & D82498 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80681/new/ https:/

[PATCH] D80681: [clang][SourceManager] cache Macro Expansions

2020-06-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked 4 inline comments as done. nickdesaulniers added a comment. Cool, should be good for review. This change is now nice an isolated, in case we need to revert. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80681/new/ https://r

[PATCH] D80681: [clang][SourceManager] cache Macro Expansions

2020-06-26 Thread Nick Desaulniers via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGdffc1420451f: [clang][SourceManager] cache Macro Expansions (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80681/new/ https://

[PATCH] D80681: [clang][SourceManager] cache Macro Expansions

2020-06-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. I appreciate you taking the time to review, and find additional optimizations! It's not populated yet, but IIUC, this should be the link with more test results: http://llvm-compile-time-tracker.com/compare.php?from=7cc5307c73caa72f22edd4208b175e3c36eec46e&to=df

[PATCH] D80681: [clang][SourceManager] cache Macro Expansions

2020-06-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Basic/SourceManager.cpp:901 // across FileID lookups. if (!LocalSLocEntryTable[MiddleIndex].isExpansion()) LastFileIDLookup = Res; oh, this case here should have been removed, too

[PATCH] D80681: [clang][SourceManager] cache Macro Expansions

2020-06-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Basic/SourceManager.cpp:901 // across FileID lookups. if (!LocalSLocEntryTable[MiddleIndex].isExpansion()) LastFileIDLookup = Res; nickdesaulniers wrote: > oh, this case here shou

[PATCH] D82690: [clang][SourceManager] cache Macro Expansions pt.2

2020-06-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added a reviewer: kadircet. Herald added a project: clang. Herald added a subscriber: cfe-commits. nickdesaulniers added a comment. Alternatively, I could revert dffc1420451f674

[PATCH] D82690: [clang][SourceManager] cache Macro Expansions pt.2

2020-06-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Alternatively, I could revert dffc1420451f674 , and reland with this hunk? That way if a revert is necessary in the future, it's only one. Also so that before/after metrics are together and not

[PATCH] D80791: [AArch64] Generate .note.gnu.property based on module flags.

2020-06-29 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D80791#2120090 , @kees wrote: > Should the per-function analysis warning actually be removed? That seems like > a helpful check to catch a different form of bad behavior. Might someone wish to disable PAC/BTI on an in

[PATCH] D82690: [clang][SourceManager] cache Macro Expansions pt.2

2020-06-29 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers abandoned this revision. nickdesaulniers added a comment. Reverted in 7c2cb1448ad2d20e251db5e3ae4a0c84c12aa970 , relanded in 7b8cf98b4a9a2f5ea3667fdbf913a4f8952ed36a

[PATCH] D80681: [clang][SourceManager] cache Macro Expansions

2020-06-29 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Reverted in 7c2cb1448ad2d20e251db5e3ae4a0c84c12aa970 , relanded in 7b8cf98b4a9a2f5ea3667fdbf913a4f8952ed36a . Repository:

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-06-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. bumping for review Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80242/new/ https://reviews.llvm.org/D80242 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http

[PATCH] D80242: [Clang] implement -fno-eliminate-unused-debug-types

2020-06-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 274636. nickdesaulniers added a comment. - fix documentation double negation Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80242/new/ https://reviews.llvm.org/D80242 Files: clang/docs/ClangCommandLin

<    1   2   3   4   5   6   7   8   9   10   >