[PATCH] D136707: [clang][Toolchains][Gnu] pass -gdwarf-* through to assembler

2022-10-25 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 470638. nickdesaulniers added a comment. - more refactoring Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136707/new/ https://reviews.llvm.org/D136707 Files: clang/lib/Driver/ToolChains/Clang.cpp c

[PATCH] D136707: [clang][Toolchains][Gnu] pass -gdwarf-* through to assembler

2022-10-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 470860. nickdesaulniers marked 3 inline comments as done. nickdesaulniers added a comment. - add const, fix lowerCamelCase, use Twine Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136707/new/ https://re

[PATCH] D136707: [clang][Toolchains][Gnu] pass -gdwarf-* through to assembler

2022-10-26 Thread Nick Desaulniers 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 rGad78ce44bb47: [clang][Toolchains][Gnu] pass -gdwarf-* through to assembler (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHA

[PATCH] D137113: [Clang] refactor CodeGenFunction::EmitAsmStmt NFC

2022-10-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: void, nikic, jyknight, efriedma, craig.topper. Herald added a subscriber: StephenFan. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-10-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers planned changes to this revision. nickdesaulniers added a comment. In D136497#3889938 , @void wrote: > It might be easier to see the main changes here if you submit the (very nice) > refactoring of `EmitAsmStores` first. D137113

[PATCH] D137113: [Clang] refactor CodeGenFunction::EmitAsmStmt NFC

2022-10-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers planned changes to this revision. nickdesaulniers added a comment. Let me move the asserts, too. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D137113/new/ https://reviews.llvm.org/D137113 ___

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-10-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CGStmt.cpp:2362 + // a pointer. + if (TruncTy->isFloatingPointTy()) +Tmp = Builder.CreateFPTrunc(Tmp, TruncTy); nickdesaulniers wrote: > void wrote: > > This looks like a direc

[PATCH] D137113: [Clang] refactor CodeGenFunction::EmitAsmStmt NFC

2022-10-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 472132. nickdesaulniers added a comment. - move asserts Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D137113/new/ https://reviews.llvm.org/D137113 Files: clang/lib/CodeGen/CGStmt.cpp Index: clang/li

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-10-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CGStmt.cpp:2850 assert(RegResults.size() == ResultRegTypes.size()); assert(RegResults.size() == ResultTruncRegTypes.size()); nickdesaulniers wrote: > void wrote: > > Should these asserts

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-10-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 472136. nickdesaulniers added a comment. - rebase on D137113 , add comment Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136497/new/ https://reviews.llvm.org/D136497 F

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-10-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers planned changes to this revision. nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CGStmt.cpp:2867 +for (unsigned i = 0, e = CBR->getNumIndirectDests(); i != e; ++i) { + assert(CBRRegResults[i].size() == ResultRegTypes.size()); +

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-10-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CGStmt.cpp:2868-2873 + // If we happen to share the same indirect and default dest, don't re-add + // stores. That was done for the default destination in the above call to + // EmitAsmStores. +

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-10-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 472144. nickdesaulniers added a comment. - remove unnecssary asserts Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136497/new/ https://reviews.llvm.org/D136497 Files: clang/docs/LanguageExtensions.rs

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-10-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CGStmt.cpp:2868-2873 + // If we happen to share the same indirect and default dest, don't re-add + // stores. That was done for the default destination in the above call to + // EmitAsmStores. +

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-10-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 472152. nickdesaulniers marked an inline comment as done. nickdesaulniers added a comment. - reroll for a new sha so that phab unmarks this as "changes planned" Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.o

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-10-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CGStmt.cpp:2868-2873 + // If we happen to share the same indirect and default dest, don't re-add + // stores. That was done for the default destination in the above call to + // EmitAsmStores. +

[PATCH] D131532: [Sema] Avoid isNullPointerConstant invocation

2022-08-14 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers accepted this revision. nickdesaulniers added a comment. Awesome! This makes a measurable improvement in my Linux kernel build times! Thanks for the patch, and thanks @rtrieu for suggestions that will improve C++ code compilation times as well. I'll commit this for you since you

[PATCH] D131532: [Sema] Avoid isNullPointerConstant invocation

2022-08-14 Thread Nick Desaulniers via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG333771f3558c: [Sema] Avoid isNullPointerConstant invocation (authored by justinstitt, committed by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm

[PATCH] D131532: [Sema] Avoid isNullPointerConstant invocation

2022-08-14 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. https://llvm-compile-time-tracker.com/compare.php?from=0299ebc1bdc9fca176ebcacd590c90dc77a47551&to=333771f3558c81390a0e5d715ad8d1e419050b66&stat=cycles should be the link, once it gets picked up. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D132266: [Clang][SemaChecking] move %hh and %h -Wformat warnings to -Wformat-pedantic

2022-08-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added a reviewer: aaron.ballman. Herald added a subscriber: emaste. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Similar to commit cc01d6

[PATCH] D132266: [Clang][SemaChecking] move %hh and %h -Wformat warnings to -Wformat-pedantic

2022-08-24 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers abandoned this revision. nickdesaulniers added a comment. Prefer D132568 . Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D132266/new/ https://reviews.llvm.org/D132266 ___

[PATCH] D132568: [clang][Sema] check default argument promotions for printf

2022-08-24 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D132568#3746551 , @aaron.ballman wrote: > Thank you for the patch, but it'd be really helpful to me as a reviewer if > you and @nickdesaulniers could coordinate so there's only one patch trying to > address #57102 in

[PATCH] D132568: [clang][Sema] check default argument promotions for printf

2022-08-25 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D132568#3747971 , @inclyc wrote: >> Do we want to encode that in `test_promotion` in >> `clang/test/Sema/format-strings.c`? Seems like tests on shorts are missing. > > Tests for short and char "incompatibility" could b

[PATCH] D132568: [clang][Sema] check default argument promotions for printf

2022-08-25 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/AST/FormatString.cpp:401 + if (const auto *BT = argTy->getAs()) { +if (!Ptr) { + switch (BT->getKind()) { inclyc wrote: > nickdesaulniers wrote: > > aaron.ballman wrote: > > > It's

[PATCH] D132568: [clang][Sema] check default argument promotions for printf

2022-08-25 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Sema/SemaChecking.cpp:10127-10129 +if (ImplicitMatch != ArgType::NoMatchPromotionTypeConfusion && +ImplicitMatch != ArgType::NoMatchTypeConfusion && +!IsCharacterLiteralInt) There's

[PATCH] D132568: [clang][Sema] check default argument promotions for printf

2022-08-25 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Sema/SemaChecking.cpp:10133-10135 + if (ImplicitMatch == ArgType::NoMatchPedantic || + ImplicitMatch == ArgType::NoMatchTypeConfusion) +Match = ImplicitMatch; Similarly, if `ImplicitMatch` can

[PATCH] D132568: [clang][Sema] check default argument promotions for printf

2022-08-25 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Sema/SemaChecking.cpp:10133-10135 + if (ImplicitMatch == ArgType::NoMatchPedantic || + ImplicitMatch == ArgType::NoMatchTypeConfusion) +Match = ImplicitMatch; nickdesaulniers wrote: > Similarl

[PATCH] D110869: [X86] Implement -fzero-call-used-regs option

2022-09-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Follow up fix: https://reviews.llvm.org/D133946 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D110869/new/ https://reviews.llvm.org/D110869 ___ cfe-commits mailing list cf

[PATCH] D134362: [clang] Fix interaction between asm labels and inline builtins

2022-09-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/CodeGen/asm-label-inline-builtins.c:18-20 +// CHECK-NOT: @vprintf( +// CHECK-NOT: @__vprintf_chk +// CHECK-NOT: @vprintf.inline( please be consistent wrt. the trailing open paren `(`. Let's add a chec

[PATCH] D134362: [clang] Fix interaction between asm labels and inline builtins

2022-09-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CGExpr.cpp:5056-5057 +std::string FDInlineName; +if (FD->hasAttr()) + FDInlineName = FD->getAttr()->getLabel().str(); +else I think you could use: ``` if (auto *A = FD->getAttr

[PATCH] D134362: [clang] Fix interaction between asm labels and inline builtins

2022-09-21 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. Please make sure to mark comments as "Done" in phab to help reviewers skip over stale feedback. Comment at: clang/lib/CodeGen/CGExpr.cpp:5055-5059 +std

[PATCH] D134454: [Driver][Distro] Fix ArchLinux triplet and sysroot detection

2022-09-23 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Is it worth contacting the package maintainer for LLVM+clang for Arch-Linux in regards to this patch? Comment at: clang/lib/Driver/Distro.cpp:210 + // Sometimes the OS can't be detected from the triplet due to ambiguity, for + // eg. ArchLinu

[PATCH] D134461: [Clang] Warn when trying to deferencing void pointers in C

2022-09-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D134461#3815458 , @aaron.ballman wrote: > In D134461#3815298 , @nathanchance > wrote: > >> This warning is quite noisy for the Linux kernel due to a couple of places >> where

[PATCH] D133574: [C2x] reject type definitions in offsetof

2022-09-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D133574#3816066 , @nathanchance wrote: > In D133574#3815951 , @aaron.ballman > wrote: > >> LGTM, thank you! Please don't land until you have some indication from the >> kerne

[PATCH] D134454: [Driver][Distro] Fix ArchLinux triplet and sysroot detection

2022-09-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers requested changes to this revision. nickdesaulniers added a comment. This revision now requires changes to proceed. It's not clear to me why Arch is special here. The path may be different, but normalizing the triple seems unnecessary. Blocking this until I'm confident that we're

[PATCH] D134702: [Clang] Don't warn if deferencing void pointers in unevaluated context

2022-09-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/D134702/new/ https://reviews.llvm.org/D134702

[PATCH] D134454: [Driver][Distro] Fix ArchLinux sysroot detection

2022-09-27 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Linux.cpp:360-361 // CSKY toolchains use different names for sysroot folder. if (!GCCInstallation.isValid()) return std::string(); // GCCInstallation.getInstallPath() = --

[PATCH] D134454: [Driver][Distro] Fix ArchLinux sysroot detection

2022-09-28 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Linux.cpp:363 const StringRef TripleStr = GCCInstallation.getTriple().str(); - const Multilib &Multilib = GCCInstallation.getMultilib(); + std::string Path = (InstallDir + "/../../../../" + Triple

[PATCH] D134454: [Driver][Distro] Fix ArchLinux sysroot detection

2022-09-28 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Linux.cpp:376 + if (getTriple().isMIPS()) { +const Multilib &Multilib = GCCInstallation.getMultilib(); +Path = Path + "/libc" + Multilib.osSuffix(); nickdesaulniers wrote: > I

[PATCH] D134831: [Clang][Sema] Add -Wcast-function-type-strict

2022-09-28 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers requested changes to this revision. nickdesaulniers added a comment. This revision now requires changes to proceed. SGTM; please make a note of this new diagnostic flag in clang/docs/ReleaseNotes.rst under `Improvements to Clang's diagnostics`. Comment at: clan

[PATCH] D134454: [Driver][Distro] Fix ArchLinux sysroot detection

2022-09-29 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. Looks great! Nice job @10ne1 . Need me to commit this for you? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D134454/new/ https://reviews.llvm.org/D134454 __

[PATCH] D20401: [Lexer] Don't merge macro args from different macro files

2022-09-29 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added subscribers: justinstitt, nikic, tstellar, serge-sans-paille. nickdesaulniers added a comment. In D20401#3823476 , @sammccall wrote: > In D20401#2770059 , @nickdesaulniers > wrote: > >> I kno

[PATCH] D134337: [clang] [Driver] More flexible rules for loading default configs

2022-09-29 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. It might be nice to work with `rustc` folks on the format of these configs. A frequent difficulty between Rust and C interop is the totally different command line flags necessary to compile code meant to link together and match as much of the ABI as possible.

[PATCH] D134671: [Driver] Prevent Mips specific code from claiming -mabi argument on other targets.

2022-09-29 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added subscribers: nathanchance, nickdesaulniers. nickdesaulniers added a comment. I don't think it's an issue for us to work around downstream, but this did regress support for `-mabi=ms` used in UEFI related build scripts. https://github.com/ClangBuiltLinux/linux/issues/1725 Not

[PATCH] D20401: [Lexer] Don't merge macro args from different macro files

2022-09-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D20401#3824713 , @sammccall wrote: > Thanks Nick for the info! No kernel experience here, so if you have any > particular suggestions about how to measure the workload you care about it'd > be much appreciated (e.g. ar

[PATCH] D134337: [clang] [Driver] More flexible rules for loading default configs

2022-09-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D134337#3824862 , @MaskRay wrote: > It's unclear Clang wants to support GCC style specs file and whether GCC > wants to adopt another system beside its specs. > I lean toward there isn't much cooperation as we might th

[PATCH] D134454: [Driver][Distro] Fix ArchLinux sysroot detection

2022-09-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D134454#3824630 , @MaskRay wrote: > Another opinion is whether we actually need the more and more complex sysroot > computation logic. > Inferring sysroot from GCCInstallation looks backward to me. We should get > sy

[PATCH] D134831: [Clang][Sema] Add -Wcast-function-type-strict

2022-09-30 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. Please get the patch disabling this warning for the kernel in flight before landing this. It's going to make a lot of CI red due to kernel builds enabling `-Werror`. Reposi

[PATCH] D125142: [clang][auto-init] Deprecate -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang

2022-09-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Clang.cpp:3464-3465 + D.Diag(diag::warn_ignored_clang_option) + << "-enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-" + "from-clang"; CmdArgs.push_back( ---

[PATCH] D134942: [Lex] Simplify and cleanup the updateConsecutiveMacroArgTokens implementation.

2022-09-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D134942#3827216 , @hokein wrote: > Some more perf data on building linux kernel (x86_64) > > before: getFileID 2.4% (1.10% on `getFileIDSlow`) > after: getFileID 2.35% (1.05% on `getFileIDSlow`) What compiler was used

[PATCH] D134942: [Lex] Simplify and cleanup the updateConsecutiveMacroArgTokens implementation.

2022-09-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Lex/TokenLexer.cpp:1008-1013 +assert(!Partition.empty() && + llvm::all_of(Partition.drop_front(), +[&SM](const Token &T) { + return SM.getFileID((&T - 1)->g

[PATCH] D134702: [Clang] Don't warn if deferencing void pointers in unevaluated context

2022-10-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Sema/SemaExpr.cpp:14539 LangOptions LO = S.getLangOpts(); -if (LO.CPlusPlus || !(LO.C99 && IsAfterAmp)) +if (LO.CPlusPlus || !(LO.C99 && (IsAfterAmp || S.isUnevaluatedContext( S.Diag(OpLoc, diag:

[PATCH] D135090: [Clang] fix -Wvoid-ptr-dereference for gnu89

2022-10-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: aaron.ballman, junaire. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Follow up to D134702

[PATCH] D134702: [Clang] Don't warn if deferencing void pointers in unevaluated context

2022-10-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Sema/SemaExpr.cpp:14539 LangOptions LO = S.getLangOpts(); -if (LO.CPlusPlus || !(LO.C99 && IsAfterAmp)) +if (LO.CPlusPlus || !(LO.C99 && (IsAfterAmp || S.isUnevaluatedContext( S.Diag(OpLoc, diag:

[PATCH] D135090: [Clang] fix -Wvoid-ptr-dereference for gnu89

2022-10-04 Thread Nick Desaulniers via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG2dbfd06f2a8b: [Clang] fix -Wvoid-ptr-dereference for gnu89 (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D135090/new/ https://

[PATCH] D134942: [Lex] Simplify and cleanup the updateConsecutiveMacroArgTokens implementation.

2022-10-04 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Lex/TokenLexer.cpp:1019 +// sourcelocation-against-bounds comparison. +FileID BeginFID = SM.getFileID(BeginLoc); +SourceLocation Limit = sammccall wrote: > this getFileID() call is unneccesa

[PATCH] D20401: [Lexer] Don't merge macro args from different macro files

2022-10-04 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D20401#3833201 , @hokein wrote: >>> Meanwhile, I think besides evaluating the high level logic in in TokenLexer >>> and how it might be improved, I think there's potentially an opportunity >>> for a "AOS vs. SOA" speed

[PATCH] D134831: [Clang][Sema] Add -Wcast-function-type-strict

2022-10-05 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Please consider waiting until the warning flag has started propagating to branches of stable, at least to whatever branch -Werror is first enabled in. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D134831/new/ https

[PATCH] D134942: [Lex] Simplify and cleanup the updateConsecutiveMacroArgTokens implementation.

2022-10-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers accepted this revision. nickdesaulniers added inline comments. Comment at: clang/lib/Lex/TokenLexer.cpp:1019 + const Token &T) { +return ID == SM.getFileID(T.getLocation()); + }) &&

[PATCH] D135132: [SourceManager] Improve getFileIDLocal.

2022-10-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers accepted this revision. nickdesaulniers added inline comments. Comment at: clang/lib/Basic/SourceManager.cpp:797 + // SLocOffset. + unsigned LessIndex = 0; + // upper bound of the search range. Consider renaming this `LesserIndex` which matches

[PATCH] D135411: Add generic KCFI operand bundle lowering

2022-10-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers accepted this revision. nickdesaulniers added inline comments. This revision is now accepted and ready to land. Comment at: llvm/lib/Transforms/Instrumentation/KCFI.cpp:48-49 + SmallVector KCFICalls; + for (inst_iterator I = inst_begin(F), E = inst_end(F); I !=

[PATCH] D135440: [SourceManager] Speedup getFileIDLocal with a separate Offset Table.

2022-10-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/include/clang/Basic/SourceManager.h:696 + /// An in-parallel SlocEntry offset table, merely used for speeding up the + /// FileID lookup. + SmallVector LocalLocOffsetTable; Add to this comment that the s

[PATCH] D135488: [codegen][WIP] Display stack layouts in console

2022-10-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D135488#3843992 , @paulkirth wrote: > Roland mentioned there's probably a clever way to do this using only DWARF, > but that it's probably simpler to do in the compiler backend. That's essentially what I do in: https

[PATCH] D135440: [SourceManager] Speedup getFileIDLocal with a separate Offset Table.

2022-10-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/include/clang/Basic/SourceManager.h:697 + /// FileID lookup. + SmallVector LocalLocOffsetTable; nickdesaulniers wrote: > `LocalSLocEntryTable` is a vec of `SrcMgr::SLocEntry`. `SrcMgr::SLocEntry`'s > `

[PATCH] D135488: [codegen][WIP] Display stack layouts in console

2022-10-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Thanks for the patch, here's the output I observe from the LKML thread : https://paste.debian.net/1256338/. I think the stack slot numbers printed at the end aren't correct; the two large

[PATCH] D135488: [codegen][WIP] Display stack layouts in console

2022-10-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. (I totally think we should ship this, perhaps a Note: diagnostic that says to "rebuild with debug info and -fmy-new-flag-for-more-info") Probably not much precedence for those kind of warnings, but idk. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST

[PATCH] D135440: [SourceManager] Speedup getFileIDLocal with a separate Offset Table.

2022-10-10 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. Is it worth it and possible to fully decompose `LocalSLocEntryTable` into arrays of its constituent parts, and only construct a `SLocEntry` when necessary? I'm ok with the c

[PATCH] D135411: Add generic KCFI operand bundle lowering

2022-10-10 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/Transforms/Instrumentation/KCFI.cpp:48-49 + SmallVector KCFICalls; + for (inst_iterator I = inst_begin(F), E = inst_end(F); I != E; ++I) { +if (auto *CI = dyn_cast(&*I)) + if (CI->getOperandBundle(LLVMContext:

[PATCH] D135488: [codegen][WIP] Display stack layouts in console

2022-10-11 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Nice! Diff 466919 fixes up my confusion regarding Slot vs SlotID. Though I do like how the Slots are sorted, since it keeps the Offsets in order FWICT. Maybe we could drop the SlotID column, then print out Slot for the variables, rather than the SlotID? I mean,

[PATCH] D135488: [codegen][WIP] Display stack layouts in console

2022-10-12 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Playing around with `llvm-dwarfdump` today, I think I found an interesting example: Consider the following DWARF DIE: 0x00017e5e: DW_TAG_variable DW_AT_location (0x2144: [0x07c4,

[PATCH] D135818: [clang] Update ASM goto documentation to reflect how Clang differs from GCC

2022-10-13 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers accepted this revision. nickdesaulniers added inline comments. This revision is now accepted and ready to land. Comment at: clang/docs/LanguageExtensions.rst:1553 + implementation`_ in + that Clang doesn't su

[PATCH] D135989: [clang][Sema] Use size of char for void types

2022-10-14 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/Sema/array-bounds-ptr-arith.c:14 +void* broken (struct ext2_super_block *es,int a) { + return (void *)es->s_uuid + 9; // expected-warning {{the pointer incremented by 9 refers past the end of the array (that contains

[PATCH] D135989: [clang][Sema] Use size of char for void types

2022-10-14 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. LGTM; please consider appending to the commit message something along the lines of "operations on the result of getTypeSize() are in bits, not bytes. Using 1 as the value fo

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-12-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 484671. nickdesaulniers edited the summary of this revision. nickdesaulniers added a comment. - rebase, drop callbrpad inst Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136497/new/ https://reviews.llvm

[PATCH] D137113: [Clang] refactor CodeGenFunction::EmitAsmStmt NFC

2022-12-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 484672. nickdesaulniers added a comment. - rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D137113/new/ https://reviews.llvm.org/D137113 Files: clang/lib/CodeGen/CGStmt.cpp Index: clang/lib/Code

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-12-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 484678. nickdesaulniers added a comment. - add clang release notes from D138078 and new one for new feature. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136497/new/

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-12-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Ready for review: 1. https://reviews.llvm.org/D135997 2. https://reviews.llvm.org/D140166 3. https://reviews.llvm.org/D139861 4. https://reviews.llvm.org/D139872 5. https://reviews.llvm.org/D139883 6. https://reviews.llvm.org/D139970 7. https://reviews.llvm.org/D1

[PATCH] D140508: [clang] fix -Wuninitialized for asm goto outputs on indirect edges.

2022-12-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. Herald added a reviewer: NoQ. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Now that we support outputs from asm goto along indirect edges, we can remove/

[PATCH] D140508: [clang] fix -Wuninitialized for asm goto outputs on indirect edges.

2022-12-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 484699. nickdesaulniers edited the summary of this revision. nickdesaulniers added a comment. - reference 3a604fdbcd5f in commit message as well Repository: rG LLVM Github Mono

[PATCH] D104931: [AArch64] Wire up ILP32 ABI support in Clang

2022-12-22 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Herald added a project: All. The linux kernel uses a build time invocation of the compiler for feature detection of the `-mabi=lp64` command line flag, which clang-16 currently doesn't support. Looking at https://gcc.gnu.org/onlinedocs/gcc/AArch64-Options.html,

[PATCH] D137113: [Clang] refactor CodeGenFunction::EmitAsmStmt NFC

2023-01-10 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 487927. nickdesaulniers added a comment. - rebase, format Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D137113/new/ https://reviews.llvm.org/D137113 Files: clang/lib/CodeGen/CGStmt.cpp Index: clang/

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2023-01-10 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 487929. nickdesaulniers added a comment. - rebase, format Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136497/new/ https://reviews.llvm.org/D136497 Files: clang/docs/LanguageExtensions.rst clang/d

[PATCH] D140508: [clang] fix -Wuninitialized for asm goto outputs on indirect edges.

2023-01-10 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 487931. nickdesaulniers added a comment. - rebase, format Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D140508/new/ https://reviews.llvm.org/D140508 Files: clang/lib/Analysis/UninitializedValues.cpp

[PATCH] D141451: [clang] report inlining decisions with -Wattribute-{warning|error}

2023-01-10 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. Herald added subscribers: jdoerfert, hiraditya. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commits. Due to inlining, descovering which specifi

[PATCH] D141451: [clang] report inlining decisions with -Wattribute-{warning|error}

2023-01-11 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 488310. nickdesaulniers added a comment. - update optimize test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D141451/new/ https://reviews.llvm.org/D141451 Files: clang/include/clang/Basic/DiagnosticF

[PATCH] D136841: [LoongArch] Support inline asm operand modifier 'z'

2022-11-02 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D136841#3893956 , @xen0n wrote: > Inching closer to ClangBuiltLinux on LoongArch it seems! Cool! Stay in touch when this is closer to working and we'll wire up support in CI to keep the build green. Repository: rG

[PATCH] D137317: [X86][CET] Add Diags for targets pre to i686

2022-11-03 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. Seems fine, though looking at `llvm::X86::CPUKind`, why do you choose `llvm::X86::CK_PentiumPro` as the lower bounds? Surely `llvm::X86::CK_Pentium2` doesn't support CET? Do

[PATCH] D137317: [X86][CET] Add Diags for targets pre to i686

2022-11-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D137317#3905654 , @craig.topper wrote: > In D137317#3905643 , > @nickdesaulniers wrote: > >> Seems fine, though looking at `llvm::X86::CPUKind`, why do you choose >> `llvm::X

[PATCH] D135488: [codegen] Display stack layouts in console

2022-11-15 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Can we add a `Note` diagnostic when we emit a `-Wframe-larger-than=` that alludes to re-running with `-mllvm -print-stack-frame` to get additional info? We should update the release notes of clang to mention this feature, too. Repository: rG LLVM Github Monor

[PATCH] D135488: [codegen] Display stack layouts in console

2022-11-15 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D135488#3928559 , @arsenm wrote: > In D135488#3928557 , > @nickdesaulniers wrote: > >> Can we add a `Note` diagnostic when we emit a `-Wframe-larger-than=` that >> alludes to

[PATCH] D135488: [codegen] Display stack layouts in console

2022-11-15 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D135488#3928567 , @nickdesaulniers wrote: > In D135488#3928559 , @arsenm wrote: > >> In D135488#3928557 , >> @nickdesaulniers wrote:

[PATCH] D135488: [codegen] Display stack layouts in console

2022-11-15 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D135488#3928831 , @dblaikie wrote: > Any chance we could ... emit it as part of the > frame-larger-than/warn-stack-size diagnostic? This pass prints a TON of (helpful) information...we have a lot of `-Wframe-larger-t

[PATCH] D138078: [CodeGenPrepare] split critical indirect edges from callbr w/ outputs

2022-11-15 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: void, jyknight, efriedma, craig.topper. Herald added subscribers: StephenFan, jdoerfert, pengfei, hiraditya. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added projects: clang, LLVM. He

[PATCH] D138078: [CodeGenPrepare] split critical indirect edges from callbr w/ outputs

2022-11-15 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 475634. nickdesaulniers added a comment. - typo, iwyu Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D138078/new/ https://reviews.llvm.org/D138078 Files: clang/docs/ReleaseNotes.rst llvm/docs/LangRef

[PATCH] D138078: [CodeGenPrepare] split critical indirect edges from callbr w/ outputs

2022-11-15 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 475635. nickdesaulniers added a comment. - another typo in release notes Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D138078/new/ https://reviews.llvm.org/D138078 Files: clang/docs/ReleaseNotes.rst

[PATCH] D138078: [CodeGenPrepare] split critical indirect edges from callbr w/ outputs

2022-11-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers planned changes to this revision. nickdesaulniers added a comment. > the question "when is the best time to split critical edges" is perhaps > important to consider. In D138078#3929590 , @efriedma wrote: > You can't put transforms that

[PATCH] D138078: [CodeGenPrepare] split critical indirect edges from callbr w/ outputs

2022-11-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. > in SelectionDAGBuilder::visitCallBr So the issue I hit immediate is that the ValueMap SelectionDAG has maps the indirect destination BB to the original MBB; I can't split the edge and have the CallBrInst lower correctly to refer to the synthesized MBB. I thin

[PATCH] D138078: [CodeGenPrepare] split critical indirect edges from callbr w/ outputs

2022-11-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D138078#3931247 , @nickdesaulniers wrote: > It looks like `indirectbr-expand` _is_ enabled at `-O0` and is necessary for > correctness IIUC. Thoughts on moving this there, and maybe renaming the pass > to `indirectb

[PATCH] D138078: [CodeGenPrepare] split critical indirect edges from callbr w/ outputs

2022-11-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D138078#3931843 , @arsenm wrote: > To me it sounds like the kind of issue we deal with in FinalizeISel to hack > around dag limitations I think it would be MUCH better to do this work BEFORE ISEL, otherwise in Finali

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2023-01-24 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 491857. nickdesaulniers marked 3 inline comments as done. nickdesaulniers added a comment. - use densemap, update release note, use !empty rather than size as per @void Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://review

<    4   5   6   7   8   9   10   11   12   13   >