[PATCH] D42231: [Dominators] Visit affected node candidates found at different root levels

Brian Rzycki via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 18 09:26:07 PST 2018


brzycki added a subscriber: kuba.
brzycki added a comment.

Hi @kuba, I was unable to recreate the crash with the version of ddt-crash3.ll included in this patch. Here's my version of ddt-crash3.ll that fails before the patch. I've also verified this version passes after your patch. I'll take my time and review the real patch later today.

  ; RUN: opt < %s -jump-threading -disable-output -verify-dom-info
  @global = external global i64, align 8
  
  define void @f() {
  bb:
    br label %bb1
  
  bb1:
    %tmp = load i64, i64* @global, align 8
    %tmp2 = icmp eq i64 %tmp, 0
    br i1 %tmp2, label %bb27, label %bb3
  
  bb3:
    %tmp4 = load i64, i64* @global, align 8
    %tmp5 = icmp eq i64 %tmp4, 0
    br i1 %tmp5, label %bb6, label %bb7
  
  bb6:
    br label %bb7
  
  bb7:
    %tmp8 = phi i1 [ true, %bb3 ], [ undef, %bb6 ]
    %tmp9 = select i1 %tmp8, i64 %tmp4, i64 0
    br i1 false, label %bb10, label %bb23
  
  bb10:
    %tmp11 = load i64, i64* @global, align 8
    %tmp12 = icmp slt i64 %tmp11, 5
    br i1 %tmp12, label %bb13, label %bb17
  
  bb13:
    br label %bb14
  
  bb14:
    br i1 undef, label %bb15, label %bb16
  
  bb15:
    unreachable
  
  bb16:
    br label %bb10
  
  bb17:
    br label %bb18
  
  bb18:
    br i1 undef, label %bb22, label %bb13
  
  bb19:
    br i1 undef, label %bb20, label %bb21
  
  bb20:
    unreachable
  
  bb21:
    br label %bb18
  
  bb22:
    br label %bb23
  
  bb23:
    br i1 undef, label %bb24, label %bb13
  
  bb24:
    br i1 undef, label %bb26, label %bb25
  
  bb25:
    br label %bb19
  
  bb26:
    br label %bb1
  
  bb27:
    br label %bb24
  }


Repository:
  rL LLVM

https://reviews.llvm.org/D42231





More information about the llvm-commits mailing list