<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/101839>101839</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [LLVM:] Optimization remarks are generated which aren't legal YAML
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          OfekShilon
      </td>
    </tr>
</table>

<pre>
    As a toy example this cpp source:
```cpp
#include <vector>

void f() {
 std::vector<float> buf(100);
   float * p = nullptr;
}
```
When built with clang (tested back until clang15) with the switches
```
-fsave-optimization-record -O2 -std=c++20
```

Generartes the attached opt.yaml file, including the illegal document -

```
...
         prologepilog
Name: StackSize
DebugLoc:        { File: example.cpp, Line: 3, Column: 0 }
Function:        _Z1fv
Args:
  - NumStackBytes:   '0'
  - String:          ' stack bytes in function '''
  - Function: _Z1fv
  - String:          ''''
...
--- !Analysis
```

(the first `...` is part of the doc, and is expected to be followed by a `---` line).

You can verify e.g. by pasting the entire yaml contents into https://www.yamllint.com/


</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx0VE2PozgQ_TXOpQQyJgnhwCHpTPbSM31oaVezl5UxBXjb2Mguksn8-pUhncm2ehACuT5elV89W4agO4tYsc2BbY4rOVHvfPXS4ttrr42zq9o112ofQAK5K-APOYwGgXodQI0jBDd5hSzfM35kfM-2fHnVON4sItdWmalBYPnTGRU5z_IvN-f8PTvdQMvEjokSWHFYrBCoibj5_j3pqTVOEsu_QD3F8IxzJkqWvycAzAHAxB5GYPkR7GTMSP4eworjhz6X5V89WqgnbQgumnpQRtoOmNgRBsIGaqneYLKkzeLKNrHVOZR6hHDRpHoMn2InbZBnTNxIetA_JWlnE4_K-QaSFwHJvM2jYuLAxEHwTzGW7x9o0UtPGOaqkkiqHhtwI6VXORhotUEmnmAhXNtujtPGYCcNNE5NA1qC5BH0Q6U0Te9sLs_onXEdjtq4bnF9k0OcOLySVG-v-icu5iPWU_fsVHTdHlYc4BSbyvfv0kmjMsQTPGs7m_O4eHJmGmxccrjP6DRZFdl6wPvn76w9L96978JddgAJfJuGuaHDlTAsOUwUnIniV8wreW27B8A5BkLMgzomgrbQ3gpH3-29Izw29dDN78E_YNz5TZIEmMj2Vppr0J9L5_0E7eIYW-0DAdvyCLHloAOM0hO4dp5y41RkUtomevDHiCoqlxzUCK0zxl2ikK8gI0aSJBHDxCGIMn0s991NoKSFM3rdXgHTLo1powz0rii0pD3CrDnlLKGlSBw56InGeSzixMTpcrnMwjTaUqrcEK0PlVZNlTdlXsoVVlkhRMG3RVms-mq32dVZsct22RqbJis3dcHrFkuxlrtm3TYrXQku1nzH86zIy02RKlUUZS55tuWSb9cbtuY4SG1SY85D6ny30iFMWGU82-XlysgaTZgvPSEsXmD2MiHiHeirmJTUUxfYmhsdKPyCIU1mvi2fn__8Gje6OcLLw9EGj4P0bwGkR-jmAxvHcOm16qPNMlEQLAfy-_7r82rypvo_a52mfqpvfMXCt18yevcvKmLiNLcbmDjd9nOuxH8BAAD___4KsWU">