[PATCH] D146466: [clang] diagnose function fallthrough

2023-03-23 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D146466#4217363 , @efriedma wrote: > There are limits to how much we can do by just changing the code clang > generates... but the two particular cases you mention probably could be > "fixed" by messing with the IR

[PATCH] D146466: [clang] diagnose function fallthrough

2023-03-23 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D146466#4214770 , @efriedma wrote: >> Note how __ubsan_handle_out_of_bounds is literally marked RECOVERABLE in >>

[PATCH] D146466: [clang] diagnose function fallthrough

2023-03-22 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D146466#4214148 , @dblaikie wrote: > In D146466#4213814 , > @nickdesaulniers wrote: > >> In D146466#4207915 , @efriedma >> wrote: >>

[PATCH] D145726: Fix assembler error when -g and -gdwarf-* is passed with -fno-integrated-as.

2023-03-22 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Gnu.cpp:976-985 + bool IsInputTyAsm = false; + for (const auto : Inputs) { +CmdArgs.push_back(II.getFilename()); +StringRef BaseInput = StringRef(II.getBaseInput()); +types::ID

[PATCH] D146466: [clang] diagnose function fallthrough

2023-03-22 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D146466#4207915 , @efriedma wrote: > I'm concerned about the potential for false positives: > > - If a user doesn't mark a function noreturn, but it doesn't actually ever > return. Ok, but a user //can// fix that in

[PATCH] D146466: [clang] diagnose function fallthrough

2023-03-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/test/CodeGen/AArch64/function-fallthrough.ll:7 +entry: + unreachable +} TODO: add test that the final MBB is a call to a noreturn function followed by unreachable Repository: rG LLVM Github Monorepo

[PATCH] D146466: [clang] diagnose function fallthrough

2023-03-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 506760. nickdesaulniers added a comment. - git clang-format HEAD~ Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146466/new/ https://reviews.llvm.org/D146466 Files: clang/docs/ReleaseNotes.rst

[PATCH] D146466: [clang] diagnose function fallthrough

2023-03-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. Herald added a subscriber: hiraditya. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commits. Debugging functions that have fallen through to the

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

2023-03-15 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D141451#4179674 , @nickdesaulniers wrote: > Will work on that RFC though! RFC (PTAL): https://discourse.llvm.org/t/rfc-improving-clangs-middle-and-back-end-diagnostics/69261 Repository: rG LLVM Github Monorepo

[PATCH] D145726: Fix assembler error when -g and -gdwarf-* is passed with -fno-integrated-as.

