[PATCH] Add tail call optimization for thumb1-only targets rev. 3

Bjoern Haase bjoern.m.haase at web.de
Fri Jan 16 13:32:13 PST 2015

> I think you should also add tests for tail-called functions that return things other than void (especially things

>  wider than one register in size).

OK. Is done.

> One more question: do these changes still work on armv4t when an arm function tail calls a thumb function (and vice versa)?

Tail calls occuring in ARM code will not be affected by the change.
Tail calls occuring in THUMB code will use BX for the call so that from my understanding, the mode switch will happen according to bit #0. As much as I know, when resolving the jump target relocation for function entry point lables, bit #0 will be correctly set for thumb functions. I will double check that next week.




More information about the llvm-commits mailing list