1*e0447961SJannik Silvanus; Diff file with itself, assert no difference by return code 2*e0447961SJannik Silvanus; RUN: llvm-diff %s %s 391351377SJannik Silvanus 491351377SJannik Silvanus; Replace %newvar1 with %newvar2 in the phi node. This can only 591351377SJannik Silvanus; be detected to be different once BB1 has been processed. 691351377SJannik Silvanus; RUN: rm -f %t.ll 791351377SJannik Silvanus; RUN: cat %s | sed -e 's/ %newvar1, %BB1 / %newvar2, %BB1 /' > %t.ll 891351377SJannik Silvanus; RUN: not llvm-diff %s %t.ll 2>&1 | FileCheck --check-prefix DIFFERENT-VAR %s 991351377SJannik Silvanus 1091351377SJannik Silvanus; DIFFERENT-VAR: in function func: 1191351377SJannik Silvanus; DIFFERENT-VAR-NEXT: in block %BB0: 1291351377SJannik Silvanus; DIFFERENT-VAR-NEXT: > %var = phi i32 [ 0, %ENTRY ], [ %newvar2, %BB1 ] 1391351377SJannik Silvanus; DIFFERENT-VAR-NEXT: < %var = phi i32 [ 0, %ENTRY ], [ %newvar1, %BB1 ] 1491351377SJannik Silvanusdefine i32 @func() { 1591351377SJannik SilvanusENTRY: 1691351377SJannik Silvanus br label %BB0 1791351377SJannik Silvanus 1891351377SJannik SilvanusBB0: 1991351377SJannik Silvanus ; When diffing this phi node, we need to detect whether 2091351377SJannik Silvanus ; %newvar1 is equivalent, which is not known until BB1 has been processed. 2191351377SJannik Silvanus %var = phi i32 [ 0, %ENTRY ], [ %newvar1, %BB1 ] 2291351377SJannik Silvanus %cnd = icmp eq i32 %var, 0 2391351377SJannik Silvanus br i1 %cnd, label %BB1, label %END 2491351377SJannik Silvanus 2591351377SJannik SilvanusBB1: 2691351377SJannik Silvanus %newvar1 = add i32 %var, 1 2791351377SJannik Silvanus %newvar2 = add i32 %var, 2 2891351377SJannik Silvanus br label %BB0 2991351377SJannik Silvanus 3091351377SJannik SilvanusEND: 3191351377SJannik Silvanus ; Equivalence of the ret depends on equivalence of %var. 3291351377SJannik Silvanus ; Even if %var differs, we do not report a diff here, because 3391351377SJannik Silvanus ; this is an indirect diff caused by another diff. 3491351377SJannik Silvanus ret i32 %var 3591351377SJannik Silvanus} 36