OPC_EmitMergeInputChains1_0 failed while lowering callseq_start

It seems that the checks performed at the beginning of WalkChainUsers() make the hypothesis that at least one parameters.

These checks make use of ChainedNode->use_begin. If parameters are used this iterator points to CopyToReg node of the first parameter.

If no parameter, this iterator points to the call node and return InducesCycle error code.

Here is a source code with no parameter that reproduces the problem.

declare void @foo32_2()

define i32 @calli32_stack() {

call void @foo32_2()

ret i32 0

}

In using LLVM version 3.8, this problem affects most the architecture that I’ve investigated.