freebsd-dev/contrib/llvm/lib
Dimitry Andric 6ca8079c85 Pull in r265122 from upstream llvm trunk (by James Molloy):
Fix for pr24346: arm asm label calculation error in sub

  Some ARM instructions encode 32-bit immediates as a 8-bit integer
  (0-255) and a 4-bit rotation (0-30, even) in its least significant 12
  bits. The original fixup, FK_Data_4, patches the instruction by the
  value bit-to-bit, regardless of the encoding. For example, assuming
  the label L1 and L2 are 0x0 and 0x104 respectively, the following
  instruction:

    add r0, r0, #(L2 - L1) ; expects 0x104, i.e., 260

  would be assembled to the following, which adds 1 to r0, instead of
  260:

    e2800104 add r0, r0, #4, 2 ; equivalently 1

  The new fixup kind fixup_arm_mod_imm takes care of the encoding:

    e2800f41 add r0, r0, #260

  Patch by Ting-Yuan Huang!

This fixes label calculation for ARM assembly, and is needed to enable
ARM assembly sources for OpenSSL.

Requested by:	jkim
MFC after:	3 days
2016-08-20 14:04:51 +00:00
..
Analysis Update llvm, clang and lldb to release_38 branch r260756. 2016-02-13 15:58:51 +00:00
AsmParser Update llvm to trunk r256633. 2015-12-30 13:13:10 +00:00
Bitcode Update llvm, clang and lldb to trunk r257626, and update build glue. 2016-01-14 17:42:46 +00:00
CodeGen Update llvm and clang to release_38 branch r261684. 2016-02-24 22:07:56 +00:00
DebugInfo Convert two llvm source files to native line ending, which was also done 2016-03-05 21:10:34 +00:00
ExecutionEngine Update llvm, clang and lldb to trunk r257626, and update build glue. 2016-01-14 17:42:46 +00:00
IR Update llvm, clang and lldb to release_38 branch r260756. 2016-02-13 15:58:51 +00:00
IRReader Update llvm to trunk r256633. 2015-12-30 13:13:10 +00:00
LibDriver Update llvm to trunk r256633. 2015-12-30 13:13:10 +00:00
LineEditor Cleanup upstream build infrastructure files that we don't use. 2014-11-24 20:57:20 +00:00
Linker Update llvm, clang and lldb to trunk r257626, and update build glue. 2016-01-14 17:42:46 +00:00
LTO Update llvm, clang and lldb to trunk r257626, and update build glue. 2016-01-14 17:42:46 +00:00
MC Update llvm, clang and lldb to trunk r257626, and update build glue. 2016-01-14 17:42:46 +00:00
Object Update llvm, clang and lldb to trunk r257626, and update build glue. 2016-01-14 17:42:46 +00:00
Option Update llvm to trunk r256633. 2015-12-30 13:13:10 +00:00
Passes Update llvm to trunk r256633. 2015-12-30 13:13:10 +00:00
ProfileData Update llvm, clang and lldb to trunk r257626, and update build glue. 2016-01-14 17:42:46 +00:00
Support Update llvm and clang to release_38 branch r261369. 2016-02-21 16:23:44 +00:00
TableGen Update llvm to trunk r256945. 2016-01-06 20:19:13 +00:00
Target Pull in r265122 from upstream llvm trunk (by James Molloy): 2016-08-20 14:04:51 +00:00
Transforms Pull in r269908 from upstream llvm trunk (by James Molloy): 2016-05-29 20:54:16 +00:00