[PATCH] D76297: [clang][AArch64] readd support for 'p' inline asm constraint

2020-03-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/CodeGen/inline-asm-p-constraint.c:1 +// RUN: %clang_cc1 -emit-llvm %s -o - -triple aarch64-linux-gnu | FileCheck %s +void foo(void* ptr) { Does this need `REQUIRES: aarch64-registered-target`? Reposi

[PATCH] D76297: [clang][AArch64] readd support for 'p' inline asm constraint

2020-03-17 Thread Nick Desaulniers via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG5d90f886bc02: [clang][AArch64] readd support for 'p' inline asm constraint (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76297

[PATCH] D73852: [clang] detect switch fallthrough marked by a comment (PR43465)

2020-02-12 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Doesn't GCC also support multiple different levels of this warning for all kinds of different spellings? https://developers.redhat.com/blog/2017/03/10/wimplicit-fallthrough-in-gcc-7/ I have concerns about the performance of this warning. We're going to parse ev

[PATCH] D74698: [CodeGen] -pg shouldn't add "frame-pointer"="all" fn attr w/ -mfentry

2020-02-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: void, manojgupta, dberris. Herald added a project: clang. Herald added a subscriber: cfe-commits. $ clang -O2 -pg -mfentry foo.c was adding frame pointers to all functions. This was exposed via compiling the Linux kernel for

[PATCH] D74698: [CodeGen] -pg shouldn't add "frame-pointer"="all" fn attr w/ -mfentry

2020-02-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 244916. nickdesaulniers added a comment. - add test line Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74698/new/ https://reviews.llvm.org/D74698 Files: clang/lib/Driver/ToolChains/Clang.cpp clang/

[PATCH] D74698: [CodeGen] -pg shouldn't add "frame-pointer"="all" fn attr w/ -mfentry

2020-02-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D74698#1881034 , @MaskRay wrote: > When -mfentry is specified, why should frame pointers be disabled? It doesn't disable them; `-pg` was force enabling them for all functions, when in GCC does not enable them for the

[PATCH] D74698: [CodeGen] -pg shouldn't add "frame-pointer"="all" fn attr w/ -mfentry

2020-02-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 245241. nickdesaulniers added a comment. - prefer implicit-check-not, add test for -O2 vs -O0 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74698/new/ https://reviews.llvm.org/D74698 Files: clang/lib

[PATCH] D74698: [CodeGen] -pg shouldn't unconditionally add "frame-pointer"="all" fn attr w/ -mfentry

2020-02-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 245245. nickdesaulniers added a comment. - add test for explicitly re-enabling -fno-omit-frame-pointer at -O2 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74698/new/ https://reviews.llvm.org/D74698 Fi

[PATCH] D74698: [CodeGen] -pg shouldn't unconditionally add "frame-pointer"="all" fn attr w/ -mfentry

2020-02-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 245249. nickdesaulniers added a comment. - move test from clang/test/CodeGen/fentry to clang/test/Driver/mfentry Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74698/new/ https://reviews.llvm.org/D74698

[PATCH] D74698: [CodeGen] -pg shouldn't unconditionally add "frame-pointer"="all" fn attr w/ -mfentry

2020-02-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked an inline comment as done. nickdesaulniers added inline comments. Comment at: clang/test/Driver/mfentry.c:5 +// RUN: %clang -pg -mfentry -O0 -emit-llvm -S -o - %s | FileCheck -check-prefix=FP --implicit-check-not='"frame-pointer"="none"' %s +// RUN: %clang

[PATCH] D73534: [DebugInfo] Enable the debug entry values feature by default

2020-02-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. As a heads up, Linaro's ToolChain Working Group's Linux kernel CI lit up on this change. I see it's been reverted (thank you). Please cc me on the updated patch and I can help test it against the Linux kernel. Edit: Link: https://ci.linaro.org/job/tcwg_kernel-b

[PATCH] D74698: [CodeGen] -pg shouldn't unconditionally add "frame-pointer"="all" fn attr w/ -mfentry

2020-02-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 245260. nickdesaulniers added a comment. - add explicit target and spacing Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74698/new/ https://reviews.llvm.org/D74698 Files: clang/lib/Driver/ToolChains/

[PATCH] D74698: [CodeGen] -pg shouldn't unconditionally add "frame-pointer"="all" fn attr w/ -mfentry

2020-02-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 245264. nickdesaulniers added a comment. - drop -o - Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74698/new/ https://reviews.llvm.org/D74698 Files: clang/lib/Driver/ToolChains/Clang.cpp clang/test

[PATCH] D74698: [CodeGen] -pg shouldn't unconditionally add "frame-pointer"="all" fn attr w/ -mfentry

2020-02-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 245263. nickdesaulniers added a comment. - use -### -E and check for -mframe-pointer={all|none} Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74698/new/ https://reviews.llvm.org/D74698 Files: clang/l

[PATCH] D74698: [CodeGen] -pg shouldn't unconditionally add "frame-pointer"="all" fn attr w/ -mfentry

2020-02-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 245265. nickdesaulniers added a comment. - s/gnu-linux/linux-gnu/ Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74698/new/ https://reviews.llvm.org/D74698 Files: clang/lib/Driver/ToolChains/Clang.cpp

[PATCH] D74698: [Driver] -pg shouldn't unconditionally add -mframe-pointer=all w/ -mfentry

2020-02-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/Driver/mfentry.c:6 +// RUN: %clang -target x86_64-linux-gnu -pg -mfentry -O2 -fno-omit-frame-pointer -### -E %s 2>&1 | FileCheck -check-prefix=FP --implicit-check-not='"-mframe-pointer=none"' %s +// RUN: %clang -targ

[PATCH] D74698: [Driver] -pg shouldn't unconditionally add -mframe-pointer=all w/ -mfentry

2020-02-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 245274. nickdesaulniers added a comment. - drop implicit-check-nots, add check for no os target Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74698/new/ https://reviews.llvm.org/D74698 Files: clang/l

[PATCH] D74698: [Driver] -pg -mfentry should respect target specific decisions for -mframe-pointer=all

2020-02-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked an inline comment as done. nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Clang.cpp:592 + if (Args.hasArg(options::OPT_pg) && Args.hasArg(options::OPT_mfentry)) +return false; This hunk does nothing an

[PATCH] D74698: [Driver] -pg -mfentry should respect target specific decisions for -mframe-pointer=all

2020-02-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 245279. nickdesaulniers added a comment. - respect target specific frame pointer optimizations Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74698/new/ https://reviews.llvm.org/D74698 Files: clang/li

[PATCH] D74698: [Driver] -pg -mfentry should respect target specific decisions for -mframe-pointer=all

2020-02-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Ok, sorry for the excessive churn. I think this now accurately describes the logic of how this was expected to work, from the stance of GCC compatibility. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74698/new/ ht

[PATCH] D74698: [Driver] -pg -mfentry should respect target specific decisions for -mframe-pointer=all

2020-02-18 Thread Nick Desaulniers via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG8b9cb1208124: [Driver] -pg -mfentry should respect target specific decisions for -mframe… (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.

[PATCH] D72231: [Sema] Adds the pointer-to-int-cast diagnostic

2020-02-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D72231#1879347 , @rjmccall wrote: > In D72231#1878528 , @nathanchance > wrote: > > > There appear to a be semantic difference between GCC and clang with the > > current version

[PATCH] D72231: [Sema] Adds the pointer-to-int-cast diagnostic

2020-02-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D72231#1881784 , @rjmccall wrote: > In D72231#1881760 , @nickdesaulniers > wrote: > > > In D72231#1879347 , @rjmccall > > wrote: > > > >

[PATCH] D73072: [Driver][CodeGen] Support -fpatchable-function-entry=N,M where M>0

2020-01-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. LGTM, thanks for the patch! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D73072/new/ https://reviews.llvm.org/D73072 __

[PATCH] D72222: [Driver][CodeGen] Add -fpatchable-function-entry=N[,0]

2020-01-23 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D7#1836610 , @MaskRay wrote: > In D7#1836409 , @peter.smith > wrote: > > > Although this particular commit will not be at fault, it is the option that > > enables the fe

[PATCH] D72222: [Driver][CodeGen] Add -fpatchable-function-entry=N[,0]

2020-01-23 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D7#1836687 , @MaskRay wrote: > (I really dislike how the feature was developed on the GCC side. Yet another > Linux-kernel specific GCC option when there are already 4 existing options > for the same feature) May

[PATCH] D72222: [Driver][CodeGen] Add -fpatchable-function-entry=N[,0]

2020-01-23 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D7#1837184 , @MaskRay wrote: > @peter.smith The build was smooth. Do I need other options to reproduce? I was able to reproduce: $ git clone --depth 1 git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-ne

[PATCH] D72222: [Driver][CodeGen] Add -fpatchable-function-entry=N[,0]

2020-01-23 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D7#1837116 , @MaskRay wrote: > along with -mfentry, -mhotpatch (SystemZ specific), -mnop-mcount (x86, > SystemZ, -fno-pie specific), -mrecord-mcount (used to retire > `scripts/recordmcount.{pl,c}`). This is a use

[PATCH] D73319: Add extension 'gnu_asm_goto_with_outputs'

2020-01-27 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Great idea; thanks for the patch! Needs documentation. :) Comment at: clang/test/Parser/asm-goto-with-outputs.c:7 +#error Extension 'gnu_asm_goto_with_outputs' should be available by default +#endif + probably don't need a bunch

[PATCH] D73319: Add extension 'gnu_asm_goto_with_outputs'

2020-01-27 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D73319#1842951 , @void wrote: > In D73319#1842900 , @nickdesaulniers > wrote: > > > Great idea; thanks for the patch! Needs documentation. :) > > > I can't find a place for docum

[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. This

[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] 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 C

[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] 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 clang

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

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

[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 &II : Inputs) { +CmdArgs.push_back(II.getFilename()); +StringRef BaseInput = StringRef(II.getBaseInput()); +types::ID InputT

[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] 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 >> https://github.com/llvm/llvm-project/blob/fb8d894f23c5e805f0c87d89fb9d6c0eed3a0e72/compiler-rt/lib/ubsan

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

[PATCH] D146466: [clang] diagnose function fallthrough

2023-03-23 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D146466#4217487 , @efriedma wrote: > The problem with a change like that is that it's not clear what the > underlying semantic model is. If we add a flag that says "try to generate > code that matches Linux kernel de

[PATCH] D146827: [diagtool] explain that yellow is used to denote disabled-by-default warnings

2023-03-24 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. This is already implied, but let's just be explicit about it. Repository: rG LLVM Github Monorepo https

[PATCH] D146827: [diagtool] explain that yellow is used to denote disabled-by-default warnings

2023-03-24 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/tools/diagtool/TreeView.cpp:130-131 << " = enabled by default"; +out << '\n' +<< Colors::YELLOW << "YELLOW" << Colors::RESET +<< " = disabled by default"; it was clang-format, I

[PATCH] D146827: [diagtool] explain that yellow is used to denote disabled-by-default warnings

2023-03-27 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 rG9ea912fe978d: [diagtool] explain that yellow is used to denote disabled-by-default warnings (authored by nickdesaulniers). Repository: rG LLVM Git

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

2023-03-27 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 &II : Inputs) { +CmdArgs.push_back(II.getFilename()); +StringRef BaseInput = StringRef(II.getBaseInput()); +types::ID InputT

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

2023-03-28 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D145726#4225082 , @garvitgupta08 wrote: > I do not have the commit access, can you commit on my behalf @nickdesaulniers Sure thing; I'll test it out with some Linux kernel builds, too. I'll try to get that done toda

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

2023-03-28 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. @garvitgupta08 what's your email address so that I may attribute your authorship correctly when committing on your behalf? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D145726/new/ https://reviews.llvm.org/D145726 __

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

2023-03-28 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers requested changes to this revision. nickdesaulniers added inline comments. This revision now requires changes to proceed. Comment at: clang/lib/Driver/ToolChains/Gnu.cpp:980-981 +StringRef BaseInput = StringRef(II.getBaseInput()); +types::ID InputType = ty

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

[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: clang/test/CodeGen/inline-

[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] 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. Otherwis

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

[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] 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: clang/test/Sema/inline-asm

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

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

[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"(&t)`. Repository: rG LLVM Github Monor

[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: clang/test/CodeGen/inline-

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

[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: clang/test/CodeGen/inline-asm-p-cons

[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: clang/lib/Basic/TargetIn

[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: clang/test/Sema/inline-asm-va

[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: clang/lib/Basic/TargetInfo.cp

[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] 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#4173368 , @nickdesaulniers wrote: > Looking at why the kernel ever used it, it looks like: > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v6.3-rc1&id=97b67ae559947f1e208439a1bf6a

[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: >> https://git.kernel.or

[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] 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" could

[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] 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 https://reviews.llv

[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 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] 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 cal

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

[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: clang/include/clang/Basic/DiagnosticFrontendKi

[PATCH] D151587: [clang][ConstantEmitter] have tryEmitPrivate[ForVarInit] try ConstExprEmitter fast-path first

2023-06-23 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CGExprConstant.cpp:1279 + if (isa(E)) +return nullptr; + efriedma wrote: > nickdesaulniers wrote: > > efriedma wrote: > > > efriedma wrote: > > > > This needs a comment explaining w

[PATCH] D151587: [clang][ConstantEmitter] have tryEmitPrivate[ForVarInit] try ConstExprEmitter fast-path first

2023-06-23 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CGExprConstant.cpp:1279 + if (isa(E)) +return nullptr; + efriedma wrote: > nickdesaulniers wrote: > > efriedma wrote: > > > nickdesaulniers wrote: > > > > efriedma wrote: > > > > >

[PATCH] D151587: [clang][ConstantEmitter] have tryEmitPrivate[ForVarInit] try ConstExprEmitter fast-path first

2023-06-23 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 534090. nickdesaulniers added a comment. - test for RValue and EvalMode in LValueExprEvaluator::VisitMaterializeTemporaryExpr rather than Visit MTE's in VisitImplicitValueInitExpr. - reformat Repository: rG LLVM Github Monorepo CHANGES SINCE LAS

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

2023-03-29 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Gnu.cpp:980-981 +StringRef BaseInput = StringRef(II.getBaseInput()); +types::ID InputType = types::lookupTypeForExtension( +llvm::sys::path::extension(BaseInput).drop_front()); +if

[PATCH] D146269: MIPS: allow o32 abi with 64bit CPU and 64 abi with 32bit triple

2023-04-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. This came up in https://lore.kernel.org/llvm/ebe3e940-b8ee-4682-a1f6-1ccf98eac...@flygoat.com/ (follow up thread, FWIW: https://lore.kernel.org/llvm/20230407102721.14814-1-jiaxun.y...@flygoat.com/) CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146269/new

[PATCH] D146269: MIPS: allow o32 abi with 64bit CPU and 64 abi with 32bit triple

2023-04-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D146269#4239702 , @wzssyqa wrote: > ping @maskray is offline until Tuesday April 11. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146269/new/ https://reviews.llvm.org/D146269 __

[PATCH] D147714: [Attr] Introduce [[clang::nonportable_musttail]] as less strict version of [[clang::musttail]]

2023-04-07 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. In D147714#4249274 , @efriedma wrote: > Any thoughts on diagnostics here? If I'm not mistaken, with this patch, if > you

[PATCH] D147714: [Attr] Introduce [[clang::nonportable_musttail]] as less strict version of [[clang::musttail]]

2023-04-10 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D147714#4253247 , @xbolva00 wrote: >>> I'm curious if folks have pursued @efriedma 's suggestion #2 from >>> https://github.com/llvm/llvm-project/issues/54964#issuecomment-1101612886? > > This is something we mentioned

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

2023-04-10 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 512230. nickdesaulniers added a comment. - rebase, in response to https://discourse.llvm.org/t/rfc-improving-clangs-middle-and-back-end-diagnostics/69261/11?u=nickdesaulniers Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https:/

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

2023-04-12 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked an inline comment as done. nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CodeGenAction.cpp:860 + + Diags.Report(diag::note_fe_backend_in) << llvm::demangle(D.getCaller().str()); + erichkeane wrote: > Could we instea

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

2023-04-12 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D141451#4258031 , @aaron.ballman wrote: > Have you checked to see how the diagnostics work in practice on deep inlining > stacks? If it's usually only 1-2 extra notes, that's probably not going to > overwhelm anyone.

[PATCH] D148181: [Demangle] make llvm::demangle take a StringRef; NFC

2023-04-12 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: erichkeane, MaskRay. Herald added subscribers: pmatos, asb, hiraditya, arichardson, sbc100, emaste. Herald added a reviewer: jhenderson. Herald added projects: lld-macho, All. Herald added a reviewer: lld-macho. nickdesaulniers

[PATCH] D148181: [Demangle] make llvm::demangle take a StringRef; NFC

2023-04-12 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. There's a few more callsites I'd like to clean up, tomorrow: - llvm/tools/llvm-objdump/llvm-objdump.cpp - llvm/tools/llvm-objdump/XCOFFDump.cpp Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D148181/new/ https://revi

[PATCH] D148181: [Demangle] make llvm::demangle take a StringRef; NFC

2023-04-13 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/Demangle/Demangle.cpp:31 std::string Result; - const char *S = MangledName.c_str(); + std::string Copy = MangledName.str(); + const char *S = Copy.data(); erichkeane wrote: > `std::string` is impli

[PATCH] D148181: [Demangle] make llvm::demangle take a StringRef; NFC

2023-04-13 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/Demangle/Demangle.cpp:31 std::string Result; - const char *S = MangledName.c_str(); + std::string Copy = MangledName.str(); + const char *S = Copy.data(); nickdesaulniers wrote: > erichkeane wrote:

[PATCH] D148181: [Demangle] make llvm::demangle take a StringRef; NFC

2023-04-13 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/Demangle/Demangle.cpp:31 std::string Result; - const char *S = MangledName.c_str(); + std::string Copy = MangledName.str(); + const char *S = Copy.data(); erichkeane wrote: > nickdesaulniers wrote:

[PATCH] D148181: [Demangle] make llvm::demangle take a StringRef; NFC

2023-04-14 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers abandoned this revision. nickdesaulniers added a comment. Just going to rip out llvm::StringView. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D148181/new/ https://reviews.llvm.org/D148181 __

[PATCH] D148387: remove Demangle/StringView.h

2023-05-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 523923. nickdesaulniers added a comment. - rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D148387/new/ https://reviews.llvm.org/D148387 Files: clang/docs/tools/clang-formatted-files.txt libcxx

[PATCH] D150892: [clang][ExprConstant] fix __builtin_object_size for flexible array members

2023-05-22 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 524359. nickdesaulniers added a comment. - rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150892/new/ https://reviews.llvm.org/D150892 Files: clang/docs/ReleaseNotes.rst clang/lib/AST/ExprCon

[PATCH] D150892: [clang][ExprConstant] fix __builtin_object_size for flexible array members

2023-05-22 Thread Nick Desaulniers via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG57c5c1ab2a18: [clang][ExprConstant] fix __builtin_object_size for flexible array members (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.l

[PATCH] D150892: [clang][ExprConstant] fix __builtin_object_size for flexible array members

2023-05-22 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/AST/ExprConstant.cpp:11740 + LVal.getLValueBase().dyn_cast()); + Result += VD->getFlexibleArrayInitChars(Info.Ctx); +} efriedma wrote: > nickdesaulniers wrote: > > nickdesaulniers wrot

<    8   9   10   11   12   13   14   15   16   >