[PATCH] D155342: [clang][JumpDiagnostics] ignore non-asm goto target scopes

2023-07-14 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 540584. nickdesaulniers added a comment. - rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155342/new/ https://reviews.llvm.org/D155342 Files: clang/lib/Sema/JumpDiagnostics.cpp clang/test/Sem

[PATCH] D155342: [clang][JumpDiagnostics] ignore non-asm goto target scopes

2023-07-14 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 540585. nickdesaulniers edited the summary of this revision. nickdesaulniers added a comment. - reword description Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155342/new/ https://reviews.llvm.org/D155

[PATCH] D155342: [clang][JumpDiagnostics] ignore non-asm goto target scopes

2023-07-14 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 540586. nickdesaulniers edited the summary of this revision. nickdesaulniers added a comment. - reword commit msg one more time Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155342/new/ https://reviews.

[PATCH] D155342: [clang][JumpDiagnostics] ignore non-asm goto target scopes

2023-07-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers planned changes to this revision. nickdesaulniers added a comment. In D155342#4504812 , @rjmccall wrote: > Wait, the whole point of this algorithm is that we have to do this whole > complicated linear check against every label whose addre

[PATCH] D155342: [clang][JumpDiagnostics] ignore non-asm goto target scopes

2023-07-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 541139. nickdesaulniers marked 5 inline comments as done. nickdesaulniers added a comment. This revision is now accepted and ready to land. - test just asm goto targets, as per @rjmccall (this lead to many cleanups) - add release note and test case as

[PATCH] D155342: [clang][JumpDiagnostics] ignore non-asm goto target scopes

2023-07-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/Sema/asm-goto.cpp:71 +l1:; +} cor3ntin wrote: > can you add more tests? Maybe something like that > > ```cpp > void f() { > try{ > __label__ label; > asm goto("" : : : : label); > label:

[PATCH] D155342: [clang][JumpDiagnostics] ignore non-asm goto target scopes

2023-07-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers planned changes to this revision. nickdesaulniers added inline comments. Comment at: clang/lib/Sema/JumpDiagnostics.cpp:75 SmallVector IndirectJumps; SmallVector AsmJumps; SmallVector MustTailStmts; `AsmJumps` can now be removed, too. R

[PATCH] D155342: [clang][JumpDiagnostics] ignore non-asm goto target scopes

2023-07-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 541169. nickdesaulniers added a comment. This revision is now accepted and ready to land. - remove AsmJumps Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155342/new/ https://reviews.llvm.org/D155342 Fi

[PATCH] D155342: [clang][JumpDiagnostics] ignore non-asm goto target scopes

2023-07-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers planned changes to this revision. nickdesaulniers added inline comments. Comment at: clang/lib/Sema/JumpDiagnostics.cpp:726 // Collect a single representative of every scope containing an // indirect or asm goto. For most code bases, this substantially cuts

[PATCH] D155342: [clang][JumpDiagnostics] ignore non-asm goto target scopes

2023-07-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 541173. nickdesaulniers added a comment. This revision is now accepted and ready to land. - remove stale asm goto comment Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155342/new/ https://reviews.llvm.o

[PATCH] D158730: [DebugMetadata][DwarfDebug] Don't retain local types with -fno-eliminate-unused-debug-types

2023-08-24 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Seems fine to me, but please triple check as the presubmit tests are failing. Perhaps you meant to mark this as a parent or child revision in phab with your other change, so that the presubmit builds know to apply both? See the box in the top right; Edit Related

[PATCH] D148381: [WIP][Clang] Add counted_by attribute

2023-08-29 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. I assume you plan to add some clang CodeGen tests at some point? Comment at: clang/lib/CodeGen/CGBuiltin.cpp:875-876 +if (auto *RD = DRE->getType()->getPointeeType()->getAsRecordDecl()) + for (FieldDecl *Field : RD->fields()) +

[PATCH] D159138: [clang][Sema] Fix format size estimator's handling of %o, %x, %X with alternative form

2023-08-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Mind adding tests for `%#X` and `%#o` as well, since you're changing the behavior of those, too? I think it would also be good to have explicit tests for `%o` and `%b` where the value being printed was and was not `0`. IIUC, we cannot diagnose those (unless a

[PATCH] D159138: [clang][Sema] Fix format size estimator's handling of %o, %x, %X with alternative form

