[PATCH] D122325: [Clang][NeonEmitter] emit ret decl first for -Wdeclaration-after-statement

2022-03-23 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. Herald added a subscriber: kristof.beyls. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. The generated arm_neon.h header isn't

[PATCH] D122224: Allow -Wno-gnu to silence GNU extensions related to pointer arithmetic

2022-03-22 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. TIL about `Extension<>` and `-verify=`. Thanks @aaron.ballman ! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D14/new/

[PATCH] D122189: [Clang][NeonEmitter] emit ret decl first for -Wdeclaration-after-statement

2022-03-22 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D122189#3399836 , @DavidSpickett wrote: > Can you post a bit of the header diff before/after? I think I know what it > looks like but just to be sure. Before: #define __noswap_splat_lane_f16(__p0,__p1) __extension__

[PATCH] D122189: [Clang][NeonEmitter] emit ret decl first for -Wdeclaration-after-statement

2022-03-22 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 417328. nickdesaulniers marked an inline comment as done. nickdesaulniers added a comment. - add comments, remove test requirement on 64b Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D122189/new/

[PATCH] D122189: [Clang][NeonEmitter] emit ret decl first for -Wdeclaration-after-statement

2022-03-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 417116. nickdesaulniers added a comment. - rebase on main, don't mass refomat tests Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D122189/new/ https://reviews.llvm.org/D122189 Files:

[PATCH] D122188: [Clang] update_cc_test_checks on 2 ARM NEON tests. NFC

