[PATCH] D44312: Retain both sets of debug intrinsics in HoistThenElseCodeToIf (fixes PR 36410)
    Vedant Kumar via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Fri Mar  9 11:25:43 PST 2018
    
    
  
vsk added a comment.
This looks like a nice improvement. I think the test could be tighter/simpler though, e.g:
  ; RUN: opt -debugify -simplifycfg -S < %s | FileCheck %s
  
  define i64 @caller(i64* %ptr, i64 %flag) {
  init:
    %v9 = icmp eq i64 %flag, 0
    br i1 %v9, label %a, label %b
  
  ; CHECK:  %vala = load i64, i64* %ptr
  ; CHECK-NEXT:  call void @llvm.dbg.value(metadata i64 %vala
  ; CHECK-NEXT:  %valbmasked = and i64 %vala, 1
  ; CHECK-NEXT:  call void @llvm.dbg.value(metadata i64 %vala
  
  a:                                              ; preds = %init
    %vala = load i64, i64* %ptr, align 8
    br label %test.exit
  
  b:                                              ; preds = %init
    %valb = load i64, i64* %ptr, align 8
    %valbmasked = and i64 %valb, 1
    br label %test.exit
  
  test.exit:                                      ; preds = %a, %b
    %retv = phi i64 [ %vala, %a ], [ %valbmasked, %b ]
    ret i64 %retv
  }
Repository:
  rL LLVM
https://reviews.llvm.org/D44312
    
    
More information about the llvm-commits
mailing list