<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 --- - Incorrect motion of tailcall|readnone"
   href="https://llvm.org/bugs/show_bug.cgi?id=24613">24613</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Incorrect motion of tailcall|readnone
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>libraries
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>All
          </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>Common Code Generator Code
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>geek4civic@gmail.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>david.majnemer@gmail.com, 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=14787" name="attach_14787" title="llvm::yaml::Input::setError(llvm::Twine const&)">attachment 14787</a> <a href="attachment.cgi?id=14787&action=edit" title="llvm::yaml::Input::setError(llvm::Twine const&)">[details]</a></span>
llvm::yaml::Input::setError(llvm::Twine const&)

<a href="http://reviews.llvm.org/rL246232">http://reviews.llvm.org/rL246232</a> unveiled this.
Unfortunately, seems none of llvmlab hasn't found this.

>From YAMLTraits.cpp, (See also attached.ll)

  %call.i.i.i = tail call dereferenceable(8) %"class.std::error_category"*
@_ZSt16generic_categoryv() #4 { nounwind readnone }
  %ref.tmp.sroa.0.0..sroa_idx.i.i = getelementptr inbounds
%"class.llvm::yaml::Input", %"class.llvm::yaml::Input"* %this, i64 0, i32 4,
i32 0
  store i32 22, i32* %ref.tmp.sroa.0.0..sroa_idx.i.i, align 8
  %ref.tmp.sroa.23.0..sroa_idx4.i.i = getelementptr inbounds
%"class.llvm::yaml::Input", %"class.llvm::yaml::Input"* %this, i64 0, i32 4,
i32 1
  store %"class.std::error_category"* %call.i.i.i,
%"class.std::error_category"** %ref.tmp.sroa.23.0..sroa_idx4.i.i, align 8
  ret void

Before r246232;
        callq   _ZSt16generic_categoryv
        movl    $22, 104(%rbx)
        movq    %rax, 112(%rbx)
        popq    %rbx
        retq

After;
        popq    %rax
        jmp     _ZSt16generic_categoryv # TAILCALL

A couple of store(s) are disappearing.

I guess something would be wrong in llvm::isInTailCallPosition(), user of
llvm::isSafeToSpeculativelyExecute().</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>