[PATCH] D32529: [GlobalISel] Make multi-step legalization work.

Kristof Beyls via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 26 04:00:39 PDT 2017


kristof.beyls created this revision.
Herald added subscribers: igorb, rengolin, aemerson.

In r301116, a custom lowering needed to be introduced to be able to
legalize 8 and 16-bit divisions on ARM targets without a division
instruction, since 2-step legalization (WidenScalar from 8 bit to 32
bit, then Libcall the 32-bit division) doesn't work.

This fixes this and makes this kind of multi-step legalization, where
first the size of the type needs to be changed and then some action is
needed that doesn't require changing the size of the type,
straightforward to specify.


https://reviews.llvm.org/D32529

Files:
  include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
  lib/CodeGen/GlobalISel/LegalizerInfo.cpp
  lib/Target/ARM/ARMLegalizerInfo.cpp
  lib/Target/ARM/ARMLegalizerInfo.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D32529.96706.patch
Type: text/x-patch
Size: 5699 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170426/b035482e/attachment.bin>


More information about the llvm-commits mailing list