[PATCH] D65607: [DAGCombiner] try to convert opposing shifts to casts

Martin Storsjö via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Aug 3 02:21:39 PDT 2019


mstorsjo added a comment.

In D65607#1613403 <https://reviews.llvm.org/D65607#1613403>, @lebedev.ri wrote:

> In D65607#1613401 <https://reviews.llvm.org/D65607#1613401>, @mstorsjo wrote:
>
> > This caused failed asserts ("Unexpected illegal type!" in LegalizeDAG) when building Qt,  with https://martin.st/temp/qpainterpath-preproc.cpp, built with `clang++ -target i686-w64-mingw32 -c -O3 -std=c++17 qpainterpath-preproc.cpp`. Will file a full proper bug later if necessary.
>
>
> Would be good to have a reproducer, even just `N->dumprFull()` may shed some light.


`Node->dumprFull();` for the failed assert prints

  t51: i32 = sign_extend t50
    t50: i29 = add t48, Constant:i29<-3>
      t48: i29 = truncate t46
        t46: i32 = <<Unknown Node #438>> t8, Constant:i32<3>
          t8: i32,ch = CopyFromReg t0, Register:i32 %13
            t7: i32 = Register %13
          t45: i32 = Constant<3>
      t49: i29 = Constant<-3>


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D65607/new/

https://reviews.llvm.org/D65607





More information about the llvm-commits mailing list