[clang] [Clang][CodeGen] Emit fake uses before musttail calls (PR #136867)

2025-04-25 Thread Stephen Tozer via cfe-commits
https://github.com/SLTozer updated https://github.com/llvm/llvm-project/pull/136867 >From 90c09c8326077a1ba6797519bbefd014f32b5beb Mon Sep 17 00:00:00 2001 From: Stephen Tozer Date: Wed, 23 Apr 2025 14:24:50 +0100 Subject: [PATCH 1/5] [Clang] Emit Fake Uses before musttail calls Fixes the issu

[clang] [KeyInstr][Clang] Assign vector element atom (PR #134649)

2025-05-27 Thread Stephen Tozer via cfe-commits
https://github.com/SLTozer approved this pull request. https://github.com/llvm/llvm-project/pull/134649 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [KeyInstr][Clang] Bitfield atom (PR #134648)

2025-05-27 Thread Stephen Tozer via cfe-commits
@@ -0,0 +1,13 @@ +// RUN: %clang_cc1 -gkey-instructions %s -debug-info-kind=line-tables-only -emit-llvm -o - \ +// RUN: | FileCheck %s --implicit-check-not atomGroup --implicit-check-not atomRank + SLTozer wrote: Maybe a small comment to the effect of, "Test fo

[clang] [KeyInstr][Clang] For range stmt atoms (PR #134647)

2025-05-27 Thread Stephen Tozer via cfe-commits
@@ -1448,7 +1448,14 @@ CodeGenFunction::EmitCXXForRangeStmt(const CXXForRangeStmt &S, if (!Weights && CGM.getCodeGenOpts().OptimizationLevel) BoolCondVal = emitCondLikelihoodViaExpectIntrinsic( BoolCondVal, Stmt::getLikelihood(S.getBody())); - Builder.CreateCond

[clang] [KeyInstr][Clang] For range stmt atoms (PR #134647)

2025-05-27 Thread Stephen Tozer via cfe-commits
https://github.com/SLTozer commented: Broadly LGTM, just a few style comments. https://github.com/llvm/llvm-project/pull/134647 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [KeyInstr][Clang] For range stmt atoms (PR #134647)

2025-05-27 Thread Stephen Tozer via cfe-commits
@@ -0,0 +1,71 @@ +// RUN: %clang_cc1 -gkey-instructions %s -debug-info-kind=line-tables-only -emit-llvm -o - \ +// RUN: | FileCheck %s --implicit-check-not atomGroup --implicit-check-not atomRank + +// Perennial quesiton: should the inc be its own source atom or not +// (current

[clang] [KeyInstr][Clang] For range stmt atoms (PR #134647)

2025-05-27 Thread Stephen Tozer via cfe-commits
@@ -0,0 +1,71 @@ +// RUN: %clang_cc1 -gkey-instructions %s -debug-info-kind=line-tables-only -emit-llvm -o - \ +// RUN: | FileCheck %s --implicit-check-not atomGroup --implicit-check-not atomRank + +// Perennial quesiton: should the inc be its own source atom or not

[clang] [KeyInstr][Clang] For range stmt atoms (PR #134647)

2025-05-27 Thread Stephen Tozer via cfe-commits
https://github.com/SLTozer edited https://github.com/llvm/llvm-project/pull/134647 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [KeyInstr][Clang] Bitfield atom (PR #134648)

2025-05-27 Thread Stephen Tozer via cfe-commits
https://github.com/SLTozer approved this pull request. https://github.com/llvm/llvm-project/pull/134648 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [KeyIntsr][Clang] Builtins alloca auto-init atom (PR #134651)

2025-05-27 Thread Stephen Tozer via cfe-commits
https://github.com/SLTozer edited https://github.com/llvm/llvm-project/pull/134651 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [KeyIntsr][Clang] Builtins alloca auto-init atom (PR #134651)

2025-05-27 Thread Stephen Tozer via cfe-commits
@@ -0,0 +1,77 @@ + +// RUN: %clang_cc1 -gkey-instructions -x c++ %s -debug-info-kind=line-tables-only -gno-column-info -emit-llvm -o - -ftrivial-auto-var-init=zero -fenable-matrix -disable-llvm-passes \ +// RUN: | FileCheck %s --implicit-check-not atomGroup --implicit-check-not

[clang] [KeyInstr][Clang] Reset atomGroup number for each function (PR #141607)

2025-05-28 Thread Stephen Tozer via cfe-commits
https://github.com/SLTozer approved this pull request. https://github.com/llvm/llvm-project/pull/141607 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [KeyIntsr][Clang] Builtins alloca auto-init atom (PR #134651)

2025-05-28 Thread Stephen Tozer via cfe-commits
@@ -4466,7 +4473,8 @@ RValue CodeGenFunction::EmitBuiltinExpr(const GlobalDecl GD, unsigned BuiltinID, Value *SizeVal = EmitScalarExpr(E->getArg(2)); EmitNonNullArgCheck(Dest, E->getArg(0)->getType(), E->getArg(0)->getExprLoc(), FD, 0); -Bui

[clang] 36af734 - Reapply "[Clang] Enable -fextend-variable-liveness at -Og (#118026)"

2025-06-19 Thread Stephen Tozer via cfe-commits
Author: Stephen Tozer Date: 2025-06-19T16:22:50+01:00 New Revision: 36af7345dfb8e84a1f2971db34089b63321e8467 URL: https://github.com/llvm/llvm-project/commit/36af7345dfb8e84a1f2971db34089b63321e8467 DIFF: https://github.com/llvm/llvm-project/commit/36af7345dfb8e84a1f2971db34089b63321e8467.diff

[clang] [Clang] Enable -fextend-variable-liveness at -Og (PR #118026)

2025-06-19 Thread Stephen Tozer via cfe-commits
https://github.com/SLTozer edited https://github.com/llvm/llvm-project/pull/118026 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Enable -fextend-variable-liveness at -Og (PR #118026)

2025-06-19 Thread Stephen Tozer via cfe-commits
https://github.com/SLTozer edited https://github.com/llvm/llvm-project/pull/118026 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [OptBisect][IR] Adding a new OptPassGate for disabling passes via name (PR #145059)

2025-06-23 Thread Stephen Tozer via cfe-commits
SLTozer wrote: > I think this functionality will also help identify passes which drop debug > information and help with [the work proposed in this > RFC](https://discourse.llvm.org/t/rfc-require-real-or-annotated-source-locations-on-all-instructions/86816). As it happens, I have been using a d

[clang] [KeyInstr][Clang] For range stmt atoms (PR #134647)

2025-06-03 Thread Stephen Tozer via cfe-commits
https://github.com/SLTozer approved this pull request. LGTM with some nits. https://github.com/llvm/llvm-project/pull/134647 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [KeyInstr][Clang] For range stmt atoms (PR #134647)

2025-06-03 Thread Stephen Tozer via cfe-commits
@@ -0,0 +1,87 @@ +// RUN: %clang_cc1 -triple x86_64-linux-gnu -gkey-instructions %s -debug-info-kind=line-tables-only -emit-llvm -o - \ +// RUN: | FileCheck %s + +// Perennial question: should the inc be its own source atom or not +// (currently it is). + +// FIXME: See do.c and

[clang] [KeyInstr][Clang] For range stmt atoms (PR #134647)

2025-06-03 Thread Stephen Tozer via cfe-commits
@@ -1509,6 +1516,10 @@ CodeGenFunction::EmitCXXForRangeStmt(const CXXForRangeStmt &S, EmitStmt(S.getBody()); } + // The last block in the loop's body (which unconditionally branches to theAdd commentMore actions + // `inc` block if there is one). SLT

[clang] [KeyInstr][Clang] For range stmt atoms (PR #134647)

2025-06-03 Thread Stephen Tozer via cfe-commits
https://github.com/SLTozer edited https://github.com/llvm/llvm-project/pull/134647 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [KeyIntsr][Clang] Builtins alloca auto-init atom (PR #134651)

2025-05-28 Thread Stephen Tozer via cfe-commits
https://github.com/SLTozer approved this pull request. https://github.com/llvm/llvm-project/pull/134651 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [DLCov 4/5] Track coverage and origins through IRBuilder (PR #108214)

2025-06-11 Thread Stephen Tozer via cfe-commits
https://github.com/SLTozer closed https://github.com/llvm/llvm-project/pull/108214 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [DLCov 4/5] Track coverage and origins through IRBuilder (PR #108214)

2025-06-11 Thread Stephen Tozer via cfe-commits
SLTozer wrote: Closed in favour of a new patch stack for the same feature starting at: https://github.com/llvm/llvm-project/pull/143590 https://github.com/llvm/llvm-project/pull/108214 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://li

[clang] [Clang][DLCov][NFCish] Fix debugloc coverage tracking macro in Clang (PR #146521)

2025-07-02 Thread Stephen Tozer via cfe-commits
https://github.com/SLTozer closed https://github.com/llvm/llvm-project/pull/146521 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][DLCov][NFCish] Fix debugloc coverage tracking macro in Clang (PR #146521)

2025-07-01 Thread Stephen Tozer via cfe-commits
https://github.com/SLTozer created https://github.com/llvm/llvm-project/pull/146521 In a previous commit, the llvm-config-defined macro LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING was renamed to LLVM_ENABLE_DEBUGLOC_TRACKING_COVERAGE. One instance of this in Clang remains unchanged; this patch ren

[clang] [Clang][DLCov][NFCish] Fix debugloc coverage tracking macro in Clang (PR #146521)

2025-07-01 Thread Stephen Tozer via cfe-commits
SLTozer wrote: > Can you explain how the include helps in a bit more detail? I don't see what > it adds (I'm not very familiar with llvm-config!) It changes nothing now, but llvm-config contains the macro definition used here - adding the include explicitly ensures that we don't silently lose

[clang] [llvm] [KeyInstr] Fix verifier check (PR #149043)

2025-07-16 Thread Stephen Tozer via cfe-commits
SLTozer wrote: So just to makes sure my understanding is correct: we have an existing bug and an existing test which should exercise that bug, but the verifier doesn't catch it currently. This patch then fixes both the verifier and the bug, and therefore a new test isn't needed for the non-ver

[clang] [llvm] [KeyInstr] Fix verifier check (PR #149043)

2025-07-16 Thread Stephen Tozer via cfe-commits
@@ -5492,6 +5486,14 @@ void Verifier::visitInstruction(Instruction &I) { if (MDNode *N = I.getDebugLoc().getAsMDNode()) { CheckDI(isa(N), "invalid !dbg metadata attachment", &I, N); visitMDNode(*N, AreDebugLocsAllowed::Yes); + +if (auto *DL = dyn_cast(N)) { +

[clang] [llvm] [KeyInstr] Fix verifier check (PR #149043)

2025-07-16 Thread Stephen Tozer via cfe-commits
https://github.com/SLTozer edited https://github.com/llvm/llvm-project/pull/149043 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [KeyInstr] Fix verifier check (PR #149043)

2025-07-16 Thread Stephen Tozer via cfe-commits
https://github.com/SLTozer approved this pull request. LGTM with some inline nits. https://github.com/llvm/llvm-project/pull/149043 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [KeyInstr] Fix verifier check (PR #149043)

2025-07-16 Thread Stephen Tozer via cfe-commits
@@ -7,6 +7,8 @@ define dso_local void @f() !dbg !10 { entry: +; include non-key location to check verifier is checking the whole function. SLTozer wrote: ```suggestion ; Include non-key location to check verifier is checking the whole function. ``` https://g

[clang] [llvm] [IRBuilder] Improve setting of DebugLoc in SetInsertPoint. (PR #147091)

2025-07-16 Thread Stephen Tozer via cfe-commits
SLTozer wrote: I 'm not sure I agree with the principle of this change; the current behaviour of not getting a DebugLoc when setting the insertion point to the end of a BasicBlock is long-standing and this change might have unexpected knock-on effects (although if we do make this change, it mu

<    1   2   3