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

2023-06-05 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 528605. nickdesaulniers added a comment. - use @efriedma's suggestion w/ dyn_cast Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D151587/new/ https://reviews.llvm.org/D151587 Files: clang/lib/CodeGen/C

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

2023-06-05 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D151587#4397272 , @efriedma wrote: > Two points I'm not sure about in the current version: > > - Handling MaterializeTemporaryExpr in ConstExprEmitter doesn't make sense; > ConstExprEmitter is not supposed to visit lva

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

2023-06-05 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D151587#4397446 , @efriedma wrote: > The following also crashes, with no MaterializeTemporaryExpr involved. > > struct X { > short n; > char c; > }; > > struct Y { > _Atomic(X) a; > _Atomic(int)

cfe-commits@lists.llvm.org

2023-06-06 Thread Nick Desaulniers via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG8abbc17ff3b1: reland: [Demangle] make llvm::demangle take std::string_view rather than const… (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://revi

[PATCH] D152303: [ExprConstant] fix ICE from Evaluate on _Atomic structs

2023-06-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Fixes two crashes reported by @efriedma and @ahatanak, as per @ahatanak's analysis. Link: https://reviews.l

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

2023-06-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D151587#4399684 , @ahatanak wrote: > Is there a github issue for this crash? I'm not aware, but I also haven't looked. > Is anyone looking into this? I guess I am tangentially as it seems to be a blocker for this pat

[PATCH] D152303: [ExprConstant] fix ICE from Evaluate on _Atomic structs

2023-06-08 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 529652. nickdesaulniers added a comment. - add release note Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D152303/new/ https://reviews.llvm.org/D152303 Files: clang/docs/ReleaseNotes.rst clang/lib/A

[PATCH] D152303: [ExprConstant] fix ICE from Evaluate on _Atomic structs

2023-06-08 Thread Nick Desaulniers via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG9daab7fb02d2: [ExprConstant] fix ICE from Evaluate on _Atomic structs (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D152303/new

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

2023-06-08 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 529732. nickdesaulniers retitled this revision from "[clang][ConstantEmitter] have tryEmitPrivateForVarInit try ConstExprEmitter fast-path first" to "[clang][ConstantEmitter] have tryEmitPrivate[ForVarInit] try ConstExprEmitter fast-path first". nick

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

2023-06-08 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers abandoned this revision. nickdesaulniers added a comment. Squashed up into https://reviews.llvm.org/D151587. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D151572/new/ https://reviews.llvm.org/D151572 ___

[PATCH] D152433: [ARM,AArch64] Add a full set of -mtp= options.

2023-06-09 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp:4941-4943 if (LoadImmOpc == ARM::MRC || LoadImmOpc == ARM::t2MRC) { -assert(Subtarget.isReadTPHard() && +assert(!Subtarget.isReadTPSoft() && "TLS stack protector req

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

2023-06-09 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CGExprConstant.cpp:1279 + if (isa(E)) +return nullptr; + efriedma wrote: > efriedma wrote: > > This needs a comment explaining why we're bailing out here. > We might need to do a re

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

2023-06-09 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 530107. nickdesaulniers added a comment. - resurrect HasAnyMaterializeTemporaryExpr, add @efriedma's test case Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D151587/new/ https://reviews.llvm.org/D151587

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

2023-06-09 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 530109. nickdesaulniers marked 2 inline comments as done. nickdesaulniers added a comment. - remove fixme, restore isReferenceType Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D151587/new/ https://revie

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

2023-06-09 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 530110. nickdesaulniers added a comment. - move added test case CHECK lines closer Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D151587/new/ https://reviews.llvm.org/D151587 Files: clang/lib/CodeGen/

[PATCH] D152433: [ARM,AArch64] Add a full set of -mtp= options.

2023-06-14 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! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D152433/new/ https://reviews.llvm.org/D152433

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

2022-12-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 480992. nickdesaulniers added a comment. - rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D137113/new/ https://reviews.llvm.org/D137113 Files: clang/lib/CodeGen/CGStmt.cpp Index: clang/lib/Code

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

2022-12-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 480993. nickdesaulniers edited the summary of this revision. nickdesaulniers added a comment. - rebase, use new callbrpad inst Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136497/new/ https://reviews.l

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

2022-12-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Probably should copy the release note change from https://reviews.llvm.org/D138078. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136497/new/ https://reviews.llvm.org/D136497 __

[PATCH] D139395: Add CFI integer types normalization

2022-12-12 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added subscribers: hjl.tools, rjmccall. nickdesaulniers added a comment. Thanks for the patch and the work on cross language CFI support! I wonder if we have precedent for other non-standard extensions to `ItaniumMangleContextImpl`? I wonder if we should perhaps have a distinct

[PATCH] D139768: [SPARC][clang] Add SPARC target feature flags

2022-12-14 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! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D139768/new/ https://reviews.llvm.org/D139768

[PATCH] D118199: [AArch64] ACLE feature macro for Armv8.8-A MOPS

2022-01-25 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. > This patch supersedes the one from https://reviews.llvm.org/D116160. Can that one be abandoned then? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118199/new/ https://reviews.llvm.org/D118199 ___

[PATCH] D118297: [clang] add Diag -Wasm-volatile for implied volatile asm stmts

2022-01-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. Herald added subscribers: frasercrmck, luismarques, apazos, sameer.abuasal, pengfei, s.egerton, Jim, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, rogfer01, edward-jones, zzheng, jrtc27, niosHD, sabuasal, sunfish, simoncook, johnrusso, rbar, asb, dylanmc

[PATCH] D118297: [clang] add Diag -Wasm-volatile for implied volatile asm stmts

2022-01-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Parse/ParseStmtAsm.cpp:788 +else if (NumOutputs == 0) + Diag(Loc, diag::warn_asm_volatile); + } `Loc` is not correct if `volatile` is not the first asm-qualifier. Repository: rG LLVM Githu

[PATCH] D118297: [clang] add Diag -Wasm-volatile for implied volatile asm stmts

2022-01-28 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/include/clang/Basic/DiagnosticParseKinds.td:31 +def warn_asm_volatile_goto : Warning<"volatile qualifier implied by goto">, InGroup; +def warn_asm_volatile : Warning<"volatile qualifier implied by lack of outputs">, InGro

[PATCH] D118297: [clang] add Diag -Wasm-volatile for implied volatile asm stmts

2022-01-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 404676. nickdesaulniers edited the summary of this revision. nickdesaulniers added a comment. - fix volatile location, more tests Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118297/new/ https://review

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

2022-01-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Neat use of tablegen; will take me a bit to wrap my head around it. I'll give this a shot on some kernel builds first thing tomorrow! Comment at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:232-240 + /// Returns true if a register can be u

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

2022-01-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/Target/X86/X86RegisterInfo.cpp:621 +BitVector X86RegisterInfo::getArgumentRegs(const MachineFunction &MF) const { + const X86Subtarget &Subtarget = MF.getSubtarget(); nickdesaulniers wrote: > pengfei

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

2022-02-01 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Hey! Looks like Diff 404763 for an x86 defconfig plus CONFIG_ZERO_CALL_USED_REGS=y starts booting! Looks like it panics though trying to launch `init`(pid 1) though. [0.702163] Run /bin/sh as init process [0.702913] Failed to execute /bin/sh (error -

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

2022-02-01 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/CodeGen/PrologEpilogInserter.cpp:1269 + const TargetFrameLowering &TFI = *MF.getSubtarget().getFrameLowering(); + for (auto RestoreBlock : RestoreBlocks) +TFI.emitZeroCallUsedRegs(RegsToZero, *RestoreBlock); --

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

2022-02-01 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Diff 405119 still kernel panics for me. This is building the linux-next tree. $ qemu-system-x86_64 --version QEMU emulator version 6.2.0 (Debian 1:6.2+dfsg-1) Comment at: llvm/lib/Target/X86/X86FrameLowering.cpp:516 + } + return MBBI = Fi

[PATCH] D120111: [AArch64] Default HBC/MOPS features in clang

2022-02-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Arch/AArch64.cpp:464-473 + const char *v8691OrLater[] = {"+v8.6a", "+v8.7a", "+v8.8a", + "+v9.1a", "+v9.2a", "+v9.3a"}; auto Pos = std::find_first_of(Features.begin(),

[PATCH] D120111: [AArch64] Default HBC/MOPS features in clang

2022-03-01 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers accepted this revision. nickdesaulniers added a comment. In D120111#3351001 , @tmatheson wrote: > LGTM, please give @nickdesaulniers some time to respond though. I do agree > that iterating over the features repeatedly is less than ideal,

[PATCH] D120864: [AArch64] Avoid scanning feature list for target parsing

2022-03-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Arch/AArch64.cpp:407-408 // TargetParser rewrite. const auto ItRNoFullFP16 = std::find(Features.rbegin(), Features.rend(), "-fullfp16"); const auto ItRFP16FML = std::find(Features.rbegin(), F

[PATCH] D100919: [AArch64] Support customizing stack protector guard

2021-04-23 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Herald added a subscriber: tmatheson. Comment at: clang/lib/Driver/ToolChains/Clang.cpp:3104 << A->getAsString(Args) << TripleStr; -if (Value != "tls" && Value != "global") { +if (Value != "tls" && Value != "global" && Val

[PATCH] D100919: [AArch64] Support customizing stack protector guard

2021-04-23 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 340192. nickdesaulniers added a comment. This revision is now accepted and ready to land. - fix 32b ARM triple, add test for non-zero offset, actually load ptr Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.or

[PATCH] D100919: [AArch64] Support customizing stack protector guard

2021-04-23 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/test/CodeGen/AArch64/stack-guard-sysreg-nonzero-offset.ll:1 +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py +; RUN: llc %s --stack-protector-guard=sysreg \ This can be combined

[PATCH] D100919: [AArch64] Support customizing stack protector guard

2021-04-23 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/Target/AArch64/AArch64InstrInfo.cpp:1914-1915 + BuildMI(MBB, MI, DL, get(AArch64::LDRXui)) + .addReg(Reg, getKillRegState(false)) + .addReg(Reg, RegState::Define) + .addImm(Options.StackPr

[PATCH] D100919: [AArch64] Support customizing stack protector guard

2021-04-23 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 340212. nickdesaulniers added a comment. This revision is now accepted and ready to land. - combine tests, clean up Clang drivers slightly Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D100919/new/ https

[PATCH] D100919: [AArch64] Support customizing stack protector guard

2021-04-23 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Clang.cpp:3114 if (Arg *A = Args.getLastArg(options::OPT_mstack_protector_guard_offset_EQ)) { StringRef Value = A->getValue(); nickdesaulniers wrote: > TODO: GCC treats this

[PATCH] D100919: [AArch64] Support customizing stack protector guard

2021-04-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added subscribers: jyknight, echristo. nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Clang.cpp:3138 } +if (EffectiveTriple.isAArch64() && Value != "sp_el0") { + D.Diag(diag::err_drv_invalid_value_with_suggestion)

[PATCH] D100919: [AArch64] Support customizing stack protector guard

2021-04-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Clang.cpp:3138 } +if (EffectiveTriple.isAArch64() && Value != "sp_el0") { + D.Diag(diag::err_drv_invalid_value_with_suggestion) nickdesaulniers wrote: > nickdesaulniers w

[PATCH] D101325: [CodeGenOptions] make StackProtectorGuardOffset signed

2021-04-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: xiangzhangllvm, craig.topper, MaskRay, LemonBoy. Herald added subscribers: jansvoboda11, dexonsmith, dang, pengfei, hiraditya. nickdesaulniers requested review of this revision. Herald added projects: clang, LLVM. Herald added

[PATCH] D100919: [AArch64] Support customizing stack protector guard

2021-04-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 340652. nickdesaulniers added a comment. This revision is now accepted and ready to land. - add support for NPOT and negative offsets Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D100919/new/ https://re

[PATCH] D100919: [AArch64] Support customizing stack protector guard

2021-04-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Clang.cpp:3138 } +if (EffectiveTriple.isAArch64() && Value != "sp_el0") { + D.Diag(diag::err_drv_invalid_value_with_suggestion) nickdesaulniers wrote: > nickdesaulniers w

[PATCH] D101327: [Clang][Driver] validate sysregs for -mstack-protector-guard-reg=

2021-04-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: echristo, jyknight, rsmith. Herald added a subscriber: kristof.beyls. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. In order to support arbitrary AArc

[PATCH] D101327: [Clang][Driver] validate sysregs for -mstack-protector-guard-reg=

2021-04-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 340662. nickdesaulniers added a comment. - remove comment about string case Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D101327/new/ https://reviews.llvm.org/D101327 Files: clang/lib/Driver/ToolChai

[PATCH] D101325: [CodeGenOptions] make StackProtectorGuardOffset signed

2021-04-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 rGea8416bf4df4: [CodeGenOptions] make StackProtectorGuardOffset signed (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES S

[PATCH] D100919: [AArch64] Support customizing stack protector guard

2021-04-27 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 340905. nickdesaulniers marked 3 inline comments as done. nickdesaulniers added a comment. - prefer err_drv_invalid_value Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D100919/new/ https://reviews.llvm.o

[PATCH] D100919: [AArch64] Support customizing stack protector guard

2021-04-27 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Clang.cpp:3138 } +if (EffectiveTriple.isAArch64() && Value != "sp_el0") { + D.Diag(diag::err_drv_invalid_value_with_suggestion) DavidSpickett wrote: > nickdesaulniers wro

[PATCH] D101327: [Clang][Driver] validate sysregs for -mstack-protector-guard-reg=

2021-04-27 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 340915. nickdesaulniers added a comment. - prefer vanilla array + llvm::find Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D101327/new/ https://reviews.llvm.org/D101327 Files: clang/lib/Driver/ToolCha

[PATCH] D101327: [Clang][Driver] validate sysregs for -mstack-protector-guard-reg=

2021-04-27 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D101327#2718989 , @DavidSpickett wrote: > So if kernel builds are using a small subset of registers, just check for > those. The kernel uses just one for aarch64. It looks like GCC just feeds through whatever is spe

[PATCH] D100919: [AArch64] Support customizing stack protector guard

2021-04-27 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked an inline comment as not done. nickdesaulniers added inline comments. Comment at: clang/test/Driver/stack-protector-guard.c:59 +// INVALID-VALUE-AARCH64: error: invalid value 'tls' in 'mstack-protector-guard=','valid arguments to '-mstack-protector-guard='

[PATCH] D101387: remove single quotes around sugguestion diagnostic

2021-04-27 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: xiangzhangllvm, MaskRay, DavidSpickett. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Clutters the sugguestion. Repository: rG LLVM Github Monorep

[PATCH] D101327: [Clang][Driver] validate sysregs for -mstack-protector-guard-reg=

2021-04-27 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 340931. nickdesaulniers added a comment. - rebase on D101387 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D101327/new/ https://reviews.llvm.org/D101327 Files: clang

[PATCH] D100919: [AArch64] Support customizing stack protector guard

2021-04-27 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 340932. nickdesaulniers added a comment. - rebase on D101387 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D100919/new/ https://reviews.llvm.org/D100919 Files: clang

[PATCH] D100581: [Clang] -Wunused-but-set-parameter and -Wunused-but-set-variable

2021-04-27 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. I think this is triggering some false positives in builds of the Linux kernel. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D100581/new/ https://reviews.llvm.org/D100581

[PATCH] D100581: [Clang] -Wunused-but-set-parameter and -Wunused-but-set-variable

2021-04-27 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Huh, maybe not: https://godbolt.org/z/PnE1fMGWo Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D100581/new/ https://reviews.llvm.org/D100581 ___ cfe-commits mailing list cf

[PATCH] D100581: [Clang] -Wunused-but-set-parameter and -Wunused-but-set-variable

2021-04-28 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D100581#2723789 , @mbenfield wrote: > But gcc's behavior is to not trigger here so maybe following it is best. Perhaps file a bug against GCC to find whether that was intentional or a bug? Repository: rG LLVM Githu

[PATCH] D100581: [Clang] -Wunused-but-set-parameter and -Wunused-but-set-variable

2021-04-29 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. I'm happy to retest with a few Linux kernel builds...tomorrow! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D100581/new/ https://reviews.llvm.org/D100581 ___ cfe-commits

[PATCH] D101387: remove single quotes around sugguestion diagnostic

2021-04-29 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 341709. nickdesaulniers added a comment. - rework diags Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D101387/new/ https://reviews.llvm.org/D101387 Files: clang/include/clang/Basic/DiagnosticDriverKin

[PATCH] D101387: [Clang] remove text extension from diag::err_drv_invalid_value_with_suggestion

2021-04-29 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 341711. nickdesaulniers added a comment. - fix flang diag placeholders Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D101387/new/ https://reviews.llvm.org/D101387 Files: clang/include/clang/Basic/Diag

[PATCH] D101387: [Clang] remove text extension from diag::err_drv_invalid_value_with_suggestion

2021-04-29 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. While I appreciate the flexibility afforded by %select; I find the suggestions unreadable. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D101387/new/ https://reviews.llvm.org/D101387 ___

[PATCH] D101387: [Clang] remove text extension from diag::err_drv_invalid_value_with_suggestion

2021-04-29 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/include/clang/Basic/DiagnosticDriverKinds.td:280 +def err_drv_small_columns : Error< +"invalid value '%1' in '%0', expected '%1' to be '%2' or greater">; xbolva00 wrote: > invalid value '%1' in '%0',

[PATCH] D101387: [Clang] remove text extension from diag::err_drv_invalid_value_with_suggestion

2021-04-29 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 341742. nickdesaulniers added a comment. - remove extra whitespace, use xbolva00's sugguestion text Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D101387/new/ https://reviews.llvm.org/D101387 Files: c

[PATCH] D101387: [Clang] remove text extension from diag::err_drv_invalid_value_with_suggestion

2021-04-29 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked 4 inline comments as done. nickdesaulniers added inline comments. Comment at: clang/include/clang/Basic/DiagnosticDriverKinds.td:280 +def err_drv_small_columns : Error< +"invalid value '%1' in '%0', expected '%1' to be '%2' or greater">; -

[PATCH] D101387: [Clang] remove text extension from diag::err_drv_invalid_value_with_suggestion

2021-04-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked an inline comment as done. nickdesaulniers added a comment. Ready for rereview. Comment at: clang/include/clang/Basic/DiagnosticDriverKinds.td:280 +def err_drv_small_columns : Error< +"invalid value '%1' in '%0', expected '%1' to be '%2' or greater">;

[PATCH] D101387: [Clang] remove text extension from diag::err_drv_invalid_value_with_suggestion

2021-04-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. @FarisRehman when I run `llvm-lit -vv flang/test/Driver/fixed-line-length.f90` I see: UNSUPPORTED: Flang :: Driver/fixed-line-length.f90 (1 of 1) This is with `-DLLVM_ENABLE_PROJECTS="clang;lld;compiler-rt;flang"` used, and a `flang` binary produced. Does `R

[PATCH] D100581: [Clang] -Wunused-but-set-parameter and -Wunused-but-set-variable

2021-04-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/include/clang/Basic/DiagnosticGroups.td:876 UnusedLocalTypedef, UnusedValue, UnusedVariable, -UnusedPropertyIvar]>, +UnusedButSetVariable, UnusedPrope

[PATCH] D100581: [Clang] -Wunused-but-set-parameter and -Wunused-but-set-variable

2021-04-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. I see lots of instances from the kernel that look like this when reduced: $ cat foo.c int page; int put_page_testzero(int); void foo (void) { int zeroed; zeroed = put_page_testzero(page); ((void)(sizeof(( long)(!zeroed; } $ clang -c -Wa

[PATCH] D100581: [Clang] -Wunused-but-set-parameter and -Wunused-but-set-variable

2021-04-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. The additions of `-Wno-unused-but-set-variable` to: - clang/test/SemaObjC/foreach.m - clang/test/SemaCXX/sizeless-1.cpp - clang/test/SemaCXX/shift.cpp - clang/test/SemaCXX/goto.cpp - clang/test/Sema/vector-gcc-compat.cpp - clang/test/Sema/vector-gcc-compat.c - cla

[PATCH] D100581: [Clang] -Wunused-but-set-parameter and -Wunused-but-set-variable

2021-04-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Testing Diff 342071 on the mainline Linux kernel, just building x86_64 defconfig triggers 19 instances of this warning; all look legit. ;) In D100581#2730708 , @dblaikie wrote: > In D100581#2730557

[PATCH] D100581: [Clang] -Wunused-but-set-parameter and -Wunused-but-set-variable

2021-04-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D100581#2730760 , @mbenfield wrote: > In D100581#2730557 , > @nickdesaulniers wrote: > >> I see lots of instances from the kernel that look like this when reduced: > > > >> But

[PATCH] D101387: [Clang] remove text extension from diag::err_drv_invalid_value_with_suggestion

2021-05-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 342470. nickdesaulniers added a comment. - trim diag as per @MaskRay Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D101387/new/ https://reviews.llvm.org/D101387 Files: clang/include/clang/Basic/Diagno

[PATCH] D101387: [Clang] remove text extension from diag::err_drv_invalid_value_with_suggestion

2021-05-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D101387#2731436 , @awarzynski wrote: > In D101387#2730043 , > @nickdesaulniers wrote: > >> @FarisRehman when I run `llvm-lit -vv >> flang/test/Driver/fixed-line-length.f90` I

[PATCH] D101387: [Clang] remove text extension from diag::err_drv_invalid_value_with_suggestion

2021-05-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/Driver/stack-protector-guard.c:38 // CHECK-GS: "-cc1" {{.*}}"-mstack-protector-guard-reg=gs" -// INVALID-REG: error: invalid value {{.*}} in 'mstack-protector-guard-reg=','for X86, valid arguments to '-mstack-protec

[PATCH] D101387: [Clang] remove text extension from diag::err_drv_invalid_value_with_suggestion

2021-05-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/Driver/stack-protector-guard.c:38 // CHECK-GS: "-cc1" {{.*}}"-mstack-protector-guard-reg=gs" -// INVALID-REG: error: invalid value {{.*}} in 'mstack-protector-guard-reg=','for X86, valid arguments to '-mstack-protec

[PATCH] D101387: [Clang] remove text extension from diag::err_drv_invalid_value_with_suggestion

2021-05-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/include/clang/Basic/DiagnosticDriverKinds.td:279 "-fembed-bitcode is not supported on versions of iOS prior to 6.0">; +def err_drv_negative_columns : Error< +"invalid value '%1' in '%0', value must be 'none' or a pos

[PATCH] D101387: [Clang] remove text extension from diag::err_drv_invalid_value_with_suggestion

2021-05-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 342475. nickdesaulniers added a comment. - "expected one of: ..." Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D101387/new/ https://reviews.llvm.org/D101387 Files: clang/include/clang/Basic/Diagnosti

[PATCH] D101387: [Clang] remove text extension from diag::err_drv_invalid_value_with_suggestion

2021-05-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked 7 inline comments as done. nickdesaulniers added inline comments. Comment at: clang/include/clang/Basic/DiagnosticDriverKinds.td:279 "-fembed-bitcode is not supported on versions of iOS prior to 6.0">; +def err_drv_negative_columns : Error< +"invalid

[PATCH] D98798: Produce warning for performing pointer arithmetic on a null pointer.

2021-05-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D98798#2734598 , @xbolva00 wrote: > Maybe Nick could try this patch with linux kernel? Yes! Thank you of thinking of me for this; we're currently sorting issues identified by this warning (as implemented today, for add

[PATCH] D98798: Produce warning for performing pointer arithmetic on a null pointer.

2021-05-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. I didn't see any instances in quick testing on the Linux kernel: x86_64 defconfig, aarch64 defconfig, arm defconfig, x86_64 allmodconfig. So I guess that's a good thing (for Linux)! Comment at: clang/lib/Sema/SemaExpr.cpp:10723-10733 + b

[PATCH] D100919: [AArch64] Support customizing stack protector guard

2021-05-04 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 342905. nickdesaulniers marked an inline comment as done. nickdesaulniers added a comment. - rebase, update comment Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D100919/new/ https://reviews.llvm.org/D10

[PATCH] D100919: [AArch64] Support customizing stack protector guard

2021-05-04 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked an inline comment as done. nickdesaulniers added inline comments. Comment at: llvm/test/CodeGen/AArch64/stack-guard-sysreg.ll:20 +; RUN: --stack-protector-guard-offset=-1 -o - | \ +; RUN: FileCheck --check-prefix=CHECK --check-prefix=CHECK-NPOT-NEG-OFFSET

[PATCH] D100919: [AArch64] Support customizing stack protector guard

2021-05-04 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/Target/AArch64/AArch64InstrInfo.cpp:1914-1915 + BuildMI(MBB, MI, DL, get(AArch64::LDRXui)) + .addReg(Reg, getKillRegState(false)) + .addReg(Reg, RegState::Define) + .addImm(Options.StackPr

[PATCH] D100919: [AArch64] Support customizing stack protector guard

2021-05-04 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 342921. nickdesaulniers added a comment. - prefer addDef, explicit register kills Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D100919/new/ https://reviews.llvm.org/D100919 Files: clang/include/clang

[PATCH] D100919: [AArch64] Support customizing stack protector guard

2021-05-04 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/Target/AArch64/AArch64InstrInfo.cpp:1914-1915 + BuildMI(MBB, MI, DL, get(AArch64::LDRXui)) + .addReg(Reg, getKillRegState(false)) + .addReg(Reg, RegState::Define) + .addImm(Options.StackPr

[PATCH] D100919: [AArch64] Support customizing stack protector guard

2021-05-04 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/Target/AArch64/AArch64InstrInfo.cpp:1914-1915 + BuildMI(MBB, MI, DL, get(AArch64::LDRXui)) + .addReg(Reg, getKillRegState(false)) + .addReg(Reg, RegState::Define) + .addImm(Options.StackPr

[PATCH] D101387: [Clang] remove text extension from diag::err_drv_invalid_value_with_suggestion

2021-05-05 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 rGaefbfbcbd776: [Clang] remove text extension from diag::err_drv_invalid_value_with_suggestion (authored by nickdesaulniers). Repository: rG LLVM Gi

[PATCH] D100919: [AArch64] Support customizing stack protector guard

2021-05-10 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. bumping for review Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D100919/new/ https://reviews.llvm.org/D100919 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http

[PATCH] D100919: [AArch64] Support customizing stack protector guard

2021-05-11 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 344549. nickdesaulniers marked an inline comment as done. nickdesaulniers added a comment. - reorder USE/DEF, add -verify-machineinstrs Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D100919/new/ https://

[PATCH] D100919: [AArch64] Support customizing stack protector guard

2021-05-11 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D100919#2750125 , @dmgreen wrote: > It's worth adding -verify-machineinstrs to the tests, to check the code > passes the internal checks. Done. Comment at: llvm/lib/Target/AArch64/AArch64InstrInfo.

[PATCH] D100919: [AArch64] Support customizing stack protector guard

2021-05-11 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/Target/AArch64/AArch64InstrInfo.cpp:1917 +.addDef(Reg) +.addImm(Options.StackProtectorGuardOffset >> 3); + else dmgreen wrote: > nickdesaulniers wrote: > > dmgreen wrote: > >

[PATCH] D116415: [Arm] Remove duplicate CPU tests

2021-12-30 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/test/Driver/arm-cortex-cpus.c:217 // RUN: %clang -target arm -march=armv8.1-a -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V81A %

[PATCH] D116059: [Clang][CFG] check children statements of asm goto

2022-01-05 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 397728. nickdesaulniers added a comment. - don't bother checking if a Val is Initialized Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D116059/new/ https://reviews.llvm.org/D116059 Files: clang/lib/An

[PATCH] D116059: [Clang][CFG] check children statements of asm goto

2022-01-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D116059#3225862 , @efriedma wrote: > Do we have testcases for how -Wuninitialized/-Wmaybe-uninitialized interact > with asm goto? We have tests for `-Wuninitialized`; clang/test/Analysis/uninit-asm-goto.cpp (D71314 <

[PATCH] D116059: [Clang][CFG] check children statements of asm goto

2022-01-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 397965. nickdesaulniers added a comment. This revision is now accepted and ready to land. - add previously red -Warray-bounds test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D116059/new/ https://revie

[PATCH] D116059: [Clang][CFG] check children statements of asm goto

2022-01-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers planned changes to this revision. nickdesaulniers added a comment. will add more tests Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D116059/new/ https://reviews.llvm.org/D116059 ___ cfe-c

[PATCH] D116059: [Clang][CFG] check children statements of asm goto

2022-01-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 397983. nickdesaulniers added a comment. This revision is now accepted and ready to land. - MOAR TESTS RAWR!!1one Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D116059/new/ https://reviews.llvm.org/D1160

[PATCH] D116059: [Clang][CFG] check children statements of asm goto

2022-01-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked an inline comment as done. nickdesaulniers added inline comments. Comment at: clang/test/Analysis/uninit-asm-goto.cpp:84 + +int test8() { +int x = 0; // expected-warning {{variable 'x' is used uninitialized whenever its declaration is reached}} ---

<    10   11   12   13   14   15   16   >