IRBuilder CreateCall2 etc removed?

I updated my git clone and found that my code doesn't compile any more
as the methods CreateCall2(), CreateCall3() etc. have been removed
from IRBuilder.

What is the rationale for this breaking change?

Regards
Dibyendu

I updated my git clone and found that my code doesn't compile any more
as the methods CreateCall2(), CreateCall3() etc. have been removed
from IRBuilder.

What is the rationale for this breaking change?

API simplification - rather than having a bunch of overloads, there's now
just one "CreateCall" function that takes an ArrayRef (actually it was
there before) and can be passed an init list {} of arguments.

The motivation was that I needed to add some overloads (one taking a
Function, another taking a Type and Value) for my work on opacifying
pointer types and didn't want to deal with adding them to each of the
CreateCallN overloads.

FWIW: LLVM's C++ API has no stability guarantees, there are breaking
changes in every commit.

- David

It was simplified to take any number of arguments. You should be able
to just replace them with CreateCall(..., {arg1, arg2, arg3, ...},
...)

Note that LLVM's trunk API is not considered stable.