[PATCH] D15932: RBIT Instruction only available for ARMv6t2 and above.

Z. Zheng via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 6 11:34:14 PST 2016


zzheng created this revision.
zzheng added reviewers: jmolloy, apazos.
zzheng added a subscriber: llvm-commits.
zzheng set the repository for this revision to rL LLVM.
Herald added subscribers: rengolin, aemerson.

r255334 matches bit-reverse pattern in InstCombine and generates calls to Instrinsic::bitreverse. ARM backend will hit an "unable to select" for ARMv4 and ARMv5 targets.

This patch creates a target hook in TTI to disable the intrinsic in InstCombine, however it only work with the legacy pass manager.

We're looking for better solution for this issue.

Repository:
  rL LLVM

http://reviews.llvm.org/D15932

Files:
  include/llvm/Analysis/TargetTransformInfo.h
  include/llvm/Analysis/TargetTransformInfoImpl.h
  include/llvm/CodeGen/BasicTTIImpl.h
  lib/Analysis/TargetTransformInfo.cpp
  lib/Target/ARM/ARMTargetTransformInfo.h
  lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
  lib/Transforms/InstCombine/InstCombineInternal.h
  lib/Transforms/InstCombine/InstructionCombining.cpp
  test/Transforms/InstCombine/bit_reverse.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D15932.44137.patch
Type: text/x-patch
Size: 10812 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160106/205de4e5/attachment.bin>


More information about the llvm-commits mailing list