Revert r314907, and pull in r298713 from upstream compiler-rt trunk (by
authordim <dim@FreeBSD.org>
Sun, 26 Mar 2017 20:36:35 +0000 (20:36 +0000)
committerdim <dim@FreeBSD.org>
Sun, 26 Mar 2017 20:36:35 +0000 (20:36 +0000)
commitc24998ef58961c34d6edd79c31827b94eb88e877
tree7f8d6449e68dc3bc21024770e6925733812f9eaf
parentb7147b18308a8987ad174d1fc73e10b691fd7107
Revert r314907, and pull in r298713 from upstream compiler-rt trunk (by
Weiming Zhao):

  builtins: Select correct code fragments when compiling for Thumb1/Thum2/ARM ISA.

  Summary:
  Value of __ARM_ARCH_ISA_THUMB isn't based on the actual compilation
  mode (-mthumb, -marm), it reflect's capability of given CPU.

  Due to this:
   - use  __tbumb__ and __thumb2__ insteand of __ARM_ARCH_ISA_THUMB
   - use '.thumb' directive consistently  in all affected files
   - decorate all thumb functions using
     DEFINE_COMPILERRT_THUMB_FUNCTION()

  ---------
  Note: This patch doesn't fix broken Thumb1 variant of __udivsi3 !

  Reviewers: weimingz, rengolin, compnerd

  Subscribers: aemerson, dim

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

Discussed with: mmel
X-MFC-With: r314564
14 files changed:
contrib/compiler-rt/lib/builtins/arm/aeabi_idivmod.S
contrib/compiler-rt/lib/builtins/arm/aeabi_uidivmod.S
contrib/compiler-rt/lib/builtins/arm/bswapdi2.S
contrib/compiler-rt/lib/builtins/arm/bswapsi2.S
contrib/compiler-rt/lib/builtins/arm/clzdi2.S
contrib/compiler-rt/lib/builtins/arm/clzsi2.S
contrib/compiler-rt/lib/builtins/arm/comparesf2.S
contrib/compiler-rt/lib/builtins/arm/divmodsi4.S
contrib/compiler-rt/lib/builtins/arm/divsi3.S
contrib/compiler-rt/lib/builtins/arm/modsi3.S
contrib/compiler-rt/lib/builtins/arm/udivmodsi4.S
contrib/compiler-rt/lib/builtins/arm/udivsi3.S
contrib/compiler-rt/lib/builtins/arm/umodsi3.S
contrib/compiler-rt/lib/builtins/assembly.h