[PATCH] D23931: [XRay] ARM 32-bit no-Thumb support in LLVM

Serge Rogatch via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 16 06:23:32 PDT 2016


rSerge removed rL LLVM as the repository for this revision.
rSerge updated this revision to Diff 71627.
rSerge added a comment.

Fixed  "Error: attempt to use an ARM instruction on a Thumb-only processor -- `push {r1-r3,lr}' ". The reason was ".arch armv7" directive. This directive for GCC represents the intersection of arm7v-a and armv7-m instruction sets, implying Thumb-only instructions, and this conflicts with ".code 32" directive. Then GCC, instead of articulating the conflict, complains about every instruction in the assembly file.
Tested on cross-compilation with GCC from x86_64-Ubuntu to ARM-Linux.
Tested on cross-compilation with Clang from x86_64-Windows to ARM-Linux.


https://reviews.llvm.org/D23931

Files:
  include/llvm/CodeGen/AsmPrinter.h
  include/llvm/Target/Target.td
  include/llvm/Target/TargetOpcodes.def
  include/llvm/Target/TargetSubtargetInfo.h
  lib/CodeGen/AsmPrinter/AsmPrinter.cpp
  lib/CodeGen/XRayInstrumentation.cpp
  lib/Target/ARM/ARMAsmPrinter.cpp
  lib/Target/ARM/ARMAsmPrinter.h
  lib/Target/ARM/ARMBaseInstrInfo.h
  lib/Target/ARM/ARMMCInstLower.cpp
  lib/Target/ARM/ARMSubtarget.cpp
  lib/Target/ARM/ARMSubtarget.h
  lib/Target/X86/X86AsmPrinter.h
  lib/Target/X86/X86MCInstLower.cpp
  lib/Target/X86/X86Subtarget.h
  test/CodeGen/ARM/xray-armv6-attribute-instrumentation.ll
  test/CodeGen/ARM/xray-armv7-attribute-instrumentation.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D23931.71627.patch
Type: text/x-patch
Size: 22882 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160916/fb43dbbf/attachment-0001.bin>


More information about the llvm-commits mailing list