bx instruction getting generated in arm assembly for O1

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