[PATCH] D37030: Fix ARMv4 support

Joerg Sonnenberger via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 22 15:11:56 PDT 2017


joerg created this revision.
Herald added subscribers: kristof.beyls, javed.absar, srhines, aemerson.

ARMv4 doesn't support the "BX" instruction, which has been introduced with ARMv4t. Adjust the call lowering and tail call implementation accordingly.

Further changes are necessary to ensure that presence of the v4t feature is correctly set. Most importantly, the "generic" CPU for thumb-* triples should include ARMv4t, since thumb mode without thumb support would naturally be pointless.

Add a couple of asserts to ensure thumb instructions are not emitted without CPU support.


Repository:
  rL LLVM

https://reviews.llvm.org/D37030

Files:
  lib/Target/ARM/ARMAsmPrinter.cpp
  lib/Target/ARM/ARMCallLowering.cpp
  lib/Target/ARM/ARMExpandPseudoInsts.cpp
  lib/Target/ARM/ARMFastISel.cpp
  lib/Target/ARM/ARMFrameLowering.cpp
  lib/Target/ARM/ARMInstrInfo.td
  lib/Target/ARM/ARMLoadStoreOptimizer.cpp
  lib/Target/ARM/ARMSubtarget.h
  lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
  test/CodeGen/ARM/GlobalISel/arm-irtranslator.ll
  test/CodeGen/ARM/armv4.ll
  test/CodeGen/ARM/debug-segmented-stacks.ll
  test/CodeGen/ARM/segmented-stacks-dynamic.ll
  test/CodeGen/ARM/segmented-stacks.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D37030.112238.patch
Type: text/x-patch
Size: 10730 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170822/ef2e604e/attachment.bin>


More information about the llvm-commits mailing list