[PATCH] D10767: Fix shift legalization and lowering for big constants.

Paweł Bylica chfast at gmail.com
Wed Jul 8 08:47:02 PDT 2015


chfast updated this revision to Diff 29265.
chfast added a comment.

I changed DAGTypeLegalizer::ExpandShiftByConstant to accept APInt as the shift amount.
There is one quirk in that: because there is not operator- for pair (uint64_t, APInt)
I workarounded it with strage looking `-Amt + NVTBits`.


http://reviews.llvm.org/D10767

Files:
  lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
  lib/CodeGen/SelectionDAG/LegalizeTypes.h
  lib/Target/X86/X86ISelLowering.cpp
  test/CodeGen/X86/legalize-shl-vec.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D10767.29265.patch
Type: text/x-patch
Size: 7218 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150708/0c3f5a0f/attachment.bin>


More information about the llvm-commits mailing list