Hi Mayur,
Hi Tim,
Thanks for the response. Even I thought this might be the result of tail call optimisation in O1, but with clang-3.4.2 this behaviour is not seen in O1, so wanted to know which change triggered this behaviour in O1 in clang-3.5.
Thanks,
Mayur
Hi Mayur,
Mayur Pandey wrote:
Hi Tim,
Thanks for the response. Even I thought this might be the result of tail
call optimisation in O1, but with clang-3.4.2 this behaviour is not seen
in O1, so wanted to know which change triggered this behaviour in O1 in
clang-3.5.
Between clang 3.4 and clang 3.5, I rewrote tail call deduction in the optimizer:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20140505/215891.html
and also made a matching change to clang NRVO which causes us to LLVM IR that use the above optimization more often:
http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20140428/104594.html
That might be it.
Nick
Hi Nick,
Thanks for providing this info. I was looking for the patch which caused this behaviour in 3.5 not occuring in 3.4.2. Thanks for directing me to the patches.
Regards,
Mayur