[PATCH] D106030: [Clang] add support for error+warning fn attrs

2021-08-02 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/include/clang/Basic/Attr.td:3816 + +def Error : Attr { + let Spellings = [GCC<"error">]; aaron.ballman wrote: > nickdesaulniers wrote: > > aaron.ballman wrote: > > > I think this should be an inheritable a

[PATCH] D106030: [Clang] add support for error+warning fn attrs

2021-08-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 363888. nickdesaulniers marked 8 inline comments as done. nickdesaulniers edited the summary of this revision. nickdesaulniers added a comment. Herald added subscribers: ormris, steven_wu. - LTO test, diagnose inheritability Repository: rG LLVM Git

[PATCH] D106030: [Clang] add support for error+warning fn attrs

2021-08-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers planned changes to this revision. nickdesaulniers added inline comments. Comment at: clang/include/clang/Basic/Attr.td:3819 + let Args = [StringArgument<"UserDiagnostic">]; + let Subjects = SubjectList<[Function], ErrorDiag>; + let Documentation = [ErrorAttrDoc

[PATCH] D106030: [Clang] add support for error+warning fn attrs

2021-08-04 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/include/clang/Basic/AttrDocs.td:6057 +assertions that depend on optimizations, while providing diagnostics +pointing to precise locations of the call site in the source. + }]; @aaron.ballman anythi

[PATCH] D106030: [Clang] add support for error+warning fn attrs

2021-08-04 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 364280. nickdesaulniers marked 5 inline comments as done. nickdesaulniers edited the summary of this revision. nickdesaulniers added a comment. - remove stale todos, change warning to -Wwarning-attributes to match GCC, update docs Repository: rG L

[PATCH] D106030: [Clang] add support for error+warning fn attrs

2021-08-04 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/DiagnosticGroups.td:1205 def BackendOptimizationFailure : DiagGroup<"pass-failed">; +def BackendUserDiagnostic : DiagGroup<"user-diagnostic">; ---

[PATCH] D107613: [Clang][DiagnosticSemaKinds] combine diagnostic texts

2021-08-05 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added a reviewer: aaron.ballman. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. The diagnostic texts for warning on attributes that don't appear on the initial declarat

[PATCH] D107613: [Clang][DiagnosticSemaKinds] combine diagnostic texts

2021-08-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 364838. nickdesaulniers marked 2 inline comments as done. nickdesaulniers added a comment. - prefer getAttr to hasAttr+getAttr, remove another diag Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D107613/ne

[PATCH] D107613: [Clang][DiagnosticSemaKinds] combine diagnostic texts

2021-08-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Sema/SemaDecl.cpp:3685 +<< NRA; +notePreviousDefinition(Old, New->getLocation()); + } ah, this isn't quite right. It replaces warning of the first declaration with warning of

[PATCH] D107613: [Clang][DiagnosticSemaKinds] combine diagnostic texts

2021-08-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers planned changes to this revision. nickdesaulniers added inline comments. Comment at: clang/lib/Sema/SemaDecl.cpp:3685 +<< NRA; +notePreviousDefinition(Old, New->getLocation()); + } aaron.ballman wrote: > nickdesaulniers wr

[PATCH] D107613: [Clang][DiagnosticSemaKinds] combine diagnostic texts

2021-08-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 364858. nickdesaulniers edited the summary of this revision. nickdesaulniers added a comment. This revision is now accepted and ready to land. - more use of note_previous_declaration, fix WeakImportAttr, too Repository: rG LLVM Github Monorepo CHA

[PATCH] D107613: [Clang][DiagnosticSemaKinds] combine diagnostic texts

2021-08-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Sema/SemaDecl.cpp:3686 +Diag(Old->getLocation(), diag::note_previous_declaration); + } should `CXX11NoReturnAttr` be `dropAttr` on `New` like the other cases, too? Repository: rG LLVM

[PATCH] D107613: [Clang][DiagnosticSemaKinds] combine diagnostic texts

