Is there a name for duplicating function calls such that different optimizations for the same function can be compiled, but they are not fully duplicated at every call site?
If I understand what you're asking for correctly, function cloning.
If you have f(x, y) and the compiler realizes the function optimizes nicely when y == 2 it can create a clone of f with a fixed argument y == 2, optimize that, and rewrite the appropriate call sites to call the clone.
I think this is what the C++ world calls template specialization?
I think that is called specialization (https://www.linkedin.com/posts/compilers-lab_compiler-progra...).
Even if the compiler doesn’t explicitly do it, it can happen when doing subsequent optimization steps after inlining such as constant folding and dead code elimination.