[llvm-bugs] [Bug 24613] New: Incorrect motion of tailcall|readnone

via llvm-bugs llvm-bugs at lists.llvm.org
Fri Aug 28 05:33:46 PDT 2015


https://llvm.org/bugs/show_bug.cgi?id=24613

            Bug ID: 24613
           Summary: Incorrect motion of tailcall|readnone
           Product: libraries
           Version: trunk
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Common Code Generator Code
          Assignee: unassignedbugs at nondot.org
          Reporter: geek4civic at gmail.com
                CC: david.majnemer at gmail.com, llvm-bugs at lists.llvm.org
    Classification: Unclassified

Created attachment 14787
  --> https://llvm.org/bugs/attachment.cgi?id=14787&action=edit
llvm::yaml::Input::setError(llvm::Twine const&)

http://reviews.llvm.org/rL246232 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().

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20150828/8fe9db6e/attachment.html>


More information about the llvm-bugs mailing list