2021-08-06 Thread Nick Desaulniers via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGd238b6028582: [Clang][DiagnosticSemaKinds] combine diagnostic texts (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D107613/new/

[PATCH] D106030: [Clang] add support for error+warning fn attrs

2021-08-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 364892. nickdesaulniers marked 8 inline comments as done. nickdesaulniers added a comment. - rebase on D107613 , reuse diag::err_attribute_missing_on_first_decl - test matching redeclarations - remove getSpelling meth

[PATCH] D106030: [Clang] add support for error+warning fn attrs

2021-08-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/include/clang/Basic/DiagnosticSemaKinds.td:11172 +def err_attribute_removed_on_redeclaration : Error< + "'%0' attribute removed from redeclared variable">; aaron.ballman wrote: > This diagnostic is a bit

[PATCH] D106030: [Clang] add support for error+warning fn attrs

2021-08-12 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 366050. nickdesaulniers marked 4 inline comments as done. nickdesaulniers added a comment. - combine c++ w/ c test - use -verify= rather than -D - remove REQUIRES - go back to string comparison Repository: rG LLVM Github Monorepo CHANGES SINCE LAS

[PATCH] D106030: [Clang] add support for error+warning fn attrs

2021-08-12 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Sema/SemaDeclAttr.cpp:964-965 +bool match = +(EA->isError() && NewAttrSpellingIndex < ErrorAttr::GNU_warning) || +(EA->isWarning() && NewAttrSpellingIndex >= ErrorAttr::GNU_warning); +if (!match)

[PATCH] D107933: [clang] Expose unreachable fallthrough annotation warning

2021-08-12 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/SemaCXX/switch-implicit-fallthrough.cpp:211-214 +case 224: + n += 400; +case 225: // expected-warning{{unannotated fall-through between switch labels}} expected-note{{insert '[[clang::fallthrough]];' to s

[PATCH] D106030: [Clang] add support for error+warning fn attrs

2021-08-13 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 366355. nickdesaulniers marked 4 inline comments as done. nickdesaulniers added a comment. - fix tests on windows, let diag eng format decl, drop correct attr, refactor to handle merging as InheritableAttr Repository: rG LLVM Github Monorepo CHAN

[PATCH] D106030: [Clang] add support for error+warning fn attrs

2021-08-13 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Sema/SemaDecl.cpp:3368 + Diag(Old->getLocation(), diag::note_previous_declaration); + New->dropAttr(); +} Should be dropping `ErrorAttr`. Comment at: clang/test/Sema/att

[PATCH] D106030: [Clang] add support for error+warning fn attrs

2021-08-13 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 366356. nickdesaulniers added a comment. - remove unnecessary parens Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D106030/new/ https://reviews.llvm.org/D106030 Files: clang/docs/ReleaseNotes.rst cl

[PATCH] D106030: [Clang] add support for error+warning fn attrs

2021-08-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/Sema/attr-error.c:31-32 + +__attribute__((error("foo"))) int bad5(void); // expected-error {{'error' and 'warning' attributes are not compatible}} +__attribute__((warning("foo"))) int bad5(void); // expected-note {{

[PATCH] D106030: [Clang] add support for error+warning fn attrs

2021-08-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 366717. nickdesaulniers added a comment. - reorder diag vs note Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D106030/new/ https://reviews.llvm.org/D106030 Files: clang/docs/ReleaseNotes.rst clang/i

[PATCH] D106030: [Clang] add support for error+warning fn attrs

2021-08-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/Sema/attr-error.c:31-32 + +__attribute__((error("foo"))) int bad5(void); // expected-error {{'error' and 'warning' attributes are not compatible}} +__attribute__((warning("foo"))) int bad5(void); // expected-note {{

[PATCH] D104058: ThinLTO: Fix inline assembly references to static functions with CFI

2021-07-14 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Change LGTM, but I don't understand why the following tests are modified: - llvm/test/ThinLTO/X86/devirt2.ll - llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal2.ll - llvm/test/Transforms/ThinLTOBitcodeWriter/split-vfunc-internal.ll Repository: rG LLVM

[PATCH] D100756: [llvm-rc] [4/4] Add a GNU windres-like frontend to llvm-rc

2021-10-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. thanks for this patch @mstorsjo ! This is help AOSP LLVM move our windows builds of LLVM away from MinGW to LLVM! https://android-review.googlesource.com/c/toolchain/llvm_android/+/1867380/ Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION http

[PATCH] D112059: Fix inline builtin handling in case of redefinition

