[LLVMdev] bx instruction getting generated in arm assembly for O1

Mayur Pandey mayurthebond at gmail.com
Mon Nov 24 12:36:43 PST 2014


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

On Mon, Nov 24, 2014 at 10:55 PM, Tim Northover <tnorthover at apple.com>
wrote:

> Hi Mayur,
>
> > On 24 Nov 2014, at 07:00, MAYUR PANDEY <mayur.p at samsung.com> wrote:
> > In the assembly generated with O0, we are getting the "blx" instruction
> whereas with O1 we get "bx" (in 3.4.2 we used to get "blx" for both O0 and
> O1).
> >
> > Is this because of this patch:  [llvm] r214959 - ARM: do not generate
> BLX instructions on Cortex-M CPUs
>
> Isn't this just the usual tail call optimisations kicking in at O1? Or is
> there some problem with this behaviour that I'm missing (both variants seem
> to be supported on v5t).
>
> Cheers.
>
> Tim.
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>



-- 
Thanx & Regards
*Mayur Pandey *
Lead Engineer
Samsung R&D Institute India
Bangalore
+91-9742959541
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20141125/ca9752e3/attachment.html>


More information about the llvm-dev mailing list