[all-commits] [llvm/llvm-project] 113114: [GlobalISel] fix widenScalarUnmerge if widen type ...

Dominik Montada via All-commits all-commits at lists.llvm.org
Tue Sep 29 06:52:41 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 113114a5da60ef30731046f50fc1d67ff87897fc
      https://github.com/llvm/llvm-project/commit/113114a5da60ef30731046f50fc1d67ff87897fc
  Author: Dominik Montada <dominik.montada at hightec-rt.com>
  Date:   2020-09-29 (Tue, 29 Sep 2020)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp

  Log Message:
  -----------
  [GlobalISel] fix widenScalarUnmerge if widen type is not a multiple of destination type

Fix creation of illegal unmerge when widen was requested to a type which
is not a multiple of the destination type. E.g. when trying to widen
an s48 unmerge to s64 the existing code would create an illegal unmerge
from s64 to s48.

Instead, create further unmerges to a GCD type, then use this to remerge
these intermediate results to the actual destinations.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D88422




More information about the All-commits mailing list