2021-10-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers accepted this revision. nickdesaulniers added a comment. Thank you for fixing this terrible edge case; LGTM. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D112059/new/ https://reviews.llvm.org/D112059 ___ cfe-commits mailing li

[PATCH] D112059: Fix inline builtin handling in case of redefinition

2021-10-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Actually, it looks like: diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp index 69d2ef631872..8e77cdef2ed5 100644 --- a/clang/lib/Sema/SemaDecl.cpp +++ b/clang/lib/Sema/SemaDecl.cpp @@ -10927,6 +10927,10 @@ bool Sema::CheckFunctionD

[PATCH] D112059: Fix inline builtin handling in case of redefinition

2021-10-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/CodeGen/user-func-gnu-inline-redecl.c:20 + return some_size(s); +} this test passes before this patch is applied; I wonder if we have existing coverage in tree for this case? Surprisingly, I don't t

[PATCH] D112143: [X86][ABI] Do not return float/double from x87 registers when x87 is disabled

2021-10-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Fixes https://bugs.llvm.org/show_bug.cgi?id=51498? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D112143/new/ https://reviews.llvm.org/D112143 ___ cfe-commits mailing list

[PATCH] D112413: [X86] Add -mskip-rax-setup support to align with GCC

2021-10-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Fixes https://bugs.llvm.org/show_bug.cgi?id=23258? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D112413/new/ https://reviews.llvm.org/D112413 ___ cfe-commits mailing list

[PATCH] D112143: [X86][ABI] Do not return float/double from x87 registers when x87 is disabled

2021-10-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D112143#3089072 , @nickdesaulniers wrote: > Fixes https://bugs.llvm.org/show_bug.cgi?id=51498? sorry, I missed the PR # in the description; my mistake. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTIO

[PATCH] D112413: [X86] Add -mskip-rax-setup support to align with GCC

2021-10-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D112413#3089073 , @nickdesaulniers wrote: > Fixes https://bugs.llvm.org/show_bug.cgi?id=23258? sorry, I missed the PR # in the description; my mistake. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTIO

[PATCH] D112415: [Driver] ignore -maccumulate_outgoing_args option

2021-10-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers requested changes to this revision. nickdesaulniers added a comment. This revision now requires changes to proceed. Let me check on https://bugs.llvm.org/show_bug.cgi?id=28145 before we start ignoring this. That might be the right approach, but let me check. Otherwise we might a

[PATCH] D112600: [ARM] Use hardware TLS register in Thumb2 mode when -mtp=cp15 is passed

2021-10-27 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. Thanks for the patch! Comment at: clang/test/CodeGen/arm-tphard.c:10 +} + Let's make this a test under llvm/test/CodeGen/, using

[PATCH] D112413: [X86] Add -mskip-rax-setup support to align with GCC

2021-10-27 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. Thanks for the patch; I'd like to see this encoded in the IR (perhaps as a function level attribute), the `-mno-` variant added, and perhaps help the user if they f

[PATCH] D112600: [ARM] Use hardware TLS register in Thumb2 mode when -mtp=cp15 is passed

2021-10-27 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/CodeGen/arm-tphard.c:10 +} + ardb wrote: > nickdesaulniers wrote: > > Let's make this a test under llvm/test/CodeGen/, using IR: > > ``` > > ; RUN: llc --mtriple=armv7-linux-gnueabihf -o - %s | FileChe

[PATCH] D112600: [ARM] Use hardware TLS register in Thumb2 mode when -mtp=cp15 is passed

2021-10-27 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers accepted this revision. nickdesaulniers added a comment. This revision is now accepted and ready to land. Cool, if you wouldn't mind additional extending this patch to cover the intrinsic that the front end also generates, this LGTM: diff --git a/llvm/test/CodeGen/ARM/thread_po

[PATCH] D112413: [X86] Add -mskip-rax-setup support to align with GCC

