<html>
    <head>
      <base href="https://llvm.org/bugs/" />
    </head>
    <body><span class="vcard"><a class="email" href="mailto:bluechristlove@163.com" title="Wu Zhao <bluechristlove@163.com>"> <span class="fn">Wu Zhao</span></a>
</span> changed
              <a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED --- - LLVM O2: LLVM opt -O2 did wrong optimization happened on Power / x86."
   href="https://llvm.org/bugs/show_bug.cgi?id=29118">bug 29118</a>
        <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">Status</td>
           <td>RESOLVED
           </td>
           <td>REOPENED
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">Resolution</td>
           <td>INVALID
           </td>
           <td>---
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED --- - LLVM O2: LLVM opt -O2 did wrong optimization happened on Power / x86."
   href="https://llvm.org/bugs/show_bug.cgi?id=29118#c6">Comment # 6</a>
              on <a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED --- - LLVM O2: LLVM opt -O2 did wrong optimization happened on Power / x86."
   href="https://llvm.org/bugs/show_bug.cgi?id=29118">bug 29118</a>
              from <span class="vcard"><a class="email" href="mailto:bluechristlove@163.com" title="Wu Zhao <bluechristlove@163.com>"> <span class="fn">Wu Zhao</span></a>
</span></b>
        <pre>Firstly, thanks Sanjay Patel and Michael Kuperstein. 

However, we must see carefully with this C++ code(not only IR). From the user
source code of C++ semantics, I do not think it should be UB. 

[code]
int main()
{
  typedef array<char, 10> Con;
  Con v0;
  __builtin_printf("%d\n", v0 == v0);
}
[/code]

In fact, I compare it with the object v0 self, why the compiler said to me it
is not equal when I use O2? In fact, this case can be compiled with GCC / xlC
and so on (even with O2, O3). Clang passed O0 and Clang 3.5 can pass O2. For
main trunk of Clang, it can pass O0/O1.  So I think it is not invalid test
cases. Additionally, the container of array implementation is from our libc++
and affects us to use libc++. We should resolve it for our libc++ to be used
better experience too.

Thanks.</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>