Interesting. How can you tell that exp
and log
are are inlined? I know you can use @code_typed to check inlining for a function you wrote, but does it work for special functions too?
When I call @code_llvm on f(x), I get (buried within the output)
%55 = call double @j_log_609(double %52)
...(some broadcast output here)
%56 = call double @j_exp_610(double %55)
while for h(x), I get
%55 = call double @j_log_615(double %52)
%56 = call double @j_exp_616(double %55)
I’m not sure how to conclude that one function is inlined and the other isn’t based on @code_llvm output.