[PATCH] D52540: Fix an ordering bug in the scalarizer.

Mikael Holmén via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 27 06:31:20 PDT 2018


uabelho added a comment.

In https://reviews.llvm.org/D52540#1247832, @sheredom wrote:

> Should I incorporate the test case from the bugzilla into this commit? Given that its a slightly different failure case that is also fixed by my change, seems like its worth ensuring it doesn't accidentally regress again.


Yes, sure that sounds good!

We have a local regression test for PR28911 that dstenb created when he applied the fix locally for our target:

  ; RUN: opt %s -scalarizer -verify -S -o - | FileCheck %s
  
  ; ModuleID = 'bugpoint-reduced-simplified.bc'
  source_filename = "bugpoint-output-32b26ac.bc"
  target triple = "x86_64-unknown-linux-gnu"
  
  define void @f3() local_unnamed_addr {
  bb1:
    br label %bb2
  
  bb3:
  ;CHECK-LABEL: bb3:
  ;CHECK-NEXT: br label %bb4
    %h.10.0.vec.insert = shufflevector <1 x i16> %h.10.1, <1 x i16> undef, <1 x i32> <i32 0>
    br label %bb4
  
  bb2:
  ;CHECK-LABEL: bb2:
  ;CHECK: phi i16
    %h.10.1 = phi <1 x i16> [ undef, %bb1 ]
    br label %bb3
  
  bb4:
  ;CHECK-LABEL: bb4:
  ;CHECK: phi i16
    %h.10.2 = phi <1 x i16> [ %h.10.0.vec.insert, %bb3 ]
    ret void
  }

Perhaps something like that could be used.


Repository:
  rL LLVM

https://reviews.llvm.org/D52540





More information about the llvm-commits mailing list