2022-03-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Now that I can more easily see the actual diff (https://reviews.llvm.org/D122189), let me see if I can simply rebase https://reviews.llvm.org/D122189 on main so that we can drop this patch? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D122189: [Clang][NeonEmitter] emit ret decl first for -Wdeclaration-after-statement

2022-03-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added a reviewer: DavidSpickett. Herald added a subscriber: kristof.beyls. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. The generated

[PATCH] D122188: [Clang] update_cc_test_checks on 2 ARM NEON tests. NFC

2022-03-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added a reviewer: DavidSpickett. Herald added a subscriber: kristof.beyls. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. I'm planning to

[PATCH] D93182: [clang-tidy] Add linux kernel log functions checker

2022-03-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D93182#2451509 , @lebedev.ri wrote: > Out of curiocity, are all checkpatch diagnostics (and something else)? > are planned to be ported into being clang-tidy checks? Not at this time, no. > How many will checks will

[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(),

[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

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

[PATCH] D119296: KCFI sanitizer

2022-02-08 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/include/clang/Basic/AttrDocs.td:5419 + typedef typeof(f1) * __attribute__((kcfi_unchecked) unchecked_t; + ((unchecked_t)p2)(); // unchecked + `p2` is already unchecked. Would it be more demonstrative to

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

2022-02-08 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/Target/X86/X86FrameLowering.cpp:595 +continue; + XorOp = X86::PXORrr; +} else if (X86::VR256RegClass.contains(Reg)) { void wrote: > nickdesaulniers wrote: > > Is there any way to figure

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

2022-02-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/test/CodeGen/X86/zero-call-used-regs.ll:287 +entry: + store volatile i32 2, i32* @result, align 4 + ret i32 0 void wrote: > nickdesaulniers wrote: > > necessary? > It's main. Of course it's necessary. :-)

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

2022-02-07 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. I tested the following linux-next configs with CONFIG_ZERO_CALL_USED_REGS enabled: - x86_64 defconfig - x86_64 defconfig + thin LTO - x86_64 defconfig + full LTO - i386

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

2022-02-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D110869#3295559 , @void wrote: > Weird. We generate similar code to GCC: > > Clang: > _paravirt_ident_64: # @_paravirt_ident_64 > movq%rdi, %rax > xorq%rdi, %rdi >

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

[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 = *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. 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-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 ) const { + const X86Subtarget = MF.getSubtarget(); nickdesaulniers wrote: > pengfei wrote: > >

[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

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

[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">,

[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

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

[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] D115471: [clang] number labels in asm goto strings after tied inputs

2022-01-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 rG5c562f62a4ee: [clang] number labels in asm goto strings after tied inputs (authored by nickdesaulniers). Changed prior to commit:

[PATCH] D115311: [clang][CGStmt] emit i constraint rather than X for asm goto indirect dests

2022-01-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 rGc8463fd22b1f: [clang][CGStmt] emit i constraint rather than X for asm goto indirect dests (authored by nickdesaulniers). Changed prior to commit:

[PATCH] D115410: [llvm][test] rewrite callbr to use i rather than X constraint NFC

2022-01-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 rG79ebc3b0dd13: [llvm][test] rewrite callbr to use i rather than X constraint NFC (authored by nickdesaulniers). Changed prior to commit:

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

2022-01-10 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Linus Torvalds thoughts on the patches as a result of this change. > Those uses of 1E6L were perhaps strange, but they were only used in > constant

[PATCH] D116939: [AArch64] clang support for Armv8.8/9.3 HBC

2022-01-10 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Basic/Targets/AArch64.cpp:666-675 + HasHBC |= ArchKind == llvm::AArch64::ArchKind::ARMV8_8A || +ArchKind == llvm::AArch64::ArchKind::ARMV9_3A; + + // Check features that are manually disabled by command

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

2022-01-07 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 rG3a604fdbcd5f: [Clang][CFG] check children statements of asm goto (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES

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

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

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

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

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

[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] D116233: [clang][ARM] re-use arm::isHardTPSupported for hardware TLS check

2021-12-28 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 rGcd284b7ac061: [clang][ARM] re-use arm::isHardTPSupported for hardware TLS check (authored by nickdesaulniers). Repository: rG LLVM Github

[PATCH] D116159: [ARM][AArch64] clang support for Armv9.3-A

2021-12-28 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/Driver/arm-cortex-cpus.c:445 +// RUN: %clang -target armv9.3a -mlittle-endian -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V93A %s +// RUN: %clang -target arm -march=armv9.3a -mlittle-endian -### -c %s 2>&1 |

[PATCH] D116233: [clang][ARM] re-use arm::isHardTPSupported for hardware TLS check

2021-12-23 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Clang.cpp:3219-3226 // Check whether the target subarch supports the hardware TLS register - if (arm::getARMSubArchVersionNumber(EffectiveTriple) < 7 && -

[PATCH] D116233: [clang][ARM] re-use arm::isHardTPSupported for hardware TLS check

2021-12-23 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Clang.cpp:3219-3226 // Check whether the target subarch supports the hardware TLS register - if (arm::getARMSubArchVersionNumber(EffectiveTriple) < 7 && -

[PATCH] D116233: [clang][ARM] re-use arm::isHardTPSupported for hardware TLS check

2021-12-23 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers planned changes to this revision. nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Clang.cpp:3219-3226 // Check whether the target subarch supports the hardware TLS register - if

[PATCH] D116233: [clang][ARM] re-use arm::isHardTPSupported for hardware TLS check

2021-12-23 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: nathanchance, ardb, peter.smith. Herald added a subscriber: kristof.beyls. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. This conditional check for

[PATCH] D115410: [llvm][test] rewrite callbr to use i rather than X constraint NFC

2021-12-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/test/tools/llvm-diff/callbr.ll:28-29 entry: - callbr void asm sideeffect "", "X,X,~{dirflag},~{fpsr},~{flags}"(i8* blockaddress(@foo, %t_no), i8* blockaddress(@foo, %return)) + callbr void asm sideeffect "",

[PATCH] D116128: [clang][driver] Warn when '-mno-outline-atomics' is used with a non-AArch64 triple

2021-12-21 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/x86-outline-atomics.c:1-7 +// RUN: %clang -target x86_64 -moutline-atomics -S %s -### 2>&1 | FileCheck %s

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

2021-12-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Analysis/UninitializedValues.cpp:826 +// it as potentially uninitialized for those cases where it's used on +// an indirect path, where it's not guaranteed to be defined. vals[VD] =

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

2021-12-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 395539. nickdesaulniers added a comment. - VisitChildren rather than VisitStmt Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D116059/new/ https://reviews.llvm.org/D116059 Files:

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

2021-12-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers planned changes to this revision. nickdesaulniers added inline comments. Comment at: clang/lib/Analysis/CFG.cpp:3359 + + return VisitStmt(G, asc); } I think this should actually be `return VisitChildren(G);`; it produces a simpler CFG with the

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

2021-12-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: void, jyknight, jyu2, efriedma. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. When performing CFG based analyses, don't forget to check the child

[PATCH] D115410: [llvm][test] rewrite callbr to use i rather than X constraint NFC

2021-12-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked an inline comment as done. nickdesaulniers added inline comments. Comment at: llvm/test/tools/llvm-diff/callbr.ll:28-29 entry: - callbr void asm sideeffect "", "X,X,~{dirflag},~{fpsr},~{flags}"(i8* blockaddress(@foo, %t_no), i8* blockaddress(@foo,

[PATCH] D116003: [NFC] Specify targets for clang stack-protector-guard.c

2021-12-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Thanks for the patch. You're right about this change, sorry I made the mistake! Comment at: clang/test/CodeGen/stack-protector-guard.c:1-12 +// RUN: %clang_cc1 -mstack-protector-guard=sysreg -triple x86_64-unknown-unknown \ +// RUN:

[PATCH] D115471: [clang] number labels in asm goto strings after tied inputs

2021-12-14 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 394415. nickdesaulniers added a comment. - rebase onto D115688 +D115410 +D115311 , add notes to clang/docs/LanguageExtensions.rst Repository:

[PATCH] D115311: [clang][CGStmt] emit i constraint rather than X for asm goto indirect dests

2021-12-14 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 394406. nickdesaulniers edited the summary of this revision. nickdesaulniers added a comment. - rebase onto D115688 + D115410 Repository: rG LLVM Github Monorepo CHANGES SINCE

[PATCH] D115410: [llvm][test] rewrite callbr to use i rather than X constraint NFC

2021-12-14 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked 3 inline comments as done. nickdesaulniers added inline comments. Comment at: llvm/test/tools/llvm-diff/callbr.ll:28-29 entry: - callbr void asm sideeffect "", "X,X,~{dirflag},~{fpsr},~{flags}"(i8* blockaddress(@foo, %t_no), i8* blockaddress(@foo,

[PATCH] D115410: [llvm][test] rewrite callbr to use i rather than X constraint NFC

2021-12-14 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 394403. nickdesaulniers added a comment. - rebase onto D115688 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D115410/new/ https://reviews.llvm.org/D115410 Files:

[PATCH] D115409: [SelectionDAGBuilder] drop special handling for CallBr

2021-12-14 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers abandoned this revision. nickdesaulniers added a comment. In D115409#3190589 , @jyknight wrote: > OK, I do think that special case definitely needs to be deleted. It's > assuming that the block args are in a particular place in the

[PATCH] D115471: [clang] number labels in asm goto strings after tied inputs

2021-12-13 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/docs/ReleaseNotes.rst:157 ABI stability. +- When using ``asm goto`` with outputs whose constraint modifier is ``"+"``, we + now change the numbering of the labels to occur after hidden tied inputs for

[PATCH] D115471: [clang] number labels in asm goto strings after tied inputs

2021-12-10 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 393630. nickdesaulniers added a comment. - fix typo in release notes Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D115471/new/ https://reviews.llvm.org/D115471 Files: clang/docs/ReleaseNotes.rst

[PATCH] D115471: [clang] number labels in asm goto strings after tied inputs

2021-12-10 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 393577. nickdesaulniers edited the summary of this revision. nickdesaulniers added a comment. - note this semantic change in the release notes, add links to GCC docs Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D115471: [clang] number labels in asm goto strings after tied inputs

2021-12-09 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D115471#3184384 , @jyknight wrote: > It's rather sad that GCC made the quite-unintuitive decision to number the > arguments in this way -- LONG AFTER clang had already implemented the other > way... I doubt it was

[PATCH] D115471: [clang] number labels in asm goto strings after tied inputs

2021-12-09 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: void, efriedma, jyknight, craig.topper. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. I noticed that the following case would compile in Clang but

[PATCH] D115409: [SelectionDAGBuilder] drop special handling for CallBr

2021-12-08 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/test/CodeGen/X86/callbr-asm-bb-exports.ll:23 +; CHECK-NEXT: t30: ch,glue = inlineasm_br t22, {{.*}}, t22:1 +; CHECK-NEXT: t32: ch = br t30, BasicBlock:ch @craig.topper can you triple check this change to

[PATCH] D115311: [clang][CGStmt] emit i constraint rather than X for asm goto indirect dests

2021-12-08 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 393001. nickdesaulniers added a comment. - try to update this correctly Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D115311/new/ https://reviews.llvm.org/D115311 Files: clang/lib/CodeGen/CGStmt.cpp

[PATCH] D115311: [clang][CGStmt] emit i constraint rather than X for asm goto indirect dests

2021-12-08 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers planned changes to this revision. nickdesaulniers added inline comments. Comment at: llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:8556 unsigned ResNo = 0; // ResNo - The result number of the next output. - unsigned NumMatchingOps = 0; for (auto

[PATCH] D115410: [llvm][test] rewrite callbr to use i rather than X constraint NFC

2021-12-08 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/test/Verifier/callbr.ll:41 ; the asm goto is in the arg list to the asm). - callbr void asm sideeffect "${0:l} ${1:l} ${2:l}", "X,X,X"(i8* blockaddress(@test3, %4), i8* blockaddress(@test3, %2), i8*

[PATCH] D115409: [SelectionDAGBuilder] drop special handling for CallBr

2021-12-08 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 392994. nickdesaulniers added a comment. - phab sux Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D115409/new/ https://reviews.llvm.org/D115409 Files:

[PATCH] D115410: [llvm][test] rewrite callbr to use i rather than X constraint NFC

2021-12-08 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 392993. nickdesaulniers added a comment. - phab sux Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D115410/new/ https://reviews.llvm.org/D115410 Files: llvm/test/Assembler/call-arg-is-callee.ll

[PATCH] D115410: [llvm][test] rewrite callbr to use i rather than X constraint NFC

2021-12-08 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 392990. nickdesaulniers added a comment. - update Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D115410/new/ https://reviews.llvm.org/D115410 Files: llvm/test/Assembler/call-arg-is-callee.ll

[PATCH] D115409: [SelectionDAGBuilder] drop special handling for CallBr

2021-12-08 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 392988. nickdesaulniers added a comment. Herald added subscribers: cfe-commits, wenlei, asbirlea, zzheng, kbarton, nemanjai. Herald added a project: clang. - I'm just wrestling with arc at this point Repository: rG LLVM Github Monorepo CHANGES

[PATCH] D115311: [clang][CGStmt] emit i constraint rather than X for asm goto indirect dests

2021-12-08 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 392984. nickdesaulniers retitled this revision from "[WIP] alternative approach to D114895" to "[clang][CGStmt] emit i constraint rather than X for asm goto indirect dests". nickdesaulniers edited the summary of this revision. nickdesaulniers added a

[PATCH] D115311: [WIP] alternative approach to D114895

2021-12-08 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 392983. nickdesaulniers added a comment. Herald added subscribers: llvm-commits, pengfei, hiraditya. Herald added a project: LLVM. - write an actual commit message Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D115410: [llvm][test] rewrite callbr to use i rather than X constraint NFC

2021-12-08 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. Herald added subscribers: wenlei, pengfei, asbirlea, zzheng, kbarton, hiraditya, nemanjai. nickdesaulniers requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commits. In D115311

[PATCH] D115311: [WIP] alternative approach to D114895

2021-12-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. As suggested in: https://reviews.llvm.org/D114895#3177794. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D115311

[PATCH] D114848: [Analysis] Ignore casts and unary ops for uninitialized values

2021-12-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Analysis/UninitializedValues.cpp:819-820 +// semantic analysis passes. +while (isa(Ex)) + Ex = stripCasts(C, dyn_cast(Ex)->getSubExpr()); + void wrote: > nickdesaulniers wrote: > > Q: are

[PATCH] D114848: [Analysis] Ignore casts and unary ops for uninitialized values

2021-12-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Analysis/UninitializedValues.cpp:819-820 +// semantic analysis passes. +while (isa(Ex)) + Ex = stripCasts(C, dyn_cast(Ex)->getSubExpr()); + Q: are there any unary operators that are not

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

2021-12-06 Thread Nick Desaulniers via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG73ee4e1cbd64: [clang][ARM] only check -mtp=cp15 for non-asm sources (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D114124/new/

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

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

[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

[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

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

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

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

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

[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

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

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

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

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