2021-10-27 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/Target/X86/X86ISelLowering.cpp:96 +static cl::opt SkipRaxSetup( +"x86-skip-rax-setup", cl::init(false), MaskRay wrote: > nickdesaulniers wrote: > > If it's a command line option rather than encoded

[PATCH] D112600: [ARM] Use hardware TLS register in Thumb2 mode when -mtp=cp15 is passed

2021-10-27 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D112600#3091959 , @ardb wrote: > Thanks all. Could someone with commit access please merge this? Thanks. Sure thing; I'll pick it up. Thanks again for the patch! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D

[PATCH] D112600: [ARM] Use hardware TLS register in Thumb2 mode when -mtp=cp15 is passed

2021-10-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 rGd7e089f2d6a5: [ARM] Use hardware TLS register in Thumb2 mode when -mtp=cp15 is passed (authored by ardb, committed by nickdesaulniers). Repository:

[PATCH] D112600: [ARM] Use hardware TLS register in Thumb2 mode when -mtp=cp15 is passed

2021-10-28 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/CodeGen/arm-tphard.c:10 +} + peter.smith wrote: > nickdesaulniers wrote: > > ardb wrote: > > > nickdesaulniers wrote: > > > > Let's make this a test under llvm/test/CodeGen/, using IR: > > > > ``` > >

[PATCH] D112059: Fix inline builtin handling in case of redefinition

2021-10-28 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Here's a [hastily and poorly written] script to measure the average cycle counts for 30 invocations using linux `perf`: https://gist.github.com/nickdesaulniers/4a20ba10c26ac2ad02cb0425b8b0f826 For Diff 382671 (latest; storing redecl state), builds of the linux k

[PATCH] D112143: [X86][ABI] Do not return float/double from x87 registers when x87 is disabled

2021-10-28 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/Driver/x86-target-features.c:5 // RUN: %clang -target i386-unknown-linux-gnu -march=i386 -mno-80387 %s -### -o %t.o 2>&1 | FileCheck -check-prefix=NO-X87 %s +// RUN: %clang -target i386-unknown-linux-gnu -march=i386

[PATCH] D108479: [Clang] Add __builtin_addressof_nocfi

2021-10-28 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/CodeGen/builtin-addressof-nocfi.c:2 +// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -emit-llvm -fsanitize=cfi-icall -o - %s | FileCheck %s + +void a(void) {} mind adding a test case to this file

[PATCH] D108479: [Clang] Add __builtin_addressof_nocfi

2021-10-28 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/AST/APValue.cpp:44-46 + false} {} APValue::LValueBase::LValueBase(const Expr *P, unsigned I, unsigned V) +: Ptr(P), Local{I, V, false} {} -

[PATCH] D108479: [Clang] Add __builtin_addressof_nocfi

2021-10-28 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/include/clang/AST/APValue.h:195 unsigned CallIndex, Version; + bool NoCFIValue : 1; }; Is there be padding off the end of the bitfield? Or does this actually change the sizeof(LocalState)?

[PATCH] D112768: [ARM] implement support for TLS register based stack protector

2021-10-28 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Nice job! This looks like it hits every place that I was looking at for this. In terms of tests, https://reviews.llvm.org/D100919 and https://reviews.llvm.org/D102742 are probably interesting. In particular, we should test that clang no longer rejects `-mstack-

[PATCH] D112768: [ARM] implement support for TLS register based stack protector

2021-10-28 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/Target/ARM/Thumb2InstrInfo.cpp:250 void Thumb2InstrInfo::expandLoadStackGuard( MachineBasicBlock::iterator MI) const { what about `Thumb1InstrInfo::expandLoadStackGuard`? Do we have `mrc` availab

[PATCH] D112761: cfi-icall: Add -fsanitize-cfi-promotion-aliases

2021-10-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. please don't forget to run `git-clang-format HEAD~`. Thanks for the patch, LGTM! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D

[PATCH] D112059: Fix inline builtin handling in case of redefinition

2021-10-29 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers accepted this revision. nickdesaulniers added a comment. thanks again for all of the work that went into this! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D112059/new/ https://reviews.llvm.org/D112059 ___ cfe-commits mailing

[PATCH] D112768: [ARM] implement support for TLS register based stack protector

2021-10-29 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Codegen looks good, probably just need an additional conditional on `ARMSubtarget::isReadTPHard()`. With that and some more tests for cases we don't intend to support (thumb[1], soft tp) this LGTM. Great job @ardb ! Comment at: llvm/lib/Target

[PATCH] D113026: [ARM] reject -mtp=cp15 if target subarch does not support it

2021-11-02 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Thanks for the patch! Don't forget to run `git-clang-format HEAD~`. Comment at: clang/lib/Driver/ToolChains/Arch/ARM.cpp:160-161 +if (ThreadPointer == ReadTPMode::Cp15 && +getARMSubArchVersionNumber(Triple) < 7 && +llvm::ARM:

[PATCH] D112768: [ARM] implement support for TLS register based stack protector

2021-11-02 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Clang.cpp:3177-3179 + if (!Args.hasArg(options::OPT_mstack_protector_guard_offset_EQ)) { +D.Diag(diag::err_drv_ssp_missing_offset_argument) +<< A->getOption().getName() << Valu

[PATCH] D112768: [ARM] implement support for TLS register based stack protector

2021-11-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Clang.cpp:3190-3191 + } + CmdArgs.push_back("-target-feature"); + CmdArgs.push_back("+read-tp-hard"); +} ardb wrote: > nickdesaulniers wrote: > > Isn't this redundan

