[PATCH] D103184: [AArch64] handle -Wa,-march=

2021-06-02 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/Driver/aarch64-target-as-march.s:20-25 +/// No unused argument warnings when there are multiple values +// RUN: %clang --target=aarch64-linux-gnueabi -### -c -Wa,-march=armv8.1-a -Wa,-march=armv8.2-a %s 2>&1 | \ +// R

[PATCH] D95408: [Sema][C] members of anonymous struct inherit QualType

2021-01-25 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: rsmith, aaron.ballman. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. When declaring an anonymous struct with `const` or `volatile` qualifiers, ensure

[PATCH] D95408: [Sema][C] members of anonymous struct inherit QualType

2021-01-25 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Sema/SemaDecl.cpp:5179 if (RecordDecl *OwningClass = dyn_cast(Owner)) { -Anon = FieldDecl::Create( -Context, OwningClass, DS.getBeginLoc(), Record->getLocation(), -/*IdentifierInfo=*/nullptr, Cont

[PATCH] D95872: [clang][Arm] Fix handling of -Wa,-march=

2021-02-02 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Wow, thank you so much for the work that went into this patch! Very thorough tests. Just minor questions about yet more test cases. Patch LGTM. Comment at: clang/test/Driver/arm-target-as-march-mcpu.s:42 +/// We use the target CPU for both. +

[PATCH] D95872: [clang][Arm] Fix handling of -Wa,-march=

2021-02-02 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/Driver/arm-target-as-march-mcpu.s:42 +/// We use the target CPU for both. +// RUN: %clang -target arm-linux-gnueabi -### -c -mcpu=cortex-a8 -Wa,-march=armv8a %s 2>&1 | \ +// RUN: FileCheck -check-prefix=TRIPLE-ARMV8 -

[PATCH] D95872: [clang][Arm] Fix handling of -Wa,-march=

2021-02-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. Thanks again David. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D95872/new/ https://reviews.llvm.org/D95872 ___

[PATCH] D109967: Simplify handling of builtin with inline redefinition

2021-09-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Thanks for the patch! Please fix the lint checks. `git-clang-format HEAD~` should help, and IIRC there is a git hook when using `arc diff` (though maybe that requires one time setup? I seem to have an `.arclint` file in my `llvm-projects` checkout.

[PATCH] D109967: Simplify handling of builtin with inline redefinition

2021-09-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Please amend the bug description to link to: - https://bugs.llvm.org/show_bug.cgi?id=50322 - https://lore.kernel.org/lkml/20210822075122.864511-17-keesc...@chromium.org/ (You can do `git commit --amend; arc diff --verbatim` to have `arc` update the patch descrip

[PATCH] D109967: Simplify handling of builtin with inline redefinition

2021-09-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/CodeGen/memcpy-inline-builtin.c:1 +// RUN: %clang_cc1 -triple x86_64-unknown-unknown -S -emit-llvm -o - %s -disable-llvm-passes | FileCheck %s +// nickdesaulniers wrote: > Would `-emit-codegen-only` b

[PATCH] D109967: Simplify handling of builtin with inline redefinition

2021-09-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers accepted this revision. nickdesaulniers added a comment. This revision is now accepted and ready to land. Looks reasonable. Can you give us some time to test this on the Linux kernel? Comment at: clang/test/CodeGen/memcpy-inline-builtin.c:3 + +// RUN: %clang_cc1

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

2021-09-23 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D106030#3018754 , @aeubanks wrote: > Would it be ok to split this into two attributes, dontcall-warn and > dontcall-error? So we rely less on the Clang AST when determining if a > dontcall call should be emitted as a

[PATCH] D110379: [Driver] Remove confusing *-linux-android detection with non-android --target=

2021-09-27 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Sorry, I missed the email for this code review, let me check my filters aren't too agressive. > The Android kernel build does not use the Android triple. That's no longer the case, so we might as well just wholesale revert D53463

[PATCH] D110364: [clang] Rework dontcall attributes

2021-09-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: llvm/lib/IR/DiagnosticInfo.cpp:408-427 + if (F->hasFnAttribute("dontcall-error")) { +unsigned LocCookie = 0; +aut

[PATCH] D110065: [AArch64] Add support for the 'R' architecture profile.

2021-09-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D110065#3033050 , @labrinea wrote: > That said my current approach will be breaking the current tools behavior: > when the user only specifies the triple and not -march then they will be > targeting the intersection,

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

2021-09-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/include/clang/Basic/AttrDocs.td:6108 + let Content = [{ +This attribute, when attached to a funcditon, causes the compiler to zero a +subset of all call-used registers before the function returns. It's used to

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

2021-09-30 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. We'll probably need to investigate code gen a little. A mainline linux kernel defconfig built with `CONFIG_ZERO_CALL_USED_REGS=y` enabled doesn't boot, for example.

[PATCH] D111009: Update inline builtin handling to honor gnu inline attribute

2021-10-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. hmm...this seems to cause a bunch of ICEs building the kernel: Global is external, but doesn't have external or weak linkage! i64 (i8*)* @strlen fatal error: error in backend: Broken module found, compilation aborted! Global is external, but doesn't have e

[PATCH] D111009: Update inline builtin handling to honor gnu inline attribute

2021-10-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Note: kernel tests need to have `CONFIG_FORTIFY_SOURCE=y` enabled in the config to use the fortified routines; this isn't enabled by default in an x86_64 `defconfig` build. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.

[PATCH] D111009: Update inline builtin handling to honor gnu inline attribute

2021-10-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CGExpr.cpp:4911 + if (!Clone) { +Clone = llvm::Function::Create(Fn->getFunctionType(), Fn->getLinkage(), + Fn->getAddressSpace(), given the rep

[PATCH] D111009: Update inline builtin handling to honor gnu inline attribute

2021-10-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Here's a reduced test case from the kernel. Let's add a unit test for it. const void *con_unify_unimap_p1; extern inline __attribute__((__always_inline__)) __attribute__((gnu_inline)) int memcmp(const void *p, const void *q, unsigned long size) { __built

[PATCH] D111009: Update inline builtin handling to honor gnu inline attribute

2021-10-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. With Diff 376790, I'm seeing a similar failure to https://github.com/ClangBuiltLinux/linux/issues/1466#issue-1011472964, but from different TUs. ld.lld: error: duplicate symbol: memcpy.inline >>> defined at file.c >>>fs/efivarfs/file.o:(memcpy.

[PATCH] D111009: Update inline builtin handling to honor gnu inline attribute

2021-10-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. With Diff 376790 inline __attribute__((__always_inline__)) __attribute__((gnu_inline)) void* memcpy() {} `clang -O2` is producing undefined references to `memcpy.inline`. Please add that to the new unit tests added here. diff --git a/clang/lib/CodeGen/Cod

[PATCH] D111009: Update inline builtin handling to honor gnu inline attribute

2021-10-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Diff 376794 builds! Let's still add a test for inline __attribute__((__always_inline__)) __attribute__((gnu_inline)) void* memcpy() {} though. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111009/new/ https://reviews.llvm.org/D111009 _

[PATCH] D111009: Update inline builtin handling to honor gnu inline attribute

2021-10-04 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers accepted this revision. nickdesaulniers added inline comments. This revision is now accepted and ready to land. Comment at: clang/lib/CodeGen/CGExpr.cpp:4901 + llvm::Function *Fn = llvm::cast(CalleePtr); + llvm::Module &M = CGF.CGM.getModule(); + ll

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

2021-10-04 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D107613#3040402 , @dschuff wrote: > It looks like this error is intended to catch mismatches for attributes that > can affect codegen such as noreturn (in which case it makes sense to have it > as an error) but it als

[PATCH] D76169: [WIP][AST] Allow ExprConstant to evaluate structs in C.

2021-10-04 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a subscriber: erichkeane. nickdesaulniers added a comment. Looks like @erichkeane was in the neighborhood in 606a734755d1fb6c35a17680d0c251f834b79334 ("[PR47636] Fix tryEmitPrivate to handle non-constant

[PATCH] D96285: [clang][Arm] Fix handling of -Wa,-implicit-it=

2021-02-08 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: DavidSpickett, ostannard. Herald added a subscriber: danielkiss. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Similiar to D95872

[PATCH] D96285: [clang][Arm] Fix handling of -Wa,-implicit-it=

2021-02-09 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 322439. nickdesaulniers marked 2 inline comments as done. nickdesaulniers added a comment. - address code review comments, add moar tests Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D96285/new/ https:/

[PATCH] D96285: [clang][Arm] Fix handling of -Wa,-implicit-it=

2021-02-10 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 322807. nickdesaulniers marked an inline comment as done. nickdesaulniers added a comment. - reorder test checks Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D96285/new/ https://reviews.llvm.org/D96285

[PATCH] D96285: [clang][Arm] Fix handling of -Wa,-implicit-it=

2021-02-10 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/Driver/arm-target-as-mimplicit-it.s:26 +/// assembler flag appearing last (latter wins). +// RUN: %clang -target arm-linux-gnueabi -### -mimplicit-it=never -Wa,-mimplicit-it=always %S/Inputs/wildcard1.c 2>&1 | FileChe

[PATCH] D96285: [clang][Arm] Fix handling of -Wa,-implicit-it=

2021-02-11 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked 2 inline comments as done. nickdesaulniers added a comment. Thanks for the review (here and D96304 )! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D96285/new/ https://reviews.llvm.org/D96285

[PATCH] D96285: [clang][Arm] Fix handling of -Wa,-implicit-it=

2021-02-11 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 rGa680bc3a31d3: [clang][Arm] Fix handling of -Wa,-implicit-it= (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SINCE LAS

[PATCH] D88631: [X86] Support customizing stack protector guard

2021-02-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Herald added a subscriber: jansvoboda11. Looks like there's also a `-mstack-protector-guard-symbol=` which Linux kernel developers are looking to use for 32b X86 kernels: https://bugs.llvm.org/show_bug.cgi?id=49209. Repository: rG LLVM Github Monorepo CHANGE

[PATCH] D103184: [AArch64] handle -Wa,-march=

2021-06-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. LGTM; any additional thoughts @DavidSpickett ? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103184/new/ https://reviews.llvm.

[PATCH] D103184: [AArch64] handle -Wa,-march=

2021-06-04 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/test/Driver/aarch64-target-as-march.s:29 +// RUN: FileCheck --check-prefix=MULTIPLE-VALUES %s + +// MULTIPLE-VALUES: "-targe

[PATCH] D103184: [AArch64] handle -Wa,-march=

2021-06-04 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. That looks better, thanks @jcai19 . Based on @DavidSpickett 's LGTM I think this is now ready to land. @DavidSpickett did ask: > Also please include in the commit message t

[PATCH] D103184: [AArch64] handle -Wa,-march=

2021-06-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D103184#2803513 , @thakis wrote: > This breaks tests on arm macs: http://45.33.8.238/macm1/10931/step_7.txt >> clang: error: the clang compiler does not support '-Wa,--version' Wouldn't that be https://reviews.llvm

[PATCH] D103048: [IR] make -stack-alignment= into a module attr

2021-06-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D103048#2795456 , @tejohnson wrote: >> Curiously, using ModFlagBehavior::Error doesn't error if one of two modules >> being linked together doesn't have such a module level attribute. > > Yeah, there's a Require behavi

[PATCH] D103851: [IR] make a new ModFlagBehavior that errors when a module attribute is missing

2021-06-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. Herald added a reviewer: deadalnix. Herald added subscribers: dexonsmith, hiraditya. nickdesaulniers requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commits. Promote override-stack-alignment t

[PATCH] D103851: [IR] make a new ModFlagBehavior that errors when a module attribute is missing

2021-06-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers abandoned this revision. nickdesaulniers added a comment. Not planning on shipping this, just a demonstration. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103851/new/ https://reviews.llvm.org/D103851 _

[PATCH] D103048: [IR] make -stack-alignment= into a module attr

2021-06-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/test/Linker/stack-alignment.ll:11 +;--- main.ll +; NONE: error: linking module flags 'override-stack-alignment': IDs have conflicting values +; CHECK-16: error: linking module flags 'override-stack-alignment': IDs have con

[PATCH] D103851: [IR] make a new ModFlagBehavior that errors when a module attribute is missing

2021-06-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. See also: https://reviews.llvm.org/D103048#2804089 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103851/new/ https://reviews.llvm.org/D103851 ___ cfe-commits mailing list

[PATCH] D103048: [IR] make -stack-alignment= into a module attr

2021-06-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 350443. nickdesaulniers added a comment. - remove test for module without module attr Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103048/new/ https://reviews.llvm.org/D103048 Files: clang/lib/CodeG

[PATCH] D103048: [IR] make -stack-alignment= into a module attr

2021-06-08 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Thanks for the review! Notified downstream dependents: - https://github.com/llvm-hs/llvm-hs/issues/345 - https://github.com/halide/Halide/issues/6079 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103048/new/ https

[PATCH] D103048: [IR] make -stack-alignment= into a module attr

2021-06-08 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 rG433c8d950cb3: [IR] make -stack-alignment= into a module attr (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SINCE LAS

[PATCH] D103048: [IR] make -stack-alignment= into a module attr

2021-06-08 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 350660. nickdesaulniers added a comment. This revision is now accepted and ready to land. Herald added subscribers: atanasyan, sdardis. - fixes for MIPS Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D1030

[PATCH] D103048: [IR] make -stack-alignment= into a module attr

2021-06-08 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. I've retested with all backends enabled; all green now. Changes added to: - llvm/lib/Target/Mips/MipsCallLowering.cpp - llvm/lib/Target/Mips/MipsTargetMachine.cpp - llvm/test/CodeGen/Mips/stack-alignment.ll Planning to recommit now. Repository: rG LLVM Github

[PATCH] D103048: [IR] make -stack-alignment= into a module attr

2021-06-08 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 rG3787ee457173: reland [IR] make -stack-alignment= into a module attr (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SI

[PATCH] D103928: [IR] make -warn-frame-size into a module attr

2021-06-08 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: tejohnson, rsmith. Herald added subscribers: dexonsmith, dang, pengfei, hiraditya. nickdesaulniers requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commits. -Wf

[PATCH] D103928: [IR] make -warn-frame-size into a module attr

2021-06-08 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/include/clang/Driver/Options.td:2575-2581 // These "special" warning flags are effectively processed as f_Group flags by the driver: // Just silence warnings about -Wlarger-than for now. def Wlarger_than_EQ : Joined<["-

[PATCH] D103928: [IR] make -warn-frame-size into a module attr

2021-06-08 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 350719. nickdesaulniers added a comment. - add CHECK to llvm/test/Linker/warn-stack-frame.ll Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103928/new/ https://reviews.llvm.org/D103928 Files: clang/in

[PATCH] D103958: [WIP] Support MustControl conditional control attribute

2021-06-09 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. The first talk from https://www.youtube.com/watch?v=FFjV9f_Ub9o (https://github.com/ClangBuiltLinux/plumbers-2020-slides/blob/master/LPC_2020_--_Dependency_ordering.pdf) might be helpful to link to at some point from the commit message, for a little additional c

[PATCH] D103928: [IR] make -warn-frame-size into a module attr

2021-06-09 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 351006. nickdesaulniers edited the summary of this revision. nickdesaulniers added a comment. - introduce -fwarn-stack-size Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103928/new/ https://reviews.llvm

[PATCH] D103928: [IR] make -warn-frame-size into a module attr

2021-06-09 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 351007. nickdesaulniers added a comment. - update comment in clang/include/clang/Basic/CodeGenOptions.def Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103928/new/ https://reviews.llvm.org/D103928 File

[PATCH] D103928: [IR] make -warn-frame-size into a module attr

2021-06-09 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 351008. nickdesaulniers added a comment. - add `<` to same comment Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103928/new/ https://reviews.llvm.org/D103928 Files: clang/include/clang/Basic/CodeGenO

[PATCH] D103928: [IR] make -warn-frame-size into a module attr

2021-06-10 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 351250. nickdesaulniers marked an inline comment as done. nickdesaulniers added a comment. - move driver test from clang/test/Frontend/ to clang/test/Driver/, update comment, clarify TODOs Repository: rG LLVM Github Monorepo CHANGES SINCE LAST AC

[PATCH] D103928: [IR] make -warn-frame-size into a module attr

2021-06-10 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 rGfc018ebb608e: [IR] make -warn-frame-size into a module attr (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST

[PATCH] D103928: [IR] make -warn-frame-size into a module attr

2021-06-11 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. FWIW, it was pointed out to me that the commit message doesn't precisely match the actual attribute name. The actual attribute name is `warn-stack-size`, but the commit message uses `-warn-frame-size`. Oh well. Repository: rG LLVM Github Monorepo CHANGES SIN

[PATCH] D103184: [AArch64] handle -Wa,-march=

2021-06-11 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D103184#2813748 , @thakis wrote: > In D103184#2804241 , @jcai19 wrote: > >> In D103184#2803768 , @thakis wrote: >> >>> FWIW the failure

[PATCH] D104253: [Clang][Codegen] emit noprofile IR Fn Attr for no_instrument_function Fn Attr

2021-06-14 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: MaskRay, melver, void. Herald added a subscriber: wenlei. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. noprofile IR attribute already exists to preve

[PATCH] D104253: [Clang][Codegen] emit noprofile IR Fn Attr for no_instrument_function Fn Attr

2021-06-14 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 351956. nickdesaulniers added a comment. - add -disable-llvm-passes to unit test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D104253/new/ https://reviews.llvm.org/D104253 Files: clang/lib/CodeGen/Co

[PATCH] D104253: [Clang][Codegen] emit noprofile IR Fn Attr for no_instrument_function Fn Attr

2021-06-14 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 351960. nickdesaulniers added a comment. - rename new test from fprofile-generate.c to fprofile-instrument.c; -fprofile-generate is the driver opt, -fprofile-instrument is the frontend opt. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST A

[PATCH] D104253: [Clang][Codegen] emit noprofile IR Fn Attr for no_instrument_function Fn Attr

2021-06-14 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D104253#2817695 , @MaskRay wrote: > `__attribute__((no_instrument_function))` seems specific to > `-finstrument-functions`. Somehow `gcc -pg` uses it as well. > > The name may not be generic, so it may be odd to exclu

[PATCH] D104253: [Clang][Codegen] emit noprofile IR Fn Attr for no_instrument_function Fn Attr

2021-06-15 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 352208. nickdesaulniers added a comment. - fixup double fn attr in test as per @melver. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D104253/new/ https://reviews.llvm.org/D104253 Files: clang/lib/Cod

[PATCH] D103928: [IR] make -warn-frame-size into a module attr

2021-06-15 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/test/Linker/warn-stack-frame.ll:6 + +; CHECK-MISMATCH: error: linking module flags 'warn-stack-size': IDs have conflicting values + dblaikie wrote: > If you like, you could make this a function attribute in

[PATCH] D104342: [IR] convert warn-stack-size from module attr to fn attr

2021-06-15 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: qcolombet, dblaikie. Herald added subscribers: dexonsmith, jdoerfert, pengfei, hiraditya. nickdesaulniers requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commit

[PATCH] D104475: [Clang][Codegen] emit noprofile IR Fn Attr for new Fn Attr no_profile

2021-06-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: MaskRay, melver, void, davidxl, vsk, phosek. Herald added a reviewer: aaron.ballman. Herald added subscribers: wenlei, jdoerfert. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a

[PATCH] D104253: [Clang][Codegen] emit noprofile IR Fn Attr for no_instrument_function Fn Attr

2021-06-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers abandoned this revision. nickdesaulniers added a comment. Jotting down driver to front end flag translations: -fprofile-generate -> -fprofile-instrument=llvm -fprofile-instr-generate -> -fprofile-instrument=clang -fcs-profile-generate -> -fprofile-instrument=csllvm -fprofile-arcs

[PATCH] D104342: [IR] convert warn-stack-size from module attr to fn attr

2021-06-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D104342#2820811 , @dblaikie wrote: > what're the rules about module level attributes like this? For instance: Does > this affect/hinder inlining (if the attributes don't match between the caller > and callee)? Other s

[PATCH] D104342: [IR] convert warn-stack-size from module attr to fn attr

2021-06-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/CodeGen/PrologEpilogInserter.cpp:282 +.getValueAsString() +.getAsInteger(0, Threshold); if (StackSize > Threshold) { nickdesaulniers wrote: > dblaikie wrote: > > I guess the 0 value he

[PATCH] D104342: [IR] convert warn-stack-size from module attr to fn attr

2021-06-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 352841. nickdesaulniers marked an inline comment as done. nickdesaulniers added a comment. - verifier checks, inliner test, use base 10 radix Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D104342/new/ ht

[PATCH] D104475: [Clang][Codegen] emit noprofile IR Fn Attr for new Fn Attr no_profile

2021-06-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 352844. nickdesaulniers marked 3 inline comments as done. nickdesaulniers added a comment. - fix td files and test CHECKs Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D104475/new/ https://reviews.llvm.o

[PATCH] D104491: [Docs][Clang][Attr] mark no_stack_protector+no_sanitize GCC compatible

2021-06-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: void, melver. Herald added a reviewer: aaron.ballman. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. GCC has supported the function attributes __attrib

[PATCH] D104475: [Clang][Codegen] emit noprofile IR Fn Attr for new Fn Attr no_profile

2021-06-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D104475#2825711 , @MaskRay wrote: > So if we don't want to offer guarantee for IR/C/C++ attributes, we can > document that users may need to additionally specify > `__attribute__((noinline))` to suppress inlining. I

[PATCH] D104475: [Clang][Codegen] emit noprofile IR Fn Attr for new Fn Attr no_profile

2021-06-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D104475#2825795 , @MaskRay wrote: > In D104475#2825772 , > @nickdesaulniers wrote: > >> In D104475#2825711 , @MaskRay >> wrote: >> >>

[PATCH] D104475: [Clang][Codegen] emit noprofile IR Fn Attr for new Fn Attr no_profile

2021-06-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 353061. nickdesaulniers marked an inline comment as done. nickdesaulniers added a comment. - add hyphen to docs, add boilerplate test to check Subjects. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D1044

[PATCH] D104475: [Clang][Codegen] emit noprofile IR Fn Attr for new Fn Attr no_profile

2021-06-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/include/clang/Basic/Attr.td:1975 + let Spellings = [Clang<"no_profile">]; + let Subjects = SubjectList<[Function]>; + let Documentation = [NoProfileDocs]; aaron.ballman wrote: > Should this also be suppo

[PATCH] D104491: [Docs][Clang][Attr] mark no_stack_protector+no_sanitize GCC compatible

2021-06-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers abandoned this revision. nickdesaulniers added a comment. ah, ok, then if this isn't a quick cleanup, I don't really care about this. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D104491/new/ https://reviews.llvm.org/D104491 __

[PATCH] D104475: [Clang][Codegen] Add GNU function attribute 'no_profile' and lower it to noprofile

2021-06-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 353074. nickdesaulniers added a comment. - rename test, add __has_attribute unit test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D104475/new/ https://reviews.llvm.org/D104475 Files: clang/include/c

[PATCH] D103958: [WIP] Support MustControl conditional control attribute

2021-06-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. FWIW, LWN recently published summary of some of the recent discussions on LKML: https://lwn.net/SubscriberLink/860037/aca06acfafce7937/. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103958/new/ https://reviews.llv

[PATCH] D104475: [Clang][Codegen] Add GNU function attribute 'no_profile' and lower it to noprofile

2021-06-18 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 rG193e41c98712: [Clang][Codegen] Add GNU function attribute 'no_profile' and lower it to… (authored by nickdesaulniers). Repository: rG LLVM Github

[PATCH] D104342: [IR] convert warn-stack-size from module attr to fn attr

2021-06-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 353102. nickdesaulniers added a comment. - fix lint, add linker test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D104342/new/ https://reviews.llvm.org/D104342 Files: clang/lib/CodeGen/CodeGenFunctio

[PATCH] D104342: [IR] convert warn-stack-size from module attr to fn attr

2021-06-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D104342#2827847 , @dblaikie wrote: > Another thing you might want to check is linkonce_odr functions - I guess > you'll get an arbitrary choice between two linkonce_odr functions under LTO > where they have different

[PATCH] D104342: [IR] convert warn-stack-size from module attr to fn attr

2021-06-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 353110. nickdesaulniers added a comment. - git add the Linker test! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D104342/new/ https://reviews.llvm.org/D104342 Files: clang/lib/CodeGen/CodeGenFunction

[PATCH] D104475: [Clang][Codegen] Add GNU function attribute 'no_profile' and lower it to noprofile

2021-06-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. rG817218336aa3e3c0ca422ae00f8d8ca41b8fbd6d follow up based on reports of test failure on mac. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D1044

[PATCH] D104656: Reland "[AArch64] handle -Wa,-march="

2021-06-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. > This reverts commit fd11a26d368c5a909fb88548fef2cee7a6c2c931 > Shouldn't that be `This relands commit fd11a26d368c5a909fb88548fef2cee7a6c2c931`? It's pretty hard to see what's different in

[PATCH] D104658: [Clang][Codegen] rename no_profile fn attr no_profile_instrument_function

2021-06-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: MaskRay, void, phosek, aaron.ballman. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. GCC has had this function attribute since GCC 7.1 for this purpose

[PATCH] D104475: [Clang][Codegen] Add GNU function attribute 'no_profile' and lower it to noprofile

2021-06-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. It looks like GCC has had `no_profile_instrument_function` since GCC 7.1 for this purpose. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80223#c11 Follow up: https://reviews.llvm.org/D104658. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION ht

[PATCH] D103184: [AArch64] handle -Wa,-march=

2021-06-21 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. removing LGTM until the reland is posted for review here so we can use the history tab to observe the changes. Repository: rG LLVM Github Monorepo CHANGES SINCE

[PATCH] D103184: Reland "[AArch64] handle -Wa,-march="

2021-06-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Arch/AArch64.cpp:201-205 + // Call getAArch64ArchFeaturesFromMarch only if "-Wa,-march=" or + // "-Xassembler -march" is detected. Otherwise it may return false + // and causes Clang to error out. +

[PATCH] D103184: Reland "[AArch64] handle -Wa,-march="

2021-06-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. Thanks for following up on a fix! Comment at: clang/lib/Driver/ToolChains/Arch/AArch64.cpp:201-205 + // Call getAArch64ArchFeaturesFromMarch only if "-Wa,-

[PATCH] D104342: [IR] convert warn-stack-size from module flag to fn attr

2021-06-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 353499. nickdesaulniers marked 2 inline comments as done. nickdesaulniers edited the summary of this revision. nickdesaulniers added a comment. - fix langref, delete inline and linker tests Repository: rG LLVM Github Monorepo CHANGES SINCE LAST AC

[PATCH] D104342: [IR] convert warn-stack-size from module flag to fn attr

2021-06-22 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D104342#2831738 , @dblaikie wrote: >> In D104342#2831717 , @dblaikie >> wrote: >> >>> Probably worth at least writing up the risk/instability in the docs for the >>> warning (

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

2021-06-22 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp:58-80 +std::string OldName = Name.str(); std::string NewName = (Name + ModuleId).str(); if (const auto *C = ExportGV.getComdat()) if (C->getName() == Name)

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

2021-07-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp:39 + // Promotion aliases are used only in inline assembly. It's safe to + // simply skip unusual names. Matches MCAsmInfo::isAcceptableChar(). + for (const char &C : Name) { --

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

2021-07-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp:45 + } + return true; +} samitolvanen wrote: > nickdesaulniers wrote: > > Can llvm::any_of or llvm::none_of be used here? > > llvm/ADT/STLExtras.h > Maybe, but I

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

2021-07-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp:45 + } + return true; +} samitolvanen wrote: > nickdesaulniers wrote: > > samitolvanen wrote: > > > nickdesaulniers wrote: > > > > Can llvm::any_of or llvm::none

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

2021-08-02 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 363581. nickdesaulniers marked 2 inline comments as done. nickdesaulniers edited the summary of this revision. nickdesaulniers added a comment. - reusing existing Diag/Notes, remove test comment, add test for indirect call Repository: rG LLVM Githu

[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/AttrDocs.td:6026 +depend on optimizations, while providing diagnostics pointing to precise +locations of the call site in the source. + }]; aaron.ballman wrote: > nickdesaulnier

[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/lib/CodeGen/CodeGenAction.cpp:783 + else +Diags.Report(DiagID) << CalleeName << D.getMsgStr(); +} nickdesaulniers wrote: > aaron.ballman wrote: > > nickdesaulniers wrote: > > > aaron.ballman wrote: > >

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