[clang] [KeyInstr] Enable -gkey-instructions by default if optimisations are enabled (PR #149509)

2025-07-18 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams created https://github.com/llvm/llvm-project/pull/149509 That's enabling Clang's -gkey-instructions, cc1's -gkey-instructions remains off by default. Key Instructions improves the optimized-code debug-stepping experience in debuggers that use DWARF's `is_stmt` line

[clang] [KeyInstr] goto stmt atoms (PR #149101)

2025-07-16 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams created https://github.com/llvm/llvm-project/pull/149101 None >From eb49bd853b9d3c099a2d3e8dd8656095a4c1a424 Mon Sep 17 00:00:00 2001 From: Orlando Cazalet-Hyams Date: Wed, 16 Jul 2025 14:57:22 +0100 Subject: [PATCH] [KeyInstr] goto stmt atoms --- clang/lib/CodeGen

[clang] [KeyInstr] Inline asm atoms (PR #149076)

2025-07-16 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams updated https://github.com/llvm/llvm-project/pull/149076 >From 720ce66a01e37088202ef3a5117c27be8e865d05 Mon Sep 17 00:00:00 2001 From: Orlando Cazalet-Hyams Date: Wed, 16 Jul 2025 12:16:57 +0100 Subject: [PATCH 1/2] [KeyInstr] Inline asm atoms --- clang/lib/CodeGen/

[clang] [KeyInstr] Inline asm atoms (PR #149076)

2025-07-16 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams created https://github.com/llvm/llvm-project/pull/149076 Copied an aarch64 test as it was the only one I could find that exercised both results-store codepaths. >From 720ce66a01e37088202ef3a5117c27be8e865d05 Mon Sep 17 00:00:00 2001 From: Orlando Cazalet-Hyams Date:

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

2025-07-16 Thread Orlando Cazalet-Hyams via cfe-commits
OCHyams wrote: /cherry-pick 653872f782e1faaabc1da23769e6b35b10e74bde 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 Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams milestoned 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 Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams closed 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 Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams updated https://github.com/llvm/llvm-project/pull/149043 >From ff6ee73af63976c34d1628692d6bf07d4d7eef34 Mon Sep 17 00:00:00 2001 From: Orlando Cazalet-Hyams Date: Wed, 16 Jul 2025 10:13:25 +0100 Subject: [PATCH 1/5] fix for coro-dwarf-key-instrs.cpp --- clang/lib/Co

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

2025-07-16 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams updated https://github.com/llvm/llvm-project/pull/149043 >From ff6ee73af63976c34d1628692d6bf07d4d7eef34 Mon Sep 17 00:00:00 2001 From: Orlando Cazalet-Hyams Date: Wed, 16 Jul 2025 10:13:25 +0100 Subject: [PATCH 1/4] fix for coro-dwarf-key-instrs.cpp --- clang/lib/Co

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

2025-07-16 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams updated https://github.com/llvm/llvm-project/pull/149043 >From ff6ee73af63976c34d1628692d6bf07d4d7eef34 Mon Sep 17 00:00:00 2001 From: Orlando Cazalet-Hyams Date: Wed, 16 Jul 2025 10:13:25 +0100 Subject: [PATCH 1/3] fix for coro-dwarf-key-instrs.cpp --- clang/lib/Co

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

2025-07-16 Thread Orlando Cazalet-Hyams via cfe-commits
OCHyams wrote: So, to be clear: * Verifier check was checking very few instructions per function * Fixing the check causes coro-dwarf-key-instrs.cpp to fail * Fixing the problem stops coro-dwarf-key-instrs.cpp failing I suppose I could add a check for the verifier condition independently of co

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

2025-07-16 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams updated https://github.com/llvm/llvm-project/pull/149043 >From ff6ee73af63976c34d1628692d6bf07d4d7eef34 Mon Sep 17 00:00:00 2001 From: Orlando Cazalet-Hyams Date: Wed, 16 Jul 2025 10:13:25 +0100 Subject: [PATCH 1/2] fix for coro-dwarf-key-instrs.cpp --- clang/lib/Co

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

2025-07-16 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams created https://github.com/llvm/llvm-project/pull/149043 The verifier check was in the wrong place, meaning it wasn't actually checking many instructions. Fixing that causes a test failure (coro-dwarf-key-instrs.cpp) because coros turn off the feature but still anno

[clang] [KeyInstr][Clang][NFC] Add test for array cookie store (PR #146517)

2025-07-15 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams closed https://github.com/llvm/llvm-project/pull/146517 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [KeyInstr] Add docs (PR #137991)

2025-07-15 Thread Orlando Cazalet-Hyams via cfe-commits
@@ -0,0 +1,114 @@ +# Key Instructions debug info in LLVM + +Key Instructions reduces the jumpiness of optimized code debug stepping. This document explains the feature and how it is implemented in LLVM. For Clang support please see the [Clang docs](../../clang/docs/KeyInstructio

[clang] [llvm] [KeyInstr] Add docs (PR #137991)

2025-07-15 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams updated https://github.com/llvm/llvm-project/pull/137991 >From cb89d1f1bb60db07743f1973f9b263424fab9f6d Mon Sep 17 00:00:00 2001 From: Orlando Cazalet-Hyams Date: Wed, 30 Apr 2025 15:19:03 +0100 Subject: [PATCH 1/9] [KeyInstr] Add docs --- clang/docs/KeyInstructions

[clang] [KeyInstr][Clang][NFC] Add test for array cookie store (PR #146517)

2025-07-15 Thread Orlando Cazalet-Hyams via cfe-commits
OCHyams wrote: Ping https://github.com/llvm/llvm-project/pull/146517 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [KeyInstr] Add docs (PR #137991)

2025-07-15 Thread Orlando Cazalet-Hyams via cfe-commits
@@ -0,0 +1,114 @@ +# Key Instructions debug info in LLVM + +Key Instructions reduces the jumpiness of optimized code debug stepping. This document explains the feature and how it is implemented in LLVM. For Clang support please see the [Clang docs](../../clang/docs/KeyInstructio

[clang] [llvm] [KeyInstr] Add docs (PR #137991)

2025-07-15 Thread Orlando Cazalet-Hyams via cfe-commits
@@ -0,0 +1,114 @@ +# Key Instructions debug info in LLVM + +Key Instructions reduces the jumpiness of optimized code debug stepping. This document explains the feature and how it is implemented in LLVM. For Clang support please see the [Clang docs](../../clang/docs/KeyInstructio

[clang] [llvm] [KeyInstr] Add docs (PR #137991)

2025-07-15 Thread Orlando Cazalet-Hyams via cfe-commits
@@ -0,0 +1,46 @@ +# Key Instructions in Clang + +Key Instructions is an LLVM feature that reduces the jumpiness of optimized code debug stepping. This document explains how Clang applies the necessary metadata. + +## Implementation + +See the [LLVM docs](../../llvm/docs/KeyInstr

[clang] [llvm] [KeyInstr] Add docs (PR #137991)

2025-07-15 Thread Orlando Cazalet-Hyams via cfe-commits
@@ -0,0 +1,114 @@ +# Key Instructions debug info in LLVM + +Key Instructions reduces the jumpiness of optimized code debug stepping. This document explains the feature and how it is implemented in LLVM. For Clang support please see the [Clang docs](../../clang/docs/KeyInstructio

[clang] [llvm] [KeyInstr] Add docs (PR #137991)

2025-07-15 Thread Orlando Cazalet-Hyams via cfe-commits
@@ -0,0 +1,46 @@ +# Key Instructions in Clang + +Key Instructions is an LLVM feature that reduces the jumpiness of optimized code debug stepping. This document explains how Clang applies the necessary metadata. + +## Implementation + +See the [LLVM docs](../../llvm/docs/KeyInstr

[clang] [llvm] [KeyInstr] Add docs (PR #137991)

2025-07-15 Thread Orlando Cazalet-Hyams via cfe-commits
@@ -0,0 +1,114 @@ +# Key Instructions debug info in LLVM + +Key Instructions reduces the jumpiness of optimized code debug stepping. This document explains the feature and how it is implemented in LLVM. For Clang support please see the [Clang docs](../../clang/docs/KeyInstructio

[clang] [llvm] [KeyInstr] Add docs (PR #137991)

2025-07-15 Thread Orlando Cazalet-Hyams via cfe-commits
@@ -0,0 +1,114 @@ +# Key Instructions debug info in LLVM + +Key Instructions reduces the jumpiness of optimized code debug stepping. This document explains the feature and how it is implemented in LLVM. For Clang support please see the [Clang docs](../../clang/docs/KeyInstructio

[clang] [llvm] [KeyInstr] Add docs (PR #137991)

2025-07-15 Thread Orlando Cazalet-Hyams via cfe-commits
@@ -0,0 +1,114 @@ +# Key Instructions debug info in LLVM + +Key Instructions reduces the jumpiness of optimized code debug stepping. This document explains the feature and how it is implemented in LLVM. For Clang support please see the [Clang docs](../../clang/docs/KeyInstructio

[clang] [llvm] [KeyInstr] Add docs (PR #137991)

2025-07-15 Thread Orlando Cazalet-Hyams via cfe-commits
@@ -0,0 +1,46 @@ +# Key Instructions in Clang + +Key Instructions is an LLVM feature that reduces the jumpiness of optimized code debug stepping. This document explains how Clang applies the necessary metadata. + +## Implementation + +See the [LLVM docs](../../llvm/docs/KeyInstr

[clang] [llvm] [KeyInstr] Add docs (PR #137991)

2025-07-15 Thread Orlando Cazalet-Hyams via cfe-commits
@@ -0,0 +1,114 @@ +# Key Instructions debug info in LLVM + +Key Instructions reduces the jumpiness of optimized code debug stepping. This document explains the feature and how it is implemented in LLVM. For Clang support please see the [Clang docs](../../clang/docs/KeyInstructio

[clang] [llvm] [KeyInstr] Add docs (PR #137991)

2025-07-15 Thread Orlando Cazalet-Hyams via cfe-commits
@@ -0,0 +1,114 @@ +# Key Instructions debug info in LLVM + +Key Instructions reduces the jumpiness of optimized code debug stepping. This document explains the feature and how it is implemented in LLVM. For Clang support please see the [Clang docs](../../clang/docs/KeyInstructio

[clang] [llvm] [KeyInstr] Add docs (PR #137991)

2025-07-15 Thread Orlando Cazalet-Hyams via cfe-commits
@@ -0,0 +1,46 @@ +# Key Instructions in Clang + +Key Instructions is an LLVM feature that reduces the jumpiness of optimized code debug stepping. This document explains how Clang applies the necessary metadata. + +## Implementation + +See the [LLVM docs](../../llvm/docs/KeyInstr

[clang] [llvm] [KeyInstr] Add docs (PR #137991)

2025-07-15 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams commented: Thanks for for the comments, I think I've addressed everything. I've merged both files into the LLVM docs as I couldn't get a link to the Clang docs working properly. How does this look? https://github.com/llvm/llvm-project/pull/137991

[clang] [llvm] [KeyInstr] Add docs (PR #137991)

2025-07-15 Thread Orlando Cazalet-Hyams via cfe-commits
@@ -0,0 +1,46 @@ +# Key Instructions in Clang + +Key Instructions is an LLVM feature that reduces the jumpiness of optimized code debug stepping. This document explains how Clang applies the necessary metadata. OCHyams wrote: Couldn't find better wording than y

[clang] [llvm] [KeyInstr] Add docs (PR #137991)

2025-07-15 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams edited https://github.com/llvm/llvm-project/pull/137991 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [KeyInstr] Add docs (PR #137991)

2025-07-15 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams updated https://github.com/llvm/llvm-project/pull/137991 >From cb89d1f1bb60db07743f1973f9b263424fab9f6d Mon Sep 17 00:00:00 2001 From: Orlando Cazalet-Hyams Date: Wed, 30 Apr 2025 15:19:03 +0100 Subject: [PATCH 1/8] [KeyInstr] Add docs --- clang/docs/KeyInstructions

[clang] Fix scope of typedefs present inside a template class (PR #146729)

2025-07-15 Thread Orlando Cazalet-Hyams via cfe-commits
OCHyams wrote: I don't really feel comfortable reviewing Clang patches, living mostly on the LLVM side of things. @dwblaikie do you know who could take a look? https://github.com/llvm/llvm-project/pull/146729 ___ cfe-commits mailing list cfe-commits@l

[clang] [KeyInstr] Add release note & update option (PR #148244)

2025-07-14 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams closed https://github.com/llvm/llvm-project/pull/148244 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [KeyInstr] Add release note & update option (PR #148244)

2025-07-14 Thread Orlando Cazalet-Hyams via cfe-commits
OCHyams wrote: ty (rebased & fixed conflict) https://github.com/llvm/llvm-project/pull/148244 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [KeyInstr] Add release note & update option (PR #148244)

2025-07-14 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams updated https://github.com/llvm/llvm-project/pull/148244 >From 8c3d449f4398c9dbc40c4be3f19f51bb2eadfc6d Mon Sep 17 00:00:00 2001 From: Orlando Cazalet-Hyams Date: Fri, 11 Jul 2025 14:35:12 +0100 Subject: [PATCH 1/3] notes and helptext --- clang/docs/ReleaseNotes.rst

[clang] [KeyInstr] Add release note & update option (PR #148244)

2025-07-14 Thread Orlando Cazalet-Hyams via cfe-commits
OCHyams wrote: So it is. Fixed! https://github.com/llvm/llvm-project/pull/148244 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [KeyInstr] Add release note & update option (PR #148244)

2025-07-14 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams updated https://github.com/llvm/llvm-project/pull/148244 >From e31f415c4a1ba18f771a6119bee2bc11f4f705bb Mon Sep 17 00:00:00 2001 From: Orlando Cazalet-Hyams Date: Fri, 11 Jul 2025 14:35:12 +0100 Subject: [PATCH 1/3] notes and helptext --- clang/docs/ReleaseNotes.rst

[clang] [llvm] [KeyInstr] Add docs (PR #137991)

2025-07-11 Thread Orlando Cazalet-Hyams via cfe-commits
OCHyams wrote: Sorry for the wait... I've addressed the feedback - how does this look now? https://github.com/llvm/llvm-project/pull/137991 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-comm

[clang] [llvm] [KeyInstr] Add docs (PR #137991)

2025-07-11 Thread Orlando Cazalet-Hyams via cfe-commits
@@ -0,0 +1,120 @@ +# Key Instructions in Clang + +Key Instructions is an LLVM feature that reduces the jumpiness of optimized code debug stepping. This document explains how Clang applies the necessary metadata. + +## Implementation + +See the [LLVM docs](../../llvm/docs/KeyInst

[clang] [llvm] [KeyInstr] Add docs (PR #137991)

2025-07-11 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams updated https://github.com/llvm/llvm-project/pull/137991 >From cb89d1f1bb60db07743f1973f9b263424fab9f6d Mon Sep 17 00:00:00 2001 From: Orlando Cazalet-Hyams Date: Wed, 30 Apr 2025 15:19:03 +0100 Subject: [PATCH 1/5] [KeyInstr] Add docs --- clang/docs/KeyInstructions

[clang] [KeyInstr] Add release note & update option (PR #148244)

2025-07-11 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams created https://github.com/llvm/llvm-project/pull/148244 Make the option visible, improve the help text, and add a release note. >From e31f415c4a1ba18f771a6119bee2bc11f4f705bb Mon Sep 17 00:00:00 2001 From: Orlando Cazalet-Hyams Date: Fri, 11 Jul 2025 14:35:12 +0100

[clang] [KeyInstr] Disable key-instructions for coroutine scopes (PR #147551)

2025-07-11 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams approved this pull request. LGTM, thanks https://github.com/llvm/llvm-project/pull/147551 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [KeyInstr] Disable key-instructions for coroutine scopes (PR #147551)

2025-07-11 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams edited https://github.com/llvm/llvm-project/pull/147551 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [KeyInstr] Disable key-instructions for coroutine scopes (PR #147551)

2025-07-11 Thread Orlando Cazalet-Hyams via cfe-commits
@@ -0,0 +1,81 @@ +// RUN: %clang_cc1 -disable-llvm-optzns -std=c++20 \ +// RUN:-triple=x86_64 -dwarf-version=4 -debug-info-kind=limited \ +// RUN:-emit-llvm -o - %s -gkey-instructions | \ +// RUN:FileCheck %s + +// Check that for the coroutine b

[clang] [KeyInstr] Disable key-instructions for coroutine scopes (PR #147551)

2025-07-11 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams edited https://github.com/llvm/llvm-project/pull/147551 ___ 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 Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams approved this pull request. Oh right, I see, LGTM 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 Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams commented: 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!) https://github.com/llvm/llvm-project/pull/146521 ___ cfe-commits mailing list cfe-comm

[clang] [KeyInstr][Clang][NFC] Add test for array cookie store (PR #146517)

2025-07-01 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams created https://github.com/llvm/llvm-project/pull/146517 It doesn't need to be a Key Instruction. (I noticed I had this test lying around on one of my branches - the extra coverage can't hurt?) >From c2e0b5b06c7a22d0c52abfa6570959ded9e9fb1b Mon Sep 17 00:00:00 2001

[clang] [KeyInstr][Clang][NFC] Don't set -dwarf-use-key-instructions (PR #144115)

2025-06-30 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams closed https://github.com/llvm/llvm-project/pull/144115 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [KeyInstr][Clang][NFC] Don't set -dwarf-use-key-instructions (PR #144115)

2025-06-30 Thread Orlando Cazalet-Hyams via cfe-commits
OCHyams wrote: > Keeping on the HELP checklines though: if you symlink clang to /bin/true then > with no checklines looking for a positive match, the test will still pass, > which sucks Oh I see, I'll add a note to my TODOs to follow up https://github.com/llvm/llvm-project/pull/144115 ___

[clang] [KeyInstr][Clang] Copy ctor/assignment operator source atoms (PR #144346)

2025-06-30 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams closed https://github.com/llvm/llvm-project/pull/144346 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [KeyInstr][Clang] Copy ctor/assignment operator source atoms (PR #144346)

2025-06-30 Thread Orlando Cazalet-Hyams via cfe-commits
@@ -0,0 +1,59 @@ +// RUN: %clang_cc1 -triple x86_64-linux-gnu -gkey-instructions %s -gno-column-info -debug-info-kind=line-tables-only -emit-llvm -o - \ +// RUN: | FileCheck %s + +// g::h and i can be memcpy'd, check the assignment gets Key Instructions metadata. + +struct e { +

[clang] [KeyInstr][Clang][NFC] Don't set -dwarf-use-key-instructions (PR #144115)

2025-06-30 Thread Orlando Cazalet-Hyams via cfe-commits
@@ -8,8 +8,14 @@ // HELP-NOT: key-instructions OCHyams wrote: I'm not sure that's right - if I change `key-instructions` to `clang` I get: ``` /home/och/dev/llvm-project/clang/test/DebugInfo/KeyInstructions/flag.cpp:8:14: error: HELP-NOT: excluded string foun

[clang] [KeyInstr][Clang][NFC] Don't set -dwarf-use-key-instructions (PR #144115)

2025-06-30 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams commented: Addressed feedback / replied inline https://github.com/llvm/llvm-project/pull/144115 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [KeyInstr][Clang][NFC] Don't set -dwarf-use-key-instructions (PR #144115)

2025-06-30 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams edited https://github.com/llvm/llvm-project/pull/144115 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [KeyInstr][Clang][NFC] Don't set -dwarf-use-key-instructions (PR #144115)

2025-06-30 Thread Orlando Cazalet-Hyams via cfe-commits
@@ -8,8 +8,14 @@ // HELP-NOT: key-instructions // KEY-INSTRUCTIONS: "-gkey-instructions" -// KEY-INSTRUCTIONS: "-mllvm" "-dwarf-use-key-instructions" // NO-KEY-INSTRUCTIONS-NOT: key-instructions - TODO: Add smoke test once some functionality has been added. +// RUN %c

[clang] [KeyInstr][Clang][NFC] Don't set -dwarf-use-key-instructions (PR #144115)

2025-06-30 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams updated https://github.com/llvm/llvm-project/pull/144115 >From 5ed1dedf639090e0706d25c874ebbb4335cc26f2 Mon Sep 17 00:00:00 2001 From: Orlando Cazalet-Hyams Date: Fri, 13 Jun 2025 17:39:53 +0100 Subject: [PATCH 1/3] [KeyInstr][Clang][NFC] Don't set -dwarf-use-key-ins

[clang] [llvm] [KeyInstr] Add DISubprogram::keyInstructions bit (PR #144107)

2025-06-30 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams closed https://github.com/llvm/llvm-project/pull/144107 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [KeyInstr] Add DISubprogram::keyInstructions bit (PR #144107)

2025-06-27 Thread Orlando Cazalet-Hyams via cfe-commits
@@ -1904,7 +1904,8 @@ CGDebugInfo::createInlinedSubprogram(StringRef FuncName, /*ScopeLine=*/0, /*Flags=*/llvm::DINode::FlagArtificial, /*SPFlags=*/llvm::DISubprogram::SPFlagDefinition, -/*TParams=*/nullptr, /*ThrownTypes=*/nullptr, /*Annotations

[clang] [llvm] [KeyInstr] Add DISubprogram::keyInstructions bit (PR #144107)

2025-06-27 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams updated https://github.com/llvm/llvm-project/pull/144107 >From 035414edf0fc80f5d69249f94f0dc39d9e1dda8f Mon Sep 17 00:00:00 2001 From: Orlando Cazalet-Hyams Date: Tue, 13 May 2025 17:01:34 +0100 Subject: [PATCH 1/2] [KeyInstr] Add DISubprogram::keyInstructions bit St

[clang] 75cf826 - [KeyInstr][Clang] Fix atomic ops atoms test

2025-06-24 Thread Orlando Cazalet-Hyams via cfe-commits
Author: Orlando Cazalet-Hyams Date: 2025-06-24T14:37:21+01:00 New Revision: 75cf826849713c00829cdf657e330e24c1a2fd03 URL: https://github.com/llvm/llvm-project/commit/75cf826849713c00829cdf657e330e24c1a2fd03 DIFF: https://github.com/llvm/llvm-project/commit/75cf826849713c00829cdf657e330e24c1a2fd

[clang] [KeyInstr][Clang] Atomic ops atoms (PR #141624)

2025-06-24 Thread Orlando Cazalet-Hyams via cfe-commits
@@ -0,0 +1,162 @@ +// RUN: %clang_cc1 -triple x86_64-linux-gnu -gkey-instructions -x c++ -std=c++17 %s -debug-info-kind=line-tables-only -emit-llvm -o - -gno-column-info \ +// RUN: | FileCheck %s --implicit-check-not atomGroup --implicit-check-not atomRank +// RUN: %clang_cc1 -

[clang] [KeyInstr][Clang] Atomic ops atoms (PR #141624)

2025-06-24 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams closed https://github.com/llvm/llvm-project/pull/141624 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [KeyInstr] Add DISubprogram::keyInstructions bit (PR #144107)

2025-06-23 Thread Orlando Cazalet-Hyams via cfe-commits
@@ -922,8 +922,8 @@ template <> struct MDNodeKeyImpl { MDString *LinkageName; Metadata *File; unsigned Line; - Metadata *Type; unsigned ScopeLine; + Metadata *Type; OCHyams wrote: Yep, 136 -> 128 bytes (144 -> 136 with the new bool). I don't think i

[clang] [llvm] [KeyInstr] Add DISubprogram::keyInstructions bit (PR #144107)

2025-06-23 Thread Orlando Cazalet-Hyams via cfe-commits
OCHyams wrote: > LGTM, I think this raises a few questions about whether we're going to > support non-key-instructions code forever more. AFAIUI the premise is that > the debugging behaviour is worse if you've got groupless instructions in a > key-instructions program? Worse is an understatem

[clang] [libc] [llvm] [DebugInfo][RemoveDIs] Suppress getNextNonDebugInfoInstruction (PR #144383)

2025-06-17 Thread Orlando Cazalet-Hyams via cfe-commits
@@ -29,7 +29,7 @@ to learn about the defaults for your platform and target. - ``LIBC_CONF_ENABLE_STRONG_STACK_PROTECTOR``: Enable -fstack-protector-strong to defend against stack smashing attack. - ``LIBC_CONF_KEEP_FRAME_POINTER``: Keep frame pointer in functions for b

[clang] [libc] [llvm] [DebugInfo][RemoveDIs] Suppress getNextNonDebugInfoInstruction (PR #144383)

2025-06-17 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams approved this pull request. This LGTM besides the one nit, but we should probably give @WenleiHe some time to respond before landing. https://github.com/llvm/llvm-project/pull/144383 ___ cfe-commits mailing list cfe-commits@

[clang] [libc] [llvm] [DebugInfo][RemoveDIs] Suppress getNextNonDebugInfoInstruction (PR #144383)

2025-06-17 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams edited https://github.com/llvm/llvm-project/pull/144383 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [KeyInstr][Clang] Ctor memcpy-able members init source atom (PR #144346)

2025-06-16 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams created https://github.com/llvm/llvm-project/pull/144346 None >From 99c40d7c7eeaf8f1a58b7223491abe0e4ad9936a Mon Sep 17 00:00:00 2001 From: Orlando Cazalet-Hyams Date: Mon, 16 Jun 2025 12:07:08 +0100 Subject: [PATCH 1/2] [KeyInstr][Clang] Memcopyable members init - s

[clang] [llvm] [KeyInstr] Add docs (PR #137991)

2025-06-16 Thread Orlando Cazalet-Hyams via cfe-commits
OCHyams wrote: Ping, and updated based on PR #144104 https://github.com/llvm/llvm-project/pull/137991 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [KeyInstr] Add docs (PR #137991)

2025-06-16 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams updated https://github.com/llvm/llvm-project/pull/137991 >From cb89d1f1bb60db07743f1973f9b263424fab9f6d Mon Sep 17 00:00:00 2001 From: Orlando Cazalet-Hyams Date: Wed, 30 Apr 2025 15:19:03 +0100 Subject: [PATCH 1/4] [KeyInstr] Add docs --- clang/docs/KeyInstructions

[clang] [KeyInstr][Clang][NFC] Don't set -dwarf-use-key-instructions (PR #144115)

2025-06-13 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams created https://github.com/llvm/llvm-project/pull/144115 Once #144104 lands the flag is true by default (because each DISubprogram will track whether or not it's using key instructions). >From 748d6d5a7c53b21e6fe1170a8c0793e91196a507 Mon Sep 17 00:00:00 2001 From: Or

[clang] [llvm] [KeyInstr] Add DISubprogram::keyInstructions bit (PR #144107)

2025-06-13 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams created https://github.com/llvm/llvm-project/pull/144107 Patch 1/4 adding bitcode support. Store whether or not a function is using Key Instructions in its DISubprogram so that we don't need to rely on the -mllvm flag -dwarf-use-key-instructions to determine whether

[clang] [KeyInstr][Clang] Atomic ops atoms (PR #141624)

2025-06-10 Thread Orlando Cazalet-Hyams via cfe-commits
OCHyams wrote: Ping https://github.com/llvm/llvm-project/pull/141624 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [KeyInstr][Clang] Ret atom (PR #134652)

2025-06-04 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams closed https://github.com/llvm/llvm-project/pull/134652 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] ac42923 - Reapply "[KeyInstr][Clang] For range stmt atoms" (#142630)

2025-06-04 Thread Orlando Cazalet-Hyams via cfe-commits
Author: Orlando Cazalet-Hyams Date: 2025-06-04T10:53:29+01:00 New Revision: ac42923c2defe51fcc9220f68d50b33b5e872933 URL: https://github.com/llvm/llvm-project/commit/ac42923c2defe51fcc9220f68d50b33b5e872933 DIFF: https://github.com/llvm/llvm-project/commit/ac42923c2defe51fcc9220f68d50b33b5e8729

[clang] Revert "[KeyInstr][Clang] For range stmt atoms" (PR #142630)

2025-06-03 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams created https://github.com/llvm/llvm-project/pull/142630 Reverts llvm/llvm-project#134647 Bot failure: https://lab.llvm.org/buildbot/#/builders/144/builds/26730/steps/6/logs/FAIL__Clang__terminate-statements_cpp >From 36efd649134e82ec7083c1fd02ff6f11b128604f Mon Sep

[clang] Revert "[KeyInstr][Clang] For range stmt atoms" (PR #142630)

2025-06-03 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams closed https://github.com/llvm/llvm-project/pull/142630 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [KeyInstr][Clang] Ret atom (PR #134652)

2025-06-03 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams updated https://github.com/llvm/llvm-project/pull/134652 >From a8837383c3289ab1c1e93b5fa00371241fa55fb4 Mon Sep 17 00:00:00 2001 From: Orlando Cazalet-Hyams Date: Fri, 4 Apr 2025 16:28:39 +0100 Subject: [PATCH 01/12] [KeyInstr][Clang] Ret atom This patch is part of a

[clang] [KeyInstr][Clang] Ret atom (PR #134652)

2025-06-03 Thread Orlando Cazalet-Hyams via cfe-commits
@@ -0,0 +1,101 @@ +// RUN: %clang_cc1 -triple x86_64-linux-gnu -gkey-instructions -gno-column-info -x c++ %s -debug-info-kind=line-tables-only -emit-llvm -o - \ +// RUN: | FileCheck %s --check-prefixes=CHECK,CHECK-CXX + +// RUN: %clang_cc1 -triple x86_64-linux-gnu -gkey-instructi

[clang] [KeyInstr][Clang] Ret atom (PR #134652)

2025-06-03 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams commented: > If I understand correctly, most of the test changes are to ensure that return > instructions get /an/ atom group, without being specific about which? IMO > it'd be better to make that number explicit to avoid a return accidentally > being part of the wro

[clang] [KeyInstr][Clang] Ret atom (PR #134652)

2025-06-03 Thread Orlando Cazalet-Hyams via cfe-commits
@@ -1118,6 +1118,8 @@ void CodeGenFunction::EmitBranchThroughCleanup(JumpDest Dest) { // Create the branch. llvm::BranchInst *BI = Builder.CreateBr(Dest.getBlock()); + // This is the primary instruction for this atom, acting in place of a ret. OCHyams wr

[clang] [KeyInstr][Clang] Ret atom (PR #134652)

2025-06-03 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams edited https://github.com/llvm/llvm-project/pull/134652 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [KeyInstr][Clang] Ret atom (PR #134652)

2025-06-03 Thread Orlando Cazalet-Hyams via cfe-commits
@@ -0,0 +1,25 @@ +// RUN: %clang_cc1 -triple x86_64-linux-gnu -gkey-instructions -gno-column-info -x c++ %s -debug-info-kind=line-tables-only -emit-llvm -o - \ +// RUN: | FileCheck %s --implicit-check-not atomGroup --implicit-check-not atomRank + +// RUN: %clang_cc1 -triple x86_

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

2025-06-03 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams updated https://github.com/llvm/llvm-project/pull/134647 >From 5c7ac16d5099b192f25f17ec58dbe89cb43a7bca Mon Sep 17 00:00:00 2001 From: Orlando Cazalet-Hyams Date: Thu, 3 Apr 2025 19:46:01 +0100 Subject: [PATCH 1/6] [KeyInstr][Clang] For range stmt atoms This patch is

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

2025-06-03 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams updated https://github.com/llvm/llvm-project/pull/134647 >From 5c7ac16d5099b192f25f17ec58dbe89cb43a7bca Mon Sep 17 00:00:00 2001 From: Orlando Cazalet-Hyams Date: Thu, 3 Apr 2025 19:46:01 +0100 Subject: [PATCH 1/5] [KeyInstr][Clang] For range stmt atoms This patch is

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

2025-06-03 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams updated https://github.com/llvm/llvm-project/pull/134647 >From 5c7ac16d5099b192f25f17ec58dbe89cb43a7bca Mon Sep 17 00:00:00 2001 From: Orlando Cazalet-Hyams Date: Thu, 3 Apr 2025 19:46:01 +0100 Subject: [PATCH 1/4] [KeyInstr][Clang] For range stmt atoms This patch is

[clang] 8e50e88 - [KeyInstr][Clang] Break and Continue stmt atoms

2025-06-03 Thread Orlando Cazalet-Hyams via cfe-commits
Author: Orlando Cazalet-Hyams Date: 2025-06-03T14:25:48+01:00 New Revision: 8e50e882a847a8fd51ee8ec22fea5df192b14c06 URL: https://github.com/llvm/llvm-project/commit/8e50e882a847a8fd51ee8ec22fea5df192b14c06 DIFF: https://github.com/llvm/llvm-project/commit/8e50e882a847a8fd51ee8ec22fea5df192b14c

[clang] [NFC][KeyInstr][Clang] Add some additional tests (PR #134654)

2025-06-03 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams closed https://github.com/llvm/llvm-project/pull/134654 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [NFC][KeyInstr][Clang] Add some additional tests (PR #134654)

2025-06-03 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams updated https://github.com/llvm/llvm-project/pull/134654 >From 79d3f9c4eb1491789aa288c2b379e85736d8ce74 Mon Sep 17 00:00:00 2001 From: Orlando Cazalet-Hyams Date: Mon, 7 Apr 2025 12:18:48 +0100 Subject: [PATCH 1/5] [NFC][KeyInstr][Clang] Add some additional tests Thi

[clang] [KeyInstr][Clang] Ret atom (PR #134652)

2025-06-03 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams commented: Ready for review * Add parameter `RetKeyInstructionsSourceAtom` in `EmitFunctionEpilog` to request a `ret` gets a specific atomGroup number through `addInstToSpecificSourceAtom` Most of the updated tests just check for any atom on the ret, but the two tes

[clang] [NFC][KeyInstr][Clang] Add some additional tests (PR #134654)

2025-06-03 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams updated https://github.com/llvm/llvm-project/pull/134654 >From e8a5ebb08165c6d9b0ac6b518b4ad3d1abd1fa4b Mon Sep 17 00:00:00 2001 From: Orlando Cazalet-Hyams Date: Mon, 7 Apr 2025 12:18:48 +0100 Subject: [PATCH 1/4] [NFC][KeyInstr][Clang] Add some additional tests Thi

[clang] [KeyInstr][Clang] For stmt atom (PR #134646)

2025-06-03 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams closed https://github.com/llvm/llvm-project/pull/134646 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [KeyInstr][Clang] For stmt atom (PR #134646)

2025-06-03 Thread Orlando Cazalet-Hyams via cfe-commits
@@ -1418,6 +1427,12 @@ void CodeGenFunction::EmitForStmt(const ForStmt &S, if (CGM.shouldEmitConvergenceTokens()) ConvergenceTokenStack.pop_back(); + + if (FinalBodyBB) { +// Key Instructions: We want the for closing brace to be step-able on to +// match existin

[clang] [KeyInstr][Clang] For stmt atom (PR #134646)

2025-06-03 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams updated https://github.com/llvm/llvm-project/pull/134646 >From 0c7a83007e218dd7338b92f1d50319b0f35cf55f Mon Sep 17 00:00:00 2001 From: Orlando Cazalet-Hyams Date: Thu, 3 Apr 2025 19:12:47 +0100 Subject: [PATCH 1/9] [KeyInstr][Clang] For stmt atom This patch is part o

[clang] [KeyInstr][Clang] For stmt atom (PR #134646)

2025-06-03 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams updated https://github.com/llvm/llvm-project/pull/134646 >From 0c7a83007e218dd7338b92f1d50319b0f35cf55f Mon Sep 17 00:00:00 2001 From: Orlando Cazalet-Hyams Date: Thu, 3 Apr 2025 19:12:47 +0100 Subject: [PATCH 1/8] [KeyInstr][Clang] For stmt atom This patch is part o

[clang] [NFC][KeyInstr][Clang] Add some additional tests (PR #134654)

2025-06-03 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams updated https://github.com/llvm/llvm-project/pull/134654 >From e8a5ebb08165c6d9b0ac6b518b4ad3d1abd1fa4b Mon Sep 17 00:00:00 2001 From: Orlando Cazalet-Hyams Date: Mon, 7 Apr 2025 12:18:48 +0100 Subject: [PATCH 1/3] [NFC][KeyInstr][Clang] Add some additional tests Thi

[clang] [KeyInstr][Clang] Ret atom (PR #134652)

2025-06-03 Thread Orlando Cazalet-Hyams via cfe-commits
https://github.com/OCHyams ready_for_review https://github.com/llvm/llvm-project/pull/134652 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

  1   2   3   >