[PATCH] D112768: [ARM] implement support for TLS register based stack protector

2021-11-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers accepted this revision. nickdesaulniers added a comment. This revision is now accepted and ready to land. Looks great! Nice job! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D112768/new/ https://reviews.llvm.org/D112768 ___

[PATCH] D98895: [X86][clang] Disable long double type for -mno-x87 option

2021-11-04 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. This seems to be causing build errors for the linux kernel (which uses `-mno-x87`) for expressions like: `unsigned long foo = 300L * 1E6L;` https://github.com/ClangBuiltLinux/linux/issues/1497 // clang -O2 -mno-x87 void foo (unsigned long); void bar (void)

[PATCH] D97449: [Diagnose] Unify MCContext and LLVMContext diagnosing

2021-02-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. I tested this on some wacko LTO kernel build failure (https://github.com/ClangBuiltLinux/linux/issues/1269). The error message went from: > :0: error: __ia32_compat_sys_sysctl changed binding to STB_GLOBAL To: unimplemented UNREACHABLE executed at ../incl

[PATCH] D97902: [Driver] Clarify --gcc-toolchain

2021-03-04 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/docs/ClangCommandLineReference.rst:23 -Add to search path for binaries and object files used implicitly +Search $prefix/$triple-$file and $prefix$file for executables, libraries, includes and data files used by the comp

[PATCH] D97902: [Driver] Clarify --gcc-toolchain

2021-03-04 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Thanks for the patch! It is a much needed clarification! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D97902/new/ https://reviews.llvm.org/D97902 ___ cfe-commits mailing

[PATCH] D97902: [Driver] Clarify --gcc-toolchain

2021-03-04 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/docs/ClangCommandLineReference.rst:23 -Add to search path for binaries and object files used implicitly +Search $prefix/$triple-$file and $prefix$file for executables, libraries, includes and data files used by the comp

[PATCH] D112143: [X86][ABI] Do not return float/double from x87 registers when x87 is disabled

2021-11-16 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. Just a comment on the ECX bit, otherwise this patch looks fine to me. Someone with more x86 knowledge may want to take a look though. Thanks for the patch!

[PATCH] D112413: [X86] Add -mskip-rax-setup support to align with GCC

2021-11-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. It might be nice to add an `llvm-link` test that produces an error when this module metadata doesn't match. Basically, it would be nice to error if during LTO we link together two modules that differ in their use of `-mskip-rax-setup` since that has ABI implica

[PATCH] D112413: [X86] Add -mskip-rax-setup support to align with GCC

2021-11-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/test/CodeGen/X86/pr23258.ll:22 + +declare dso_local void @bar(i32, ...) + nickdesaulniers wrote: > Is there anything one the callee side that we should check? I assume the > callee does some check of `%al`

[PATCH] D112413: [X86] Add -mskip-rax-setup support to align with GCC

2021-11-17 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 feature. I'd still prefer to see `SimpleMFlag` used, but it's not a big deal to me. Comment at: clang/include/clang/Driver/Options.td:3193

[PATCH] D112143: [X86][ABI] Do not return float/double from x87 registers when x87 is disabled

2021-11-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers accepted this revision. nickdesaulniers added inline comments. Comment at: llvm/test/CodeGen/X86/no-ret-in-x87-reg.ll:147-150 +; NOX87-NEXT:fldt {{[0-9]+}}(%esp) +; NOX87-NEXT:fldt {{[0-9]+}}(%esp) +; NOX87-NEXT:faddp %st, %st(1) +; NOX87-NEXT:fstp

[PATCH] D114116: [clang][ARM] relax -mtp=cp15 for ARMv6 non-thumb cases

2021-11-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: ardb, peter.smith, ostannard, DavidSpickett. Herald added a subscriber: kristof.beyls. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Building -march=a

[PATCH] D114124: [clang][ARM] only check -mtp=cp15 for non-asm sources

2021-11-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. Herald added a subscriber: kristof.beyls. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. This diagnostic is really to highlight lack of support for hard thread pointers in post-RA inst

[PATCH] D114116: [clang][ARM] relax -mtp=cp15 for ARMv6 non-thumb cases

2021-11-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Arch/ARM.cpp:155 + llvm::ARM::ArchKind AK = llvm::ARM::parseArch(Triple.getArchName()); + return Ver >= 7 || AK == llvm::ARM::ArchKind::ARMV6T2 || + (Ver == 6 && Triple.isARM());

[PATCH] D114162: [X86][clang] Enable floating-point type for -mno-x87 option on 32-bits

2021-11-29 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/D114162/new/ https://reviews.llvm.org/D114162 ___ cfe-commits m

[PATCH] D87279: [clang] Fix handling of physical registers in inline assembly operands.

2021-11-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a subscriber: nathanchance. nickdesaulniers added a comment. Herald added a subscriber: mstorsjo. @nathanchance reports in https://github.com/ClangBuiltLinux/linux/issues/1512 that // clang x.c register long current_stack_pointer asm("rsp"); void vmcs_set_bits() {

[PATCH] D114116: [clang][ARM] relax -mtp=cp15 for non-thumb cases

2021-12-02 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 391375. nickdesaulniers retitled this revision from "[clang][ARM] relax -mtp=cp15 for ARMv6 non-thumb cases" to "[clang][ARM] relax -mtp=cp15 for non-thumb cases". nickdesaulniers edited the summary of this revision. nickdesaulniers added a comment. -

[PATCH] D114116: [clang][ARM] relax -mtp=cp15 for non-thumb cases

2021-12-02 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked 4 inline comments as done. nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Arch/ARM.cpp:155 + llvm::ARM::ArchKind AK = llvm::ARM::parseArch(Triple.getArchName()); + return Ver >= 7 || AK == llvm::ARM::ArchKind::ARMV6T2 || +

[PATCH] D114116: [clang][ARM] relax -mtp=cp15 for non-thumb cases

2021-12-02 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 391390. nickdesaulniers marked an inline comment as done. nickdesaulniers added a comment. - use @peter.smith's suggestion re: ARMV8MBaseline Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D114116/new/ ht

[PATCH] D114116: [clang][ARM] relax -mtp=cp15 for non-thumb cases

2021-12-02 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 391396. nickdesaulniers added a comment. - update for thumbv6t2, add test for that. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D114116/new/ https://reviews.llvm.org/D114116 Files: clang/lib/Driver/

[PATCH] D114116: [clang][ARM] relax -mtp=cp15 for non-thumb cases

2021-12-03 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 rG9f95bc7dc183: [clang][ARM] relax -mtp=cp15 for non-thumb cases (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SINCE L

[PATCH] D114124: [clang][ARM] only check -mtp=cp15 for non-asm sources

2021-12-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 391752. nickdesaulniers added a comment. - rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D114124/new/ https://reviews.llvm.org/D114124 Files: clang/lib/Driver/ToolChains/Arch/ARM.cpp clang/li

[PATCH] D114124: [clang][ARM] only check -mtp=cp15 for non-asm sources

2021-12-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 391754. nickdesaulniers edited the summary of this revision. nickdesaulniers added a comment. - update description Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D114124/new/ https://reviews.llvm.org/D114

[PATCH] D114124: [clang][ARM] only check -mtp=cp15 for non-asm sources

2021-12-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 391755. nickdesaulniers added a comment. - try to fix rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D114124/new/ https://reviews.llvm.org/D114124 Files: clang/lib/Driver/ToolChains/Arch/ARM.cpp

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added a reviewer: MaskRay. Herald added a subscriber: StephenFan. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. We've been working around

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. I'm probably going to do something similar for `-gdwarf-N` as a follow up. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136309/new/ https://reviews.llvm.org/D136309 ___

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 469256. nickdesaulniers marked 2 inline comments as done. nickdesaulniers added a comment. - add triple, use Arg::AddLastArg Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136309/new/ https://reviews.llv

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. @MaskRay do you think I should make it so that `-g -g0` disables passing through `-g`? Comment at: clang/test/Driver/as-options.s:120 + +// Test that -g is passed through to GAS. +// RUN: %clang -fno-integrated-as -g %s -### 2>&1 | \ --

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D136309#3871599 , @nickdesaulniers wrote: > @MaskRay do you think I should make it so that `-g -g0` disables passing > through `-g`? Looks like this pattern can be used: if (const Arg *A = Args.getLastArg(options:

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 469280. nickdesaulniers added a comment. handle -g0 positionally Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136309/new/ https://reviews.llvm.org/D136309 Files: clang/lib/Driver/ToolChains/Gnu.cpp

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D136309#3871769 , @MaskRay wrote: > (Note that assembler synthesized debug info for assembly files is a very > minor feature. I don't know why the Linux kernel is so fond of it..). This is _required_ for symbolicating

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Hmm... looks like this regresses 3db3a3b0d5c56dc7da843236e244307c4ac64860; I wonder what PR it was referring to? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136309/new/ https://reviews.llvm.org/D136309 _

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 469300. nickdesaulniers added a comment. - delete test from clang/test/Driver/gcc_forward.c Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136309/new/ https://reviews.llvm.org/D136309 Files: clang/lib

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Looks like binutils-gdb commit 329e276daf98fb4c8b3770a6c2f02fd22472a638 ("Add support for a -g switch to GAS") added support for -g. (I think the 2.15 release) But that was in 2004; llvm commit 3db3a3b0d5c56dc7da843236e244307c4ac64860 was in 2016... Repositor

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

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

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

2022-10-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 469764. nickdesaulniers edited the summary of this revision. nickdesaulniers added a comment. - add note to commit message (let's see if phab captures what I wrote, used arc diff --verbatim) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST

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

2022-10-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 469767. nickdesaulniers added a comment. - git clang-format HEAD~ Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136497/new/ https://reviews.llvm.org/D136497 Files: clang/lib/CodeGen/CGStmt.cpp clan

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

2022-10-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Note to reviewers: I expect this to be one of a 3 part progression. 1. Fix DomTree D135997 2. Fix front end D136497 3. Fix back end (TODO) Hopefully that's it; famous last words... Repository

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

2022-10-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 469782. nickdesaulniers added a comment. - update LanguageExtensions doc Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136497/new/ https://reviews.llvm.org/D136497 Files: clang/docs/LanguageExtension

[PATCH] D136572: Harmonize cmake_policy() across standalone builds of all projects

2022-10-24 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/CMakeLists.txt:6 if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) + # Please keep policies in sync with llvm/CMakeLists.txt. + if(POLICY CMP0114) Seems error prone. Does cmake have an include syste

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-24 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Updating the description to note support for `-g` in gas looks like 2.16 (not 2.15) based on: $ git describe --contains 329e276daf98 --match 'bin*' binutils-2_16-branchpoint~2248 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://r

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-24 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 rGe3bb359aacdd: [clang][Toolchains][Gnu] pass -g through to assembler (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SI

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

2022-10-25 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: MaskRay, probinson. Herald added a subscriber: StephenFan. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. We've been worki

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

2022-10-25 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Clang.cpp:4206-4214 // If a -gdwarf argument appeared, remember it. const Arg *GDwarfN = getDwarfNArg(Args); bool EmitDwarf = false; if (GDwarfN) { if (checkDebugInfoOption(GDwarfN, Ar

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

2022-10-25 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/CommonArgs.h:107 unsigned ParseDebugDefaultVersion(const ToolChain &TC, const llvm::opt::ArgList &Args); This can be made static to the .cpp file

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