<html>
    <head>
      <base href="https://llvm.org/bugs/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - LLVM's Global Value Numbering pass bug"
   href="https://llvm.org/bugs/show_bug.cgi?id=30550">30550</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>LLVM's Global Value Numbering pass bug
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>clang
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>3.9
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>-New Bugs
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedclangbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>Anton.Baliasnikov@synopsys.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=17373" name="attach_17373" title="tst function have to return 0, but returns 1 with O2, O3 and inlining">attachment 17373</a> <a href="attachment.cgi?id=17373&action=edit" title="tst function have to return 0, but returns 1 with O2, O3 and inlining">[details]</a></span>
tst function have to return 0, but returns 1 with O2, O3 and inlining

With inlining and performance optimization (O2 and O3) clang optimize away some
part of code and return the wrong value.

Compile the attached test with the following command line:
) clang -Wall -std=c++14 -stdlib=libc++ -O3 -o a.out test.cpp
the test will fail.

The test passes with -fno-inline-functions or -O0.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>