<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/test/DebugInfo/KeyInstructions/Generic, branch users/nico/python-2</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[KeyInstr] Add DISubprogram::keyInstructions bit (#144107)</title>
<updated>2025-06-30T07:01:55+00:00</updated>
<author>
<name>Orlando Cazalet-Hyams</name>
<email>orlando.hyams@sony.com</email>
</author>
<published>2025-06-30T07:01:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=140e1894f245896752d06a7f5c405a465b492e73'/>
<id>140e1894f245896752d06a7f5c405a465b492e73</id>
<content type='text'>
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 or not to interpret Key Instructions metadata to decide
is_stmt placement at DWARF emission time. This makes bitcode support simple and
enables well defined mixing of non-key-instructions and key-instructions
functions in an LTO context.

This patch adds the bit (using DISubprogram::SubclassData1).

PR 144104 and 144103 use it during DWARF emission.
PR 44102 adds bitcode
support.

See pull request for overview of alternative attempts.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 or not to interpret Key Instructions metadata to decide
is_stmt placement at DWARF emission time. This makes bitcode support simple and
enables well defined mixing of non-key-instructions and key-instructions
functions in an LTO context.

This patch adds the bit (using DISubprogram::SubclassData1).

PR 144104 and 144103 use it during DWARF emission.
PR 44102 adds bitcode
support.

See pull request for overview of alternative attempts.</pre>
</div>
</content>
</entry>
<entry>
<title>[KeyInstr][LoopUnswitch] Remap cloned instructions' atoms (#133491)</title>
<updated>2025-05-09T14:24:47+00:00</updated>
<author>
<name>Orlando Cazalet-Hyams</name>
<email>orlando.hyams@sony.com</email>
</author>
<published>2025-05-09T14:24:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fb7d114efb52ff78b7645490adb8f0c37fd12986'/>
<id>fb7d114efb52ff78b7645490adb8f0c37fd12986</id>
<content type='text'>
RFC: https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
RFC: https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668</pre>
</div>
</content>
</entry>
<entry>
<title>[KeyInstr][JumpThreading] Remap atoms after threading (#133487)</title>
<updated>2025-05-09T12:48:23+00:00</updated>
<author>
<name>Orlando Cazalet-Hyams</name>
<email>orlando.hyams@sony.com</email>
</author>
<published>2025-05-09T12:48:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=40ac25e3096178ffe9d20ba4e14a159411ddf206'/>
<id>40ac25e3096178ffe9d20ba4e14a159411ddf206</id>
<content type='text'>
RFC: https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
RFC: https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668</pre>
</div>
</content>
</entry>
<entry>
<title>[KeyInstr][LoopUnroll] Remap atoms while unrolling (#133489)</title>
<updated>2025-05-09T12:47:16+00:00</updated>
<author>
<name>Orlando Cazalet-Hyams</name>
<email>orlando.hyams@sony.com</email>
</author>
<published>2025-05-09T12:47:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c453da7b7c2d964352941484b9f06047d2cc919e'/>
<id>c453da7b7c2d964352941484b9f06047d2cc919e</id>
<content type='text'>
RFC: https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
RFC: https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668</pre>
</div>
</content>
</entry>
<entry>
<title>[KeyInstr][LoopRotate] Remap atoms of duplicated instructions (#133490)</title>
<updated>2025-05-07T16:10:30+00:00</updated>
<author>
<name>Orlando Cazalet-Hyams</name>
<email>orlando.hyams@sony.com</email>
</author>
<published>2025-05-07T16:10:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6a1f52150a56d797ac5cb71e75629e7fe5fd630a'/>
<id>6a1f52150a56d797ac5cb71e75629e7fe5fd630a</id>
<content type='text'>
RFC: https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
RFC: https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668</pre>
</div>
</content>
</entry>
<entry>
<title>[KeyInstr][JumpThreading] Remap atoms duping bb with cond br on phi into pred (#133488)</title>
<updated>2025-05-07T15:01:53+00:00</updated>
<author>
<name>Orlando Cazalet-Hyams</name>
<email>orlando.hyams@sony.com</email>
</author>
<published>2025-05-07T15:01:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=960221623f54b87c0ce786d551111573810c8ac8'/>
<id>960221623f54b87c0ce786d551111573810c8ac8</id>
<content type='text'>
See test for details.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
See test for details.</pre>
</div>
</content>
</entry>
<entry>
<title>[KeyInstr][JumpThreading] Remap atoms in blocks duplicated for threading (#133486)</title>
<updated>2025-05-07T13:54:04+00:00</updated>
<author>
<name>Orlando Cazalet-Hyams</name>
<email>orlando.hyams@sony.com</email>
</author>
<published>2025-05-07T13:54:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a061998a14a0ff16b633d6cf48c250d50c6acad2'/>
<id>a061998a14a0ff16b633d6cf48c250d50c6acad2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[KeyInstr][Inline] Don't propagate atoms to inlined nodebug instructions (#133485)</title>
<updated>2025-05-07T10:54:57+00:00</updated>
<author>
<name>Orlando Cazalet-Hyams</name>
<email>orlando.hyams@sony.com</email>
</author>
<published>2025-05-07T10:54:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5be080edf73abd9d980ced8a432aaf2861d4445e'/>
<id>5be080edf73abd9d980ced8a432aaf2861d4445e</id>
<content type='text'>
RFC: https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
RFC: https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668</pre>
</div>
</content>
</entry>
<entry>
<title>[KeyInstr][SimplifyCFG] Remap atoms after duplication for threading (#133484)</title>
<updated>2025-05-07T08:56:30+00:00</updated>
<author>
<name>Orlando Cazalet-Hyams</name>
<email>orlando.hyams@sony.com</email>
</author>
<published>2025-05-07T08:56:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=74c3025dd518aae01db5fbbd06b81c8ad272f959'/>
<id>74c3025dd518aae01db5fbbd06b81c8ad272f959</id>
<content type='text'>
Given the same branch condition in `a` and `c` SimplifyCFG converts:

        +&gt; b -+
        |     v
    --&gt; a --&gt; c --&gt; e --&gt;
              |     ^
              +&gt; d -+
into:

        +--&gt; bcd ---+
        |           v
    --&gt; a --&gt; c --&gt; e --&gt;

Remap source atoms on instructions duplicated from `c` into `bcd`.

RFC:
https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Given the same branch condition in `a` and `c` SimplifyCFG converts:

        +&gt; b -+
        |     v
    --&gt; a --&gt; c --&gt; e --&gt;
              |     ^
              +&gt; d -+
into:

        +--&gt; bcd ---+
        |           v
    --&gt; a --&gt; c --&gt; e --&gt;

Remap source atoms on instructions duplicated from `c` into `bcd`.

RFC:
https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668</pre>
</div>
</content>
</entry>
<entry>
<title>[KeyInstr][SimplifyCFG] Remap atoms when folding br to common succ into pred (#133482)</title>
<updated>2025-05-06T14:03:20+00:00</updated>
<author>
<name>Orlando Cazalet-Hyams</name>
<email>orlando.hyams@sony.com</email>
</author>
<published>2025-05-06T14:03:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f8de1618cc3349829ed5ab699413dcb84451e0c7'/>
<id>f8de1618cc3349829ed5ab699413dcb84451e0c7</id>
<content type='text'>
SimplifyCFG folds `d` into preds `b` and `c`.

              +---------------+
              |               |
         +--&gt; b --+           |
         |        v           v
     --&gt; a        d --&gt; e --&gt; f --&gt;
         |        ^           ^
         +--&gt; c --+           |
              |               |
              +---------------+
    
Remap source atoms so that the duplicated instructions are analysed
independently to determine is_stmt positions.

The pull request contains a discussion covering various edge cases here:
https://github.com/llvm/llvm-project/pull/133482/files#r2039519348

The summary of the discussion is that we could avoid remapping when there's a
single pred, but we decided that it's still a trade off, and not worth the
additional complexity right now.

RFC:
https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
SimplifyCFG folds `d` into preds `b` and `c`.

              +---------------+
              |               |
         +--&gt; b --+           |
         |        v           v
     --&gt; a        d --&gt; e --&gt; f --&gt;
         |        ^           ^
         +--&gt; c --+           |
              |               |
              +---------------+
    
Remap source atoms so that the duplicated instructions are analysed
independently to determine is_stmt positions.

The pull request contains a discussion covering various edge cases here:
https://github.com/llvm/llvm-project/pull/133482/files#r2039519348

The summary of the discussion is that we could avoid remapping when there's a
single pred, but we decided that it's still a trade off, and not worth the
additional complexity right now.

RFC:
https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668
</pre>
</div>
</content>
</entry>
</feed>
