A fully fledged LLVM inliner will require a lot of logic. Since
LLVMDialect.cpp is large enough as it is, preemptively outline the
inlining logic into a separate .cpp file. This will also allow us to
add a DEBUG_TYPE for debugging the inliner.
The name LLVMInlining was chosen over LLVMInlinerInterface to keep
the option open for exposing inlining functionality even when not
invoked through the DialectInlinerInterface.
Depends on D146616
nit: I would probably put the method in the detail namespace since it is for internal use only.