Understanding CallInst::Create

Hello;

I am working on porting a tool written for LLVM3.5 to LLVM10. There
used to be a call instruction with the signature
static CallInst * Create (Value *F, Value *Actual, const Twine
&NameStr="", Instruction *InsertBefore=0)

Can anyone please explain what it supposed to do? What was F and Actual?

Thank you so much.

I can only find anything like that in revision well before even 3.5.
There used to be a version with "Actual1" and "Actual2" as well so I
think it's probably just the (lone) function argument to pass. As in,
"I'm creating a call instruction for a function with some prototype,
and here's the actual argument I want passed".

Cheers.

Tim.

Thank you Tim. So I guess the second argument (e.g. Actual) is just
the argument to function "F"

So in the LLVM-10, the equivalent will be just
CallInst * Create (FunctionCallee Func, ArrayRef< Value *> Args...),
where I push the "Actual" argument to the ArrayRef and then create the
call?

Yep, though I think ArrayRef has enough constructors that you can just
pass the single argument directly and it'll automatically do the right
thing.

Cheers.

Tim.