
It seems that this is not a valid assumption, because it looks we are hitting a case where LLVM ran this pass on a function (making single message sends into chains), then it inlined that function into another function that also had message sends, and it merged at least one other message send into the same BasicBlock, then it invoked this pass again on the merged function/block. Please let me know if I should include other information. I confess that I don't even know if I inadvertently wrote invalid code, but I would have expected some sort of syntax or type error rather than what looks like a dump from LLVM.

If I comment them out - or if I comment out the three lines immediately above them - it compiles and runs normally. What seems to have provoked it were the three lines at the bottom with the iterator. Running pass 'BasicBlock Pass Manager' on function Running pass 'Group message sends in the same BasicBlock' on basic block '%Main_tag_create_oo.exit' Running pass 'CallGraph Pass Manager' on module 'act'.ġ. Use a debug version to get more meaningful information.Ġ. This is an optimised version of ponyc: the backtrace may be imprecise or incorrect. Ponyc(_ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE+0x53a)


Ponyc(_ZN16MergeMessageSend15runOnBasicBlockERN4llvm10BasicBlockE+0x206) Ponyc(_ZN16MergeMessageSend13makeMsgChainsERKN4llvm11SmallVectorIPNS0_8CallInstELj16EEE+0x269) tmp/cirrus-ci-build/src/libponyc/codegen/:1236: makeMsgChains: Assertion `prev_msg = (*iter)->getArgOperand(3)` failed. Building builtin -> /home/zack/.local/share/ponyup/ponyc-release-0.42.0-x86_64-linux-gnu/packages/builtin