2023-03-14 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Gnu.cpp:978-986 + if (Arg *A = Args.getLastArg(options::OPT_g_Flag, options::OPT_gN_Group, + options::OPT_gdwarf_2, options::OPT_gdwarf_3, +

[PATCH] D145726: Fix assembler error when -g and -gdwarf-* is passed with -fno-integrated-as.

2023-03-14 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. The description needs to be rewritten to elucidate that this is purely to support old versions of the GNU assembler still in use by various Linux LTS distros.

[PATCH] D145994: WIP

2023-03-13 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 504867. nickdesaulniers added a comment. - redrop hunk Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D145994/new/ https://reviews.llvm.org/D145994 Files:

[PATCH] D145994: WIP

2023-03-13 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 504866. nickdesaulniers added a comment. - drop hunk Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D145994/new/ https://reviews.llvm.org/D145994 Files: clang/include/clang/Basic/CodeGenOptions.def

[PATCH] D145994: WIP

2023-03-13 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 504865. nickdesaulniers edited the summary of this revision. nickdesaulniers added a comment. - add link Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D145994/new/ https://reviews.llvm.org/D145994

[PATCH] D145994: WIP

2023-03-13 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. Herald added a subscriber: hiraditya. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commits. Rather than have a "srcloc" associated with each

[PATCH] D145726: Fix assembler error when -g and -gdwarf-* is passed with -fno-integrated-as.

2023-03-13 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Gnu.cpp:978-986 + if (Arg *A = Args.getLastArg(options::OPT_g_Flag, options::OPT_gN_Group, + options::OPT_gdwarf_2, options::OPT_gdwarf_3, +

[PATCH] D145726: Fix assembler error when -g and -gdwarf-* is passed with -fno-integrated-as.

2023-03-13 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D145726#4190341 , @garvitgupta08 wrote: > In D145726#4190316 , > @nickdesaulniers wrote: > >> Isn't this only an issue with ancient versions of GNU as? Older than 2.16? > > I

[PATCH] D145726: Fix assembler error when -g and -gdwarf-* is passed with -fno-integrated-as.

2023-03-13 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Rather than create new test files, shouldn't this modify the same tests modified in D136309 and D136707 ? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D145726: Fix assembler error when -g and -gdwarf-* is passed with -fno-integrated-as.

2023-03-13 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Isn't this only an issue with ancient versions of GNU as? Older than 2.16? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D145726/new/ https://reviews.llvm.org/D145726 ___

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

2023-03-08 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D141451#4100432 , @dblaikie wrote: > I guess my only other question (worth mentioning in the RFC, > perhaps)/direction would be that any of these "things that are expensive but > make backend diagnostics better"

[PATCH] D145416: [clang] model 'p' inline asm constraint as reading memory

2023-03-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. https://lore.kernel.org/lkml/alpine.LFD.2.01.0908011214330.3304@localhost.localdomain/ has historical context around the introduction of "p" in the kernel. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D145416/new/

[PATCH] D145416: [clang] model 'p' inline asm constraint as reading memory

2023-03-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D145416#4173385 , @nickdesaulniers wrote: > In D145416#4173368 , > @nickdesaulniers wrote: > >> Looking at why the kernel ever used it, it looks like: >>

[PATCH] D145416: [clang] model 'p' inline asm constraint as reading memory

2023-03-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D145416#4173368 , @nickdesaulniers wrote: > Looking at why the kernel ever used it, it looks like: >

[PATCH] D145416: [clang] model 'p' inline asm constraint as reading memory

2023-03-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D145416#4173258 , @jyknight wrote: >> ā€˜pā€™ in the constraint must be accompanied by address_operand as the >> predicate in the match_operand. This predicate interprets the mode specified >> in the match_operand as the

[PATCH] D145416: [clang] model 'p' inline asm constraint as reading memory

2023-03-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D145416#4173250 , @jyknight wrote: > It looks to me from GCC that constraint 'p' is intended to be used > internally, not for inline-asm. I question whether the kernel should be using > it, and whether we should even

[PATCH] D145430: [clang] accept inline asm 'p' constraint on outputs

2023-03-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 502822. nickdesaulniers added a comment. - rebase, additional unit test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D145430/new/ https://reviews.llvm.org/D145430 Files:

[PATCH] D145429: add test case

2023-03-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 502821. nickdesaulniers added a comment. - rebase, additional unit test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D145429/new/ https://reviews.llvm.org/D145429 Files:

[PATCH] D145416: [clang] model 'p' inline asm constraint as reading memory

2023-03-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 502820. nickdesaulniers added a comment. - add test additional case for Sema Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D145416/new/ https://reviews.llvm.org/D145416 Files:

[PATCH] D145415: add test case

2023-03-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 502819. nickdesaulniers added a comment. - update commit message Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D145415/new/ https://reviews.llvm.org/D145415 Files:

[PATCH] D145436: add test case

2023-03-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers abandoned this revision. nickdesaulniers added a comment. duplicate Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D145436/new/ https://reviews.llvm.org/D145436 ___ cfe-commits mailing

[PATCH] D145436: add test case

2023-03-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. Herald added a project: All. nickdesaulniers 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/D145436 Files:

[PATCH] D145416: [clang] model 'p' inline asm constraint as reading memory

2023-03-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers planned changes to this revision. nickdesaulniers added inline comments. Comment at: clang/test/Sema/inline-asm-validate.c:9 + // inputs. + asm (""::"p"(t), "p"(p)); } I should add a test case for `"p"()`. Repository: rG LLVM Github

[PATCH] D145416: [clang] model 'p' inline asm constraint as reading memory

2023-03-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Basic/TargetInfo.cpp:747-748 break; case 'g': // general register, memory operand or immediate integer. case 'X': // any operand. Info.setAllowsRegister(); nickdesaulniers

[PATCH] D145430: [clang] accept inline asm 'p' constraint on outputs

2023-03-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. GCC allows this; we reject it. Link: https://reviews.llvm.org/D145416#inline-1404524 Repository: rG

[PATCH] D145429: add test case

2023-03-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. Herald added a project: All. nickdesaulniers 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/D145429 Files:

[PATCH] D145416: [clang] model 'p' inline asm constraint as reading memory

2023-03-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Basic/TargetInfo.cpp:747-748 break; case 'g': // general register, memory operand or immediate integer. case 'X': // any operand. Info.setAllowsRegister(); I wonder if we should

[PATCH] D145416: [clang] model 'p' inline asm constraint as reading memory

2023-03-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 502781. nickdesaulniers added a comment. - add sema test to validate 'p' inputs as per @efriedma Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D145416/new/ https://reviews.llvm.org/D145416 Files:

[PATCH] D145416: [clang] model 'p' inline asm constraint as reading memory

2023-03-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers planned changes to this revision. nickdesaulniers added a comment. In D145416#4172799 , @efriedma wrote: > I think this is going to change what inputs Sema will accept for "p". If > that's intentional, please add test coverage.

[PATCH] D145416: [clang] model 'p' inline asm constraint as reading memory

2023-03-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. GCC doesn't CSE inline asm when 'p' is used on inputs, neither should clang. In order to do so, we must not

[PATCH] D145415: add test case

2023-03-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. Herald added a project: All. nickdesaulniers 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/D145415 Files:

[PATCH] D144967: [PowerPC] Recognize long CPU name for -mtune in Clang

2023-02-28 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 patch! Comment at: clang/lib/Driver/ToolChains/Arch/PPC.cpp:37 -/// getPPCTargetCPU - Get the (LLVM) name of the PowerPC cpu we are

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

2023-02-16 Thread Nick Desaulniers via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGaf6656338db3: [clang] fix -Wuninitialized for asm goto outputs on indirect edges. (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D143205: [clang] add __has_extension(gnu_asm_goto_with_outputs_full)

2023-02-16 Thread Nick Desaulniers via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG54186d33c3a0: [clang] add __has_extension(gnu_asm_goto_with_outputs_full) (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

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

2023-02-16 Thread Nick Desaulniers via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG329ef60f3e21: [Clang] support for outputs along indirect edges of asm goto (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

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

2023-02-16 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 rGb1bc723dfe97: [Clang] refactor CodeGenFunction::EmitAsmStmt NFC (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SINCE

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

2023-02-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 498209. nickdesaulniers marked an inline comment as done. nickdesaulniers added a comment. - fix bugprone-argument-comment as per @shafik Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D137113/new/

[PATCH] D143205: [clang] add __has_extension(gnu_asm_goto_with_outputs_full)

2023-02-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 498159. nickdesaulniers added a comment. - final rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D143205/new/ https://reviews.llvm.org/D143205 Files: clang/docs/LanguageExtensions.rst

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

2023-02-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 498158. nickdesaulniers added a comment. - final rebase 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] D136497: [Clang] support for outputs along indirect edges of asm goto

2023-02-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 498157. nickdesaulniers added a comment. - final rebase 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

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

2023-02-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 498156. nickdesaulniers added a comment. - final 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:

[PATCH] D142609: [Clang] Fix -Wconstant-logical-operand when LHS is a constant

2023-02-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/SemaCXX/expressions.cpp:146-148 #define Y2 2 bool r2 = X || Y2; // expected-warning {{use of logical '||' with constant operand}} \ // expected-note {{use '|' for a bitwise operation}}

[PATCH] D142609: [Clang] Fix -Wconstant-logical-operand when LHS is a constant

2023-02-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Hmm...looking at some of the commits to the related code, it might be very intentional that we don't warn symmetrically: 938533db602b32ab435078e723b656ac6e779a1b e54ff6cc3e479523b71e4c7eb4bd13707d84de0f Comment at:

[PATCH] D142609: [Clang] Fix -Wconstant-logical-operand when LHS is a constant

2023-02-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. I did kernel builds of x86_64 and aarch64 defconfigs. This found new instance: https://github.com/ClangBuiltLinux/linux/issues/1806 which looks like something we can fix in the kernel sources. Our CI will probably find more instances once this lands, but I'm

[PATCH] D143300: [randstruct] Don't allow implicit forward decl to stop struct randomization

2023-02-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers accepted this revision. nickdesaulniers added a comment. Thanks for the patch! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D143300/new/ https://reviews.llvm.org/D143300 ___ cfe-commits

[PATCH] D143300: [randstruct] Don't allow implicit forward decl to stop struct randomization

2023-02-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/CodeGen/init-randomized-struct-fwd-decl.c:2 +// RUN: %clang_cc1 -triple=x86_64-unknown-linux -emit-llvm -frandomize-layout-seed=1234567890abcdef < %s | FileCheck %s +// RUN: %clang_cc1 -triple=x86_64-unknown-linux

[PATCH] D143300: [randstruct] Don't allow implicit forward decl to stop struct randomization

2023-02-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Sema/SemaDecl.cpp:18891 +// incomplete definition. +if (const auto *RD = dyn_cast(D)) + return !RD->isCompleteDefinition(); nickdesaulniers wrote: > void wrote: > >

[PATCH] D143300: [randstruct] Don't allow implicit forward decl to stop struct randomization

2023-02-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Sema/SemaDecl.cpp:18891 +// incomplete definition. +if (const auto *RD = dyn_cast(D)) + return !RD->isCompleteDefinition(); void wrote: > nickdesaulniers wrote: > > what about

[PATCH] D143205: [clang] add __has_extension(gnu_asm_goto_with_outputs_full)

2023-02-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 495178. nickdesaulniers added a comment. - rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D143205/new/ https://reviews.llvm.org/D143205 Files: clang/docs/LanguageExtensions.rst

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

2023-02-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 495176. nickdesaulniers added a comment. - rebase 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] D136497: [Clang] support for outputs along indirect edges of asm goto

2023-02-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 495175. nickdesaulniers added a comment. - rebase 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

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

2023-02-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 495174. 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:

[PATCH] D142609: [Clang] Fix -Wconstant-logical-operand when LHS is a constant

2023-02-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Sema/SemaExpr.cpp:13583 +// bitwise one. +void Sema::diagnoseLogicalInsteadOfBitwise(ExprResult , ExprResult , SourceLocation Loc, Instead of `LHS` and

[PATCH] D143300: [randstruct] Don't allow implicit forward decl to stop struct randomization

2023-02-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D143300#4104469 , @MaskRay wrote: > `clang/test/CodeGen/init-randomized-struct-fwd-decl.c` passes without this > patch. Is it correct? Perhaps related to my comment about RecordDecl vs EnumDecl... or the tests might

[PATCH] D143205: [clang] add __has_extension(gnu_asm_goto_with_outputs_full)

2023-02-02 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/docs/LanguageExtensions.rst:1588 + +Prior to clang-16, the output may only be used safely when the indirect +branches are not taken. Query for this difference with err...clang-17 Repository: rG LLVM

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

2023-02-02 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked 2 inline comments as done. nickdesaulniers added inline comments. Comment at: clang/docs/LanguageExtensions.rst:1584 +Outputs may be used along any branches from the ``asm goto`` whether the +branches are taken or not. void wrote: >

[PATCH] D143205: [clang] add __has_extension(gnu_asm_goto_with_outputs_full)

2023-02-02 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Also move the line about __has_extension(gnu_asm_goto_with_outputs) so that it is more generally about asm

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

2023-01-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D141451#4064298 , @dblaikie wrote: > Right - I was thinking more, as above, about directly using the existing > metadata generation (if it's too expensive to enable by default, then > possibly under an off-by-default

[PATCH] D142675: [clang][CGDebugInfo] emit DW_LANG_C_plus_plus_{20|17} DW_LANG_C17

2023-01-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Also noting that GCC 12.2.0 does not produce these newer `DW_AT_language` values when using -std={c17|c++17|c++20}`. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142675/new/ https://reviews.llvm.org/D142675

[PATCH] D142675: [clang][CGDebugInfo] emit DW_LANG_C_plus_plus_{20|17} DW_LANG_C17

2023-01-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers abandoned this revision. nickdesaulniers added a comment. In D142675#4084279 , @dblaikie wrote: > This was discussed in D138597 & we decided > not to implement these due to the risk of breaking existing

[PATCH] D142675: [clang][CGDebugInfo] emit DW_LANG_C_plus_plus_{20|17} DW_LANG_C17

2023-01-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: dblaikie, jcranmer-intel. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Looks like these DW_AT_language tags made it

[PATCH] D142609: [Clang] Fix -Wconstant-logical-operand when LHS is a constant

2023-01-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Thanks for the patch! In D142609#4082259 , @xgupta wrote: > WIP && TODO- Fixed test > > Failed Tests (7): > > Clang :: C/drs/dr4xx.c > Clang :: Modules/explicit-build-extra-files.cpp > Clang ::

[PATCH] D138337: Add support for kcfi-seal optimization with LTO

2023-01-25 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. ah, sorry, I think I might be conflating "kcfi-seal" with "ibt-seal?" Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D138337/new/ https://reviews.llvm.org/D138337 ___

[PATCH] D138337: Add support for kcfi-seal optimization with LTO

2023-01-25 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. > If you're referring to ibt-seal, I assume a similar optimization could be > added for BTI too. Yes, please. Does it make sense to add to this patch, or a follow up on top? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D138337: Add support for kcfi-seal optimization with LTO

2023-01-25 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. The test is for x86, does this also work for aarch64 with BTI? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D138337/new/ https://reviews.llvm.org/D138337 ___ cfe-commits

[PATCH] D138337: Add support for kcfi-seal optimization with LTO

2023-01-24 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Is https://reviews.llvm.org/D142163 a blocker for this? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D138337/new/ https://reviews.llvm.org/D138337 ___ cfe-commits

[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

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

2023-01-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D141451#4063519 , @dblaikie wrote: > In D141451#4063504 , > @nickdesaulniers wrote: > >> In D141451#4063335 , @dblaikie >> wrote: >>

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

2023-01-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D141451#4063335 , @dblaikie wrote: > In D141451#4063151 , > @nickdesaulniers wrote: > >> In D141451#4045658 , @efriedma >> wrote: >>

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

2023-01-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D141451#4045658 , @efriedma wrote: > clang has a "LocTrackingOnly" setting for debug info, which emits DILocation > info into the IR, but emits a marker into the DICompileUnit to skip emitting > the .debug_info in

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

2023-01-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 490247. nickdesaulniers added a comment. - rebase 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] D136497: [Clang] support for outputs along indirect edges of asm goto

2023-01-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 490246. nickdesaulniers added a comment. - rebase 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

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

2023-01-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 490245. 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:

[PATCH] D135488: [codegen] Add a remarks based Stack Layout Analysis pass

2023-01-12 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. @paulkirth please don't forget to update the commit description with that flag so that I don't have to read the contents of the commit to find this flag again. If you're using `arc diff` to upload the patch, the `--verbatim` flag will update the phab

[PATCH] D135488: [codegen] Add a remarks based Stack Layout Analysis pass

2023-01-12 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D135488#4049075 , @thegameg wrote: > You can easily... I'll just note that v1 of this patch IIRC was a note on the single individual instance of the `-Wframe-larger-than=` diagnostic. No additional flags for

[PATCH] D135488: [codegen] Add a remarks based Stack Layout Analysis pass

2023-01-12 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Sorry, mind adding the documentation, too? Comment at: clang/test/Frontend/stack-layout-remark.c:8 +// RUN: mkdir -p %t +// RUN: %clang_cc1 %s -emit-codegen-only -triple x86_64-unknown-linux-gnu -target-cpu corei7

[PATCH] D135488: [codegen] Add a remarks based Stack Layout Analysis pass

2023-01-12 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers accepted this revision. nickdesaulniers added a comment. In D135488#4049035 , @paulkirth wrote: > Actually if we add > > if (!isFunctionInPrintList(MF.getName())) >return false; > > we can filter by name Does name mangling

[PATCH] D135488: [codegen] Add a remarks based Stack Layout Analysis pass

2023-01-12 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/Frontend/stack-layout-remark.c:8 +// RUN: mkdir -p %t +// RUN: %clang_cc1 %s -emit-codegen-only -triple x86_64-unknown-linux-gnu -target-cpu corei7 -Rpass-analysis=stack-frame-layout -o /dev/null -O0 2>&1 |

[PATCH] D135488: [codegen] Add a remarks based Stack Layout Analysis pass

2023-01-12 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/CodeGen/StackFrameLayoutAnalysisPass.cpp:44 + +const char *PassName = "stack-frame-layout"; + Consider replacing uses of `PassName` with `DEBUG_TYPE` since they have the same value.

[PATCH] D135488: [codegen] Add a remarks based Stack Layout Analysis pass

2023-01-12 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. It would be really nice if we could limit this to a specific function somehow. Quick feedback from giving Diff 488727 a spin on the Linux kernel: via `ARCH=arm make LLVM=1 -j128 -s allyesconfig all` I found: CC

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

2023-01-11 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D141451#4045414 , @efriedma wrote: > There are two different approaches we use for getting source locations for > diagnostics coming out of the backend; either embedding clang SourceLocations > into IR, or trying to

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

2023-01-11 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/Transforms/Utils/InlineFunction.cpp:2467-2468 + +const Function *Callee = CI->getCalledFunction(); +if (Callee && (Callee->hasFnAttribute("dontcall-error") || +

[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 488371. nickdesaulniers added a comment. - mention inlined.from in LangRef Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D141451/new/ https://reviews.llvm.org/D141451 Files:

[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 488368. nickdesaulniers marked an inline comment as done. nickdesaulniers added a comment. - replace inlined-from w/ inlined.from Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D141451/new/

[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 488360. nickdesaulniers added a comment. - add tests for alwaysinline Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D141451/new/ https://reviews.llvm.org/D141451 Files:

[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 488356. nickdesaulniers edited the summary of this revision. nickdesaulniers added a comment. - remove test comment in commit message Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D141451/new/

[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 488355. nickdesaulniers added a comment. - update tests Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D141451/new/ https://reviews.llvm.org/D141451 Files:

[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 488315. nickdesaulniers added a comment. - use std::string, demangle C++ Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D141451/new/ https://reviews.llvm.org/D141451 Files:

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

[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

[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

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