2023-08-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/Sema/warn-fortify-source.c:100-102 + __builtin_snprintf(buf, 2, "%#x", n); + __builtin_snprintf(buf, 2, "%#X", n); + __builtin_snprintf(buf, 2, "%#o", n); Note that GCC -Wformat-truncation can warn

[PATCH] D152495: [Clang][SemaCXX] Add unused warning for variables declared in condition expressions

2023-08-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Here's a more blatant regression caused by this patch. https://godbolt.org/z/q19Ge64G3 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D152495/new/ https://reviews.llvm.org/D152495 ___

[PATCH] D159307: [Sema] add test cases for D152495

2023-08-31 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. Ensure these don't regress the next time we reland D152495 . Link: https

[PATCH] D159307: [Sema] add test cases for D152495 NFC

2023-08-31 Thread Nick Desaulniers via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGcfa578cde031: [Sema] add test cases for D152495 NFC (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D159307/new/ https://reviews

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

2022-11-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 476530. nickdesaulniers retitled this revision from "[CodeGenPrepare] split critical indirect edges from callbr w/ outputs" to "[SelectionDAGISel] split critical indirect edges from callbr w/ outputs". nickdesaulniers edited the summary of this revisi

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

2022-11-28 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers planned changes to this revision. nickdesaulniers added inline comments. Comment at: llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp:482-483 + + for (Instruction &I : instructions(F)) { +if (auto *CBR = dyn_cast(&I)) { + // If the CallBrInst has no outp

[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#1881855 , @rjmccall wrote: > No, I understand the pattern, but they must have already done some sort of > pass over the code to make it warning-clean when they're working with a > smaller integer type. Or do th

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

2020-02-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D73534#1882136 , @djtodoro wrote: > - Address the issue with ARM `describeLoadedValue()` (thanks to @vsk, I've > reduced the test > `llvm/test/DebugInfo/MIR/ARM/dbgcallsite-noreg-is-imm-check.mir`) I'd like to help t

[PATCH] D69868: Allow "callbr" to return non-void values

2020-02-19 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. This code has now been tested on a running Linux kernel making use of the feature. I still would like @jyknight to clarify his comments, consider explicitly requesting chang

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

2020-02-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D73534#1883048 , @djtodoro wrote: > I’ve already pushed this. Please rebase on the latest commits. Ah faff707db82d7db12fcd9f7826b8741261230e63 . Coo

[PATCH] D74860: [Sema] Fix pointer-to-int-cast diagnostic for _Bool

2020-02-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Also, make sure to run `git-clang-format HEAD~` on the patch, as the linter suggests. Thanks for the patch. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74860/new/ https://reviews.llvm.org/D74860 __

[PATCH] D75383: clang: Switch C compilations to C17 by default.

2020-02-28 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added a reviewer: rsmith. Herald added subscribers: cfe-commits, s.egerton, simoncook, aheejin, dschuff. Herald added a project: clang. nickdesaulniers added a comment. My hope is that we land this with time to soak for the clang-11 release.

[PATCH] D75383: clang: Switch C compilations to C17 by default.

2020-02-28 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. My hope is that we land this with time to soak for the clang-11 release. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75383/new/ https://reviews.llvm.org/D75383 ___ cf

[PATCH] D75383: clang: Switch C compilations to C17 by default.

2020-03-02 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D75383#1899211 , @rsmith wrote: > Looks good. Please consider updating the Clang 10 release notes to indicate > that we intend to change the default in Clang 11. https://reviews.llvm.org/D75469 Repository: rG LLVM

[PATCH] D75469: Add C standard upgrade in clang-11 release note

2020-03-02 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added a reviewer: hans. Herald added a project: clang. Herald added a subscriber: cfe-commits. As per rsmith (https://reviews.llvm.org/D75383). Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D75469 Files: clang/docs/Relea

[PATCH] D75383: clang: Switch C compilations to C17 by default.

2020-03-02 Thread Nick Desaulniers via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG91cdbd521a38: clang: Switch C compilations to C17 by default. (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75383/new/ https:

[PATCH] D75469: Add C standard upgrade in clang-11 release note

2020-03-02 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 247682. nickdesaulniers added a comment. - s/following/next/ Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75469/new/ https://reviews.llvm.org/D75469 Files: clang/docs/ReleaseNotes.rst Index: clang

[PATCH] D75469: Add C standard upgrade in clang-11 release note

2020-03-02 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. pushed: https://github.com/llvm/llvm-project/commit/001c8aac80e3924c33a4cc644cca58401c72fe6b Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75469/new/ https://reviews.llvm.org/D75469 _

[PATCH] D75563: [clang][Parse] properly parse asm-qualifiers, asm inline

2020-03-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. I still plan to add CodeGen support for `asm inline` before the next release, which should be as simple as emitting an additional `inlinehint`, but I'd like to save that for a follow up patch on top of this. Repository: rG LLVM Github Monorepo CHANGES SINCE

[PATCH] D75563: [clang][Parse] properly parse asm-qualifiers, asm inline

2020-03-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added a reviewer: aaron.ballman. Herald added a project: clang. Herald added a subscriber: cfe-commits. nickdesaulniers added a comment. I still plan to add CodeGen support for `asm inline` before the next release, which should be as simple a

[PATCH] D75563: [clang][Parse] properly parse asm-qualifiers, asm inline

2020-03-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 248019. nickdesaulniers added a comment. - remove impossible case in ParseGNUAsmQualifierListOpt - simplify SetGNUAsmQual - fix typo in comment Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75563/new/ h

[PATCH] D75563: [clang][Parse] properly parse asm-qualifiers, asm inline

2020-03-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 248020. nickdesaulniers added a comment. - seems `arc diff` wiped out my previous changes... Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75563/new/ https://reviews.llvm.org/D75563 Files: clang/docs

[PATCH] D75563: [clang][Parse] properly parse asm-qualifiers, asm inline

2020-03-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 248027. nickdesaulniers added a comment. - make sure to initialize GNUAsmQualifiers Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75563/new/ https://reviews.llvm.org/D75563 Files: clang/docs/ReleaseN

[PATCH] D75563: [clang][Parse] properly parse asm-qualifiers, asm inline

2020-03-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/Parser/asm-qualifiers.c:20 + +void combinations(void) { + asm volatile inline(""); nathanchance wrote: > I'm probably being dense but what is intended to be tested differently > between `combinations

[PATCH] D75563: [clang][Parse] properly parse asm-qualifiers, asm inline

2020-03-04 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked 4 inline comments as done. nickdesaulniers added inline comments. Comment at: clang/test/Parser/asm-qualifiers.c:20 + +void combinations(void) { + asm volatile inline(""); nathanchance wrote: > nickdesaulniers wrote: > > nathanchance wrote

[PATCH] D75563: [clang][Parse] properly parse asm-qualifiers, asm inline

2020-03-04 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 248225. nickdesaulniers added a comment. - combine combinations into permutations test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75563/new/ https://reviews.llvm.org/D75563 Files: clang/docs/Relea

[PATCH] D75563: [clang][Parse] properly parse asm-qualifiers, asm inline

2020-03-04 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 248226. nickdesaulniers marked an inline comment as done. nickdesaulniers added a comment. - git-clang-format HEAD~ Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75563/new/ https://reviews.llvm.org/D755

[PATCH] D75563: [clang][Parse] properly parse asm-qualifiers, asm inline

2020-03-04 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked an inline comment as done. nickdesaulniers added inline comments. Comment at: clang/lib/Parse/ParseStmtAsm.cpp:746-755 ParseTypeQualifierListOpt(DS, AR_VendorAttributesParsed); // GNU asms accept, but warn, about type-qualifiers other than volatile.

[PATCH] D69925: remove redundant LLVM version from version string when setting CLANG_VENDOR

2019-11-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked an inline comment as done. nickdesaulniers added inline comments. Comment at: clang/lib/Basic/Version.cpp:132 -#ifdef CLANG_VENDOR - OS << " (based on " << BACKEND_PACKAGE_STRING << ")"; -#endif nickdesaulniers wrote: > Looks like this is

[PATCH] D69925: remove redundant LLVM version from version string when setting CLANG_VENDOR

2019-11-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked an inline comment as done. nickdesaulniers added inline comments. Comment at: clang/lib/Basic/Version.cpp:132 -#ifdef CLANG_VENDOR - OS << " (based on " << BACKEND_PACKAGE_STRING << ")"; -#endif Looks like this is the sole use of `BACKEND_

[PATCH] D69925: remove redundant LLVM version from version string when setting CLANG_VENDOR

2019-11-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: jyknight, eli.friedman, rsmith. Herald added a project: clang. Herald added a subscriber: cfe-commits. nickdesaulniers marked an inline comment as done. nickdesaulniers added inline comments. nickdesaulniers marked an inline co

[PATCH] D69925: remove redundant LLVM version from version string when setting CLANG_VENDOR

2019-11-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D69925#1737361 , @arphaman wrote: > +1, Apple's clang has an `#ifdef 0` around this code. Is that +1 in favor of the patch as is, or +1 to @eli.friedman 's comment? Repository: rG LLVM Github Monorepo CHANGES SINC

[PATCH] D69925: remove redundant LLVM version from version string when setting CLANG_VENDOR

2019-11-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Just grabbed a version string off a MBP: $ clang --version Apple LLVM version 10.0.1 (clang-1001.0.46.4) Target: x86_64-apple-darwin18.7.0 Thread model: posix InstalledDir: /Library/Developer/CommandLineTools/usr/bin So it looks like the Apple distribut

[PATCH] D69925: remove redundant LLVM version from version string when setting CLANG_VENDOR

2019-11-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Thanks for the review, leaving open for final comments, will merge tomorrow. FWIW, I think we can now purge "svn" from `BACKEND_PACKAGE_STRING` and other places in the tree. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm

[PATCH] D69925: remove redundant LLVM version from version string when setting CLANG_VENDOR

2019-11-08 Thread Nick Desaulniers via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG51adeae1c90c: remove redundant LLVM version from version string when setting CLANG_VENDOR (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.

[PATCH] D69876: Allow output constraints on "asm goto"

2019-11-11 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D69876#1741294 , @void wrote: > In D69876#1740286 , @jyknight wrote: > > > I think -Wuninitialized (UninitializedValues.cpp) should be taught how to > > detect the use of output

[PATCH] D69876: Allow output constraints on "asm goto"

2019-11-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Analysis/UninitializedValues.cpp:830 + + for (unsigned i = 0, e = as->getNumOutputs(); i != e; ++i) { +FindVarResult Var = findVar(as->getOutputExpr(i)); `GCCAsmStmt` inherits from `AsmStmt` which

[PATCH] D69876: Allow output constraints on "asm goto"

2019-11-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Analysis/UninitializedValues.cpp:831 + for (auto i = as->begin_outputs(), e = as->end_outputs(); i != e; ++i) +if (const VarDecl *VD = findVar(*i).getDecl()) + vals[VD] = Initialized; this is

[PATCH] D68101: [MC][ELF] Prevent globals with an explicit section from being mergeable

2019-12-02 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D68101#1765665 , @rjmccall wrote: > Given all that, this patch seems far too aggressive. While mergeable > sections can be useful for optimizing arbitrary code that might not use a > section, they are also extremely u

[PATCH] D68101: [MC][ELF] Prevent globals with an explicit section from being mergeable

2019-12-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Just some more thoughts after being able to sleep on it. The merge-able sections is generally handy for sections which I'm not specific about (in the added test case, the "implicit" sections). For example, if I have global const data that I don't take the addre

[PATCH] D68101: [MC][ELF] Prevent globals with an explicit section from being mergeable

2019-12-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. > But ELF allows object files to contain an arbitrary number of what I've been > calling "section units" that will be assembled into a single section in the > image. More precisely, in assembler, you can specify sections dis-jointly, but they will be rejoined w

[PATCH] D70638: [Diagnostic] add a warning which warns about misleading indentation

2019-12-04 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D70638#1768200 , @nathanchance wrote: > As an FYI, this appears to cause several false positive warnings with the > Linux kernel: > > ../drivers/video/fbdev/core/fbmem.c:665:3: warning: misleading indentation; > sta

[PATCH] D71314: Emit a warning if a variable is uninitialized in indirect ASM goto destination.

2019-12-12 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Analysis/UninitializedValues.cpp:651 + continue; +for (const auto &label : as->labels()) { + const LabelStmt *ls = label->getLabel()->getStmt(); Is this

[PATCH] D68101: [MC][ELF] Prevent globals with an explicit section from being mergeable

2019-12-13 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. More info: https://docs.oracle.com/cd/E23824_01/html/819-0690/ggdlu.html CHANGES SINCE LAST ACTION https://reviews.llvm.org/D68101/new/ https://reviews.llvm.org/D68101 ___ cfe-commits mailing list cfe-commits@list

[PATCH] D71314: Emit a warning if a variable is uninitialized in indirect ASM goto destination.

2019-12-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. strange, the below test isn't warning for me with this patch applied: $ clang -O2 foo.c -c $ cat foo.c int quux(void) { int y; asm volatile goto("ja %l1" : "=r"(y) ::: err); return y; err: return y; } Repository: rG LLVM Github Monore

[PATCH] D71314: Emit a warning if a variable is uninitialized in indirect ASM goto destination.

2019-12-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. > Use -Wuninitialized. D'oh! Comment at: clang/lib/Analysis/UninitializedValues.cpp:856 if (!as->isAsmGoto()) return; nickdesaulniers wrote: > Should we mark the vals `MayUninitialized` here, rather than below? Then I

[PATCH] D71314: Emit a warning if a variable is uninitialized in indirect ASM goto destination.

2019-12-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Analysis/UninitializedValues.cpp:856 if (!as->isAsmGoto()) return; nickdesaulniers wrote: > nickdesaulniers wrote: > > Should we mark the vals `MayUninitialized` here, rather than below? Then

[PATCH] D69876: Allow output constraints on "asm goto"

2019-12-19 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. Thinking hard about this, I think there's four cases we really need to think hard about: 1. asm redirects control flow BEFORE assigning to output. ie. int foo(vo

[PATCH] D69876: Allow output constraints on "asm goto"

2019-12-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D69876#1791663 , @void wrote: > I'm not getting the `Undefined temporary symbol` in your example (even with > optimizations): > > [morbo@fawn:llvm-project] clang -o - -S ../bug.c > `-S` is going the AsmPrinter route

[PATCH] D69876: Allow output constraints on "asm goto"

2019-12-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/CodeGen/asm-goto.c:91 + return 1; +} Thanks for adding this test. I think it doesn't test that `addr` is *clobbered* though? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION http

[PATCH] D75469: Add C standard upgrade in clang-11 release note

2020-03-05 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers abandoned this revision. nickdesaulniers added a comment. Abandoning; I've already pushed this to the right branch. I suspect phabricator doesn't watch the release brances. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75469/new/ h

[PATCH] D75563: [clang][Parse] properly parse asm-qualifiers, asm inline

2020-03-05 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Parse/ParseStmtAsm.cpp:704 + AQ = DeclSpec::AQ_goto; +else { + if (EndLoc.isValid()) aaron.ballman wrote: > I would expect a diagnostic if the unknown token is anything other than a > lef

[PATCH] D75563: [clang][Parse] properly parse asm-qualifiers, asm inline

2020-03-05 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 248603. nickdesaulniers marked 9 inline comments as done. nickdesaulniers added a comment. - address review comments, add tests for global asm statements. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75

[PATCH] D75563: [clang][Parse] properly parse asm-qualifiers, asm inline

2020-03-05 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked 2 inline comments as done and an inline comment as not done. nickdesaulniers added inline comments. Comment at: clang/lib/Parse/ParseStmtAsm.cpp:725 /// [GNU] gnu-asm-statement: -/// 'asm' type-qualifier[opt] '(' asm-argument ')' ';' +///

[PATCH] D75563: [clang][Parse] properly parse asm-qualifiers, asm inline

2020-03-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked 4 inline comments as done. nickdesaulniers added inline comments. Comment at: clang/lib/Parse/ParseStmtAsm.cpp:746-755 ParseTypeQualifierListOpt(DS, AR_VendorAttributesParsed); // GNU asms accept, but warn, about type-qualifiers other than volatile.

[PATCH] D75563: [clang][Parse] properly parse asm-qualifiers, asm inline

2020-03-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 248816. nickdesaulniers marked an inline comment as done. nickdesaulniers added a comment. Herald added subscribers: jfb, aheejin. - completely drop use of Parse::ParseTypeQualifierListOpt - move paren parsing into helper - fix up test cases for global

[PATCH] D75563: [clang][Parse] properly parse asm-qualifiers, asm inline

2020-03-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked an inline comment as done. nickdesaulniers added inline comments. Comment at: clang/include/clang/Basic/DiagnosticParseKinds.td:15 -def warn_asm_qualifier_ignored : Warning< - "ignored %0 qualifier on asm">, CatInlineAsm, InGroup; -def warn_file_asm_vola

[PATCH] D75563: [clang][Parse] properly parse asm-qualifiers, asm inline

2020-03-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 248825. nickdesaulniers added a comment. - use better error name - reorder new errors - git-clang-format HEAD~ Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75563/new/ https://reviews.llvm.org/D75563 F

[PATCH] D75563: [clang][Parse] properly parse asm-qualifiers, asm inline

2020-03-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 248827. nickdesaulniers added a comment. - add release note about change in behavior of -Wduplicate-decl-specifier Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75563/new/ https://reviews.llvm.org/D7556

[PATCH] D75563: [clang][Parse] properly parse asm-qualifiers, asm inline

2020-03-09 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers planned changes to this revision. nickdesaulniers added a comment. In D75563#1911375 , @aaron.ballman wrote: > Thank you for working on this, this LGTM! If you wanted a follow-up patch > beyond adding semantic support for the `inline` key

[PATCH] D75563: [clang][Parse] properly parse asm-qualifiers, asm inline

2020-03-09 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers planned changes to this revision. nickdesaulniers marked an inline comment as done. nickdesaulniers added inline comments. Comment at: clang/lib/Parse/Parser.cpp:1545 +Diag(Tok, diag::err_global_asm_qualifier_ignored) +<< GNUAsmQualifiers::getSpecifier

[PATCH] D75563: [clang][Parse] properly parse asm-qualifiers, asm inline

2020-03-09 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 249246. nickdesaulniers added a comment. This revision is now accepted and ready to land. - rebase, divorce from DeclSpec Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75563/new/ https://reviews.llvm.or

[PATCH] D75563: [clang][Parse] properly parse asm-qualifiers, asm inline

2020-03-09 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 249254. nickdesaulniers added a comment. This revision is now accepted and ready to land. - DRY up getting the Qualifier, and checking Tok.is Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75563/new/ htt

[PATCH] D75563: [clang][Parse] properly parse asm-qualifiers, asm inline

2020-03-09 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers planned changes to this revision. nickdesaulniers marked 3 inline comments as done. nickdesaulniers added a comment. Sorry, got a little trigger happy with the refactoring. Having a weekend to think about this more definitely helps. It's nice to avoid instantiating a whole inst

[PATCH] D75563: [clang][Parse] properly parse asm-qualifiers, asm inline

2020-03-10 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 249412. nickdesaulniers added a comment. This revision is now accepted and ready to land. - small refactorings Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75563/new/ https://reviews.llvm.org/D75563 F

[PATCH] D75850: [ARM, CDE] Generalize MVE intrinsics infrastructure to support CDE

2020-03-10 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Sema/SemaChecking.cpp:2096 + llvm::APSInt CoprocNoAP; + bool IsICE = CoprocArg->isIntegerConstantExpr(CoprocNoAP, Context); + assert(IsICE && "Coprocossor immediate is not a constant expression"); I

[PATCH] D75850: [ARM, CDE] Generalize MVE intrinsics infrastructure to support CDE

2020-03-10 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D75850#1915198 , @miyuki wrote: > Should compile without warnings now. LGTM, thanks Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75850/new/ https://reviews.llvm.org/D7

[PATCH] D75563: [clang][Parse] properly parse asm-qualifiers, asm inline

2020-03-11 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Parse/ParseStmtAsm.cpp:937 +case AQ_goto: return "goto"; +case AQ_unspecified:; + } aaron.ballman wrote: > This looks wrong to me -- it flows through to an unreachable despite being > reachabl

[PATCH] D75563: [clang][Parse] properly parse asm-qualifiers, asm inline

2020-03-11 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 249757. nickdesaulniers added a comment. - remove isUnspecified(), was partially committed from refactoring I changed my mind on Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75563/new/ https://reviews

[PATCH] D75563: [clang][Parse] properly parse asm-qualifiers, asm inline

2020-03-11 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 249754. nickdesaulniers marked 8 inline comments as done. nickdesaulniers added a comment. - address latest review comments, more refactoring Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75563/new/ htt

[PATCH] D75563: [clang][Parse] properly parse asm-qualifiers, asm inline

2020-03-11 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 249760. nickdesaulniers added a comment. - drop `auto` as type is no longer implicit Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75563/new/ https://reviews.llvm.org/D75563 Files: clang/docs/Release

[PATCH] D75563: [clang][Parse] properly parse asm-qualifiers, asm inline

2020-03-12 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 249997. nickdesaulniers marked 4 inline comments as done. nickdesaulniers added a comment. - restore order between Diag and SkipUntil Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75563/new/ https://rev

[PATCH] D76096: [clang] allow const structs to be constant expressions in initializer lists

2020-03-12 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: eli.friedman, aaron.ballman, rsmith. Herald added a project: clang. Herald added a subscriber: cfe-commits. nickdesaulniers updated this revision to Diff 250046. nickdesaulniers added a comment. nickdesaulniers marked an inline

[PATCH] D76096: [clang] allow const structs to be constant expressions in initializer lists

2020-03-12 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked an inline comment as not done. nickdesaulniers added inline comments. Comment at: clang/lib/AST/Expr.cpp:3164 + const QualType &QT = cast(this)->getDecl()->getType(); + if (QT->isStructureType() && QT.isConstQualified()) +return true;

[PATCH] D76096: [clang] allow const structs to be constant expressions in initializer lists

2020-03-12 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked an inline comment as done. nickdesaulniers added inline comments. Comment at: clang/lib/AST/Expr.cpp:3164 + const QualType &QT = cast(this)->getDecl()->getType(); + if (QT->isStructureType() && QT.isConstQualified()) +return true;

[PATCH] D76096: [clang] allow const structs to be constant expressions in initializer lists

2020-03-12 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 250046. nickdesaulniers added a comment. - add 2 missing CHECKs Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76096/new/ https://reviews.llvm.org/D76096 Files: clang/lib/AST/Expr.cpp clang/lib/Code

[PATCH] D75563: [clang][Parse] properly parse asm-qualifiers, asm inline

2020-03-12 Thread Nick Desaulniers via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG246398ece711: [clang][Parse] properly parse asm-qualifiers, asm inline (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75563/new

[PATCH] D76096: [clang] allow const structs to be constant expressions in initializer lists

2020-03-12 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked an inline comment as done and an inline comment as not done. nickdesaulniers added a comment. In D76096#1920477 , @efriedma wrote: > But that's probably a larger project than you really want to mess with. Maybe with some coaching;

[PATCH] D76096: [clang] allow const structs to be constant expressions in initializer lists

2020-03-13 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers planned changes to this revision. nickdesaulniers added a comment. > The performance implications of deleting those lines is the complicated part. Where does compile time performance suffer from this? I guess if we have massive array initializers, or large struct definitions, or

[PATCH] D76096: [clang] allow const structs to be constant expressions in initializer lists

2020-03-13 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/AST/Expr.cpp:3164 + const QualType &QT = cast(this)->getDecl()->getType(); + if (QT->isStructureType() && QT.isConstQualified()) +return true; efriedma wrote: > efriedma wrote: > > nic

[PATCH] D76096: [clang] allow const structs to be constant expressions in initializer lists

2020-03-13 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D76096#1920685 , @efriedma wrote: > I think the code that disables constant evaluation for C is just > https://github.com/llvm/llvm-project/blob/dcaf13a4048df3dad55f1a28cde7cefc99ccc057/clang/lib/AST/ExprConstant.cpp#L1

[PATCH] D76096: [clang] allow const structs to be constant expressions in initializer lists

2020-03-13 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 250319. nickdesaulniers added a comment. - add support for compile time arrays Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76096/new/ https://reviews.llvm.org/D76096 Files: clang/lib/AST/Expr.cpp

[PATCH] D76096: [clang] allow const structs to be constant expressions in initializer lists

2020-03-13 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D76096#1922239 , @rsmith wrote: > it's substantially more efficient for CodeGen to walk the AST representation > (the `InitListExpr`) and directly generate an IR constant than it is to > create an `APValue` representat

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

2020-03-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added a reviewer: eli.friedman. Herald added subscribers: cfe-commits, kristof.beyls. Herald added a project: clang. nickdesaulniers marked an inline comment as done. sdesmalen accepted this revision. sdesmalen added a comment. This revision is

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

2020-03-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked an inline comment as done. nickdesaulniers added inline comments. Comment at: clang/lib/Basic/Targets/AArch64.h:98 break; -default: - R = std::string(1, *Constraint); - break; } +return TargetInfo::convertConstraint(Constraint)

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

2020-03-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 250812. nickdesaulniers added a comment. - fix 'U' case Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76297/new/ https://reviews.llvm.org/D76297 Files: clang/lib/Basic/Targets/AArch64.h clang/test/

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

2020-03-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. @sdesmalen sorry, would you mind re-reviewing. I'm not comfortable landing with the previous version being reviewed and not the current one. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76297/new/ https://reviews.

<    7   8   9   10   11   12   13   14   15   16   >