Issue 77064
Summary [SimplifyLibCalls] Calling convention assertion fails
Labels llvm:crash, llvm:instcombine
Assignees nikic
Reporter nikic
    ```llvm
; RUN: opt -S -passes=instcombine
define void @main(ptr %ptr) {
 %opendir = call fastcc ptr @opendir(ptr %ptr)
  %memset = call ptr @__memset_chk(ptr %opendir, i32 0, i64 596, i64 -1)
  ret void
}

declare ptr @__memset_chk(ptr, i32, i64, i64)

declare fastcc ptr @opendir(ptr)
```

> opt: /home/npopov/repos/llvm-project/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp:3488: Value *llvm::LibCallSimplifier::optimizeStringMemoryLibCall(CallInst *, IRBuilderBase &): Assertion `(ignoreCallingConv(Func) || TargetLibraryInfoImpl::isCallingConvCCompatible(CI)) && "Optimizing string/memory libcall would change the calling convention"' failed.

Encountered when building openjpeg2.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to