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: unassignedb...@nondot.org Reporter: geek4ci...@gmail.com CC: david.majne...@gmail.com, llvm-bugs@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.
_______________________________________________ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs