llvm-project/compiler-rt/lib/builtins/arm
Weiming Zhao e58bb5dc4e [Builtins] Do not use tailcall for Thumb1
Summary:
The `b` instruction in Thumb1 has limited range, which may cause link-time errors if the jump target is far away.
This patch guards the tailcalls for non-Thumb1

Reviewers: peter.smith, compnerd, rengolin, eli.friedman

Reviewed By: rengolin

Subscribers: joerg, dalias, javed.absar, llvm-commits

Differential Revision: https://reviews.llvm.org/D39700

llvm-svn: 317814
2017-11-09 17:32:57 +00:00
..
adddf3vfp.S builtins: support building ARM builtins for a HF target 2017-01-11 16:19:25 +00:00
addsf3.S [Builtin][ARM] Implement addsf3/__aeabi_fadd for Thumb1 2017-02-06 06:04:10 +00:00
addsf3vfp.S builtins: support building ARM builtins for a HF target 2017-01-11 16:19:25 +00:00
aeabi_cdcmp.S [builtins] ARM: Reland fix for assembling builtins in thumb state. 2017-10-02 20:56:49 +00:00
aeabi_cdcmpeq_check_nan.c builtins: add missing includes 2017-05-16 17:06:48 +00:00
aeabi_cfcmp.S [builtins] ARM: Reland fix for assembling builtins in thumb state. 2017-10-02 20:56:49 +00:00
aeabi_cfcmpeq_check_nan.c builtins: add missing includes 2017-05-16 17:06:48 +00:00
aeabi_dcmp.S [ARM][Compiler-rt] Fix AEABI builtins to correctly pass arguments to non-AEABI functions on HF targets 2017-08-23 14:26:31 +00:00
aeabi_div0.c builtins: one more case of a missing header 2017-05-16 18:19:44 +00:00
aeabi_drsub.c builtins: expand out the AEABI function stubs 2017-05-16 16:41:37 +00:00
aeabi_fcmp.S [ARM][Compiler-rt] Fix AEABI builtins to correctly pass arguments to non-AEABI functions on HF targets 2017-08-23 14:26:31 +00:00
aeabi_frsub.c builtins: expand out the AEABI function stubs 2017-05-16 16:41:37 +00:00
aeabi_idivmod.S [builtins][ARM] Select correct code fragments when compiling for Thumb1/Thum2/ARM ISA 2017-08-14 20:48:47 +00:00
aeabi_ldivmod.S [Bultin][ARM] Make aeabi_uldivmod and aeabi_ldivmod be Thumb1 compatible 2017-01-30 18:48:05 +00:00
aeabi_memcmp.S [Builtins] Do not use tailcall for Thumb1 2017-11-09 17:32:57 +00:00
aeabi_memcpy.S [Builtins] Do not use tailcall for Thumb1 2017-11-09 17:32:57 +00:00
aeabi_memmove.S [Builtins] Do not use tailcall for Thumb1 2017-11-09 17:32:57 +00:00
aeabi_memset.S [Builtins] Do not use tailcall for Thumb1 2017-11-09 17:32:57 +00:00
aeabi_uidivmod.S [builtins][ARM] Select correct code fragments when compiling for Thumb1/Thum2/ARM ISA 2017-08-14 20:48:47 +00:00
aeabi_uldivmod.S [Bultin][ARM] Make aeabi_uldivmod and aeabi_ldivmod be Thumb1 compatible 2017-01-30 18:48:05 +00:00
bswapdi2.S [builtins][ARM] Select correct code fragments when compiling for Thumb1/Thum2/ARM ISA 2017-08-14 20:48:47 +00:00
bswapsi2.S [builtins][ARM] Select correct code fragments when compiling for Thumb1/Thum2/ARM ISA 2017-08-14 20:48:47 +00:00
clzdi2.S [builtins][ARM] Select correct code fragments when compiling for Thumb1/Thum2/ARM ISA 2017-08-14 20:48:47 +00:00
clzsi2.S [builtins][ARM] Select correct code fragments when compiling for Thumb1/Thum2/ARM ISA 2017-08-14 20:48:47 +00:00
comparesf2.S [builtins][ARM] Select correct code fragments when compiling for Thumb1/Thum2/ARM ISA 2017-08-14 20:48:47 +00:00
divdf3vfp.S builtins: support building ARM builtins for a HF target 2017-01-11 16:19:25 +00:00
divmodsi4.S [builtins][ARM] Select correct code fragments when compiling for Thumb1/Thum2/ARM ISA 2017-08-14 20:48:47 +00:00
divsf3vfp.S builtins: support building ARM builtins for a HF target 2017-01-11 16:19:25 +00:00
divsi3.S [builtins][ARM] Select correct code fragments when compiling for Thumb1/Thum2/ARM ISA 2017-08-14 20:48:47 +00:00
eqdf2vfp.S Allow armv{7,7s,7k,7m,7em} builds 2017-05-24 15:53:24 +00:00
eqsf2vfp.S Allow armv{7,7s,7k,7m,7em} builds 2017-05-24 15:53:24 +00:00
extendsfdf2vfp.S builtins: support building ARM builtins for a HF target 2017-01-11 16:19:25 +00:00
fixdfsivfp.S builtins: support building ARM builtins for a HF target 2017-01-11 16:19:25 +00:00
fixsfsivfp.S builtins: support building ARM builtins for a HF target 2017-01-11 16:19:25 +00:00
fixunsdfsivfp.S builtins: support building ARM builtins for a HF target 2017-01-11 16:19:25 +00:00
fixunssfsivfp.S builtins: support building ARM builtins for a HF target 2017-01-11 16:19:25 +00:00
floatsidfvfp.S builtins: support building ARM builtins for a HF target 2017-01-11 16:19:25 +00:00
floatsisfvfp.S builtins: support building ARM builtins for a HF target 2017-01-11 16:19:25 +00:00
floatunssidfvfp.S builtins: support building ARM builtins for a HF target 2017-01-11 16:19:25 +00:00
floatunssisfvfp.S builtins: support building ARM builtins for a HF target 2017-01-11 16:19:25 +00:00
gedf2vfp.S Allow armv{7,7s,7k,7m,7em} builds 2017-05-24 15:53:24 +00:00
gesf2vfp.S Allow armv{7,7s,7k,7m,7em} builds 2017-05-24 15:53:24 +00:00
gtdf2vfp.S Allow armv{7,7s,7k,7m,7em} builds 2017-05-24 15:53:24 +00:00
gtsf2vfp.S Allow armv{7,7s,7k,7m,7em} builds 2017-05-24 15:53:24 +00:00
ledf2vfp.S Allow armv{7,7s,7k,7m,7em} builds 2017-05-24 15:53:24 +00:00
lesf2vfp.S Allow armv{7,7s,7k,7m,7em} builds 2017-05-24 15:53:24 +00:00
ltdf2vfp.S Allow armv{7,7s,7k,7m,7em} builds 2017-05-24 15:53:24 +00:00
ltsf2vfp.S Allow armv{7,7s,7k,7m,7em} builds 2017-05-24 15:53:24 +00:00
modsi3.S [builtins][ARM] Select correct code fragments when compiling for Thumb1/Thum2/ARM ISA 2017-08-14 20:48:47 +00:00
muldf3vfp.S builtins: support building ARM builtins for a HF target 2017-01-11 16:19:25 +00:00
mulsf3vfp.S builtins: support building ARM builtins for a HF target 2017-01-11 16:19:25 +00:00
nedf2vfp.S Allow armv{7,7s,7k,7m,7em} builds 2017-05-24 15:53:24 +00:00
negdf2vfp.S builtins: support building ARM builtins for a HF target 2017-01-11 16:19:25 +00:00
negsf2vfp.S builtins: support building ARM builtins for a HF target 2017-01-11 16:19:25 +00:00
nesf2vfp.S Allow armv{7,7s,7k,7m,7em} builds 2017-05-24 15:53:24 +00:00
restore_vfp_d8_d15_regs.S builtins: tag with noexecstack 2016-06-22 22:09:42 +00:00
save_vfp_d8_d15_regs.S builtins: tag with noexecstack 2016-06-22 22:09:42 +00:00
softfloat-alias.list
subdf3vfp.S builtins: support building ARM builtins for a HF target 2017-01-11 16:19:25 +00:00
subsf3vfp.S [Builtin][ARM] Fix subsf3vfp for non-HF target 2017-02-12 05:10:25 +00:00
switch8.S builtins: tag with noexecstack 2016-06-22 22:09:42 +00:00
switch16.S builtins: tag with noexecstack 2016-06-22 22:09:42 +00:00
switch32.S builtins: tag with noexecstack 2016-06-22 22:09:42 +00:00
switchu8.S builtins: tag with noexecstack 2016-06-22 22:09:42 +00:00
sync-ops.h Fix the armv7 thumb builtins on darwin 2014-10-04 00:18:59 +00:00
sync_fetch_and_add_4.S builtins: tag with noexecstack 2016-06-22 22:09:42 +00:00
sync_fetch_and_add_8.S builtins: tag with noexecstack 2016-06-22 22:09:42 +00:00
sync_fetch_and_and_4.S builtins: tag with noexecstack 2016-06-22 22:09:42 +00:00
sync_fetch_and_and_8.S builtins: tag with noexecstack 2016-06-22 22:09:42 +00:00
sync_fetch_and_max_4.S builtins: tag with noexecstack 2016-06-22 22:09:42 +00:00
sync_fetch_and_max_8.S builtins: tag with noexecstack 2016-06-22 22:09:42 +00:00
sync_fetch_and_min_4.S builtins: tag with noexecstack 2016-06-22 22:09:42 +00:00
sync_fetch_and_min_8.S builtins: tag with noexecstack 2016-06-22 22:09:42 +00:00
sync_fetch_and_nand_4.S builtins: tag with noexecstack 2016-06-22 22:09:42 +00:00
sync_fetch_and_nand_8.S builtins: tag with noexecstack 2016-06-22 22:09:42 +00:00
sync_fetch_and_or_4.S builtins: tag with noexecstack 2016-06-22 22:09:42 +00:00
sync_fetch_and_or_8.S builtins: tag with noexecstack 2016-06-22 22:09:42 +00:00
sync_fetch_and_sub_4.S builtins: tag with noexecstack 2016-06-22 22:09:42 +00:00
sync_fetch_and_sub_8.S builtins: tag with noexecstack 2016-06-22 22:09:42 +00:00
sync_fetch_and_umax_4.S builtins: tag with noexecstack 2016-06-22 22:09:42 +00:00
sync_fetch_and_umax_8.S builtins: tag with noexecstack 2016-06-22 22:09:42 +00:00
sync_fetch_and_umin_4.S builtins: tag with noexecstack 2016-06-22 22:09:42 +00:00
sync_fetch_and_umin_8.S builtins: tag with noexecstack 2016-06-22 22:09:42 +00:00
sync_fetch_and_xor_4.S builtins: tag with noexecstack 2016-06-22 22:09:42 +00:00
sync_fetch_and_xor_8.S builtins: tag with noexecstack 2016-06-22 22:09:42 +00:00
sync_synchronize.S builtins: tag with noexecstack 2016-06-22 22:09:42 +00:00
truncdfsf2vfp.S builtins: support building ARM builtins for a HF target 2017-01-11 16:19:25 +00:00
udivmodsi4.S [builtins][ARM] Select correct code fragments when compiling for Thumb1/Thum2/ARM ISA 2017-08-14 20:48:47 +00:00
udivsi3.S [builtins][ARM] Select correct code fragments when compiling for Thumb1/Thum2/ARM ISA 2017-08-14 20:48:47 +00:00
umodsi3.S [builtins][ARM] Select correct code fragments when compiling for Thumb1/Thum2/ARM ISA 2017-08-14 20:48:47 +00:00
unorddf2vfp.S Allow armv{7,7s,7k,7m,7em} builds 2017-05-24 15:53:24 +00:00
unordsf2vfp.S Allow armv{7,7s,7k,7m,7em} builds 2017-05-24 15:53:24 +00:00