Issue 184133
Summary llvm-diff fails with assert "structural differences second time around?"
Labels llvm-tools, crash-on-valid
Assignees
Reporter arsenm
    a.ll:
```
define { double, i32 } @func() {
entry:
  %i = tail call double @llvm.maxnum.f64(double 0.000000e+00, double 0.000000e+00)
  %i1 = tail call double @llvm.minnum.f64(double 0.000000e+00, double 0.000000e+00)
  %i2 = tail call double @llvm.minnum.f64(double 0.000000e+00, double 0.000000e+00)
 %i3 = tail call double @llvm.maxnum.f64(double %i1, double %i2)
  %i4 = tail call { double, i32 } @llvm.frexp.f64.i32(double %i)
  ret { double, i32 } %i4
}

declare { double, i32 } @llvm.frexp.f64.i32(double) #0
declare double @llvm.maxnum.f64(double, double) #0
declare double @llvm.minnum.f64(double, double) #0

attributes #0 = { nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none) }

```

b.ll:
```
define double @func() {
entry:
  %i = tail call double @llvm.fabs.f64(double 0.000000e+00)
  %i1 = tail call double @llvm.fabs.f64(double 0.000000e+00)
  %i2 = tail call double @llvm.maxnum.f64(double %i, double %i1)
  %i3 = tail call double @llvm.maxnum.f64(double %i1, double 0.000000e+00)
  %i4 = tail call double @llvm.minnum.f64(double 1.000000e+00, double 0.000000e+00)
  %i5 = tail call double @llvm.maxnum.f64(double %i4, double 0.000000e+00)
  ret double %i5
}

declare double @llvm.fabs.f64(double) #0
declare double @llvm.maxnum.f64(double, double) #0
declare double @llvm.minnum.f64(double, double) #0

attributes #0 = { nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none) }

```

```
$ llvm-diff a.ll b.ll     
function @llvm.frexp.f64.i32 exists only in left module
function @llvm.fabs.f64 exists only in right module
in function func:
  in block %entry:
    in instruction %i3 / %i2:
      arguments %i1 and %i differ
Assertion failed: (!Result && "structural differences second time around?"), function unify, file DifferenceEngine.cpp, line 268.
[1] 30359 abort      llvm-diff a.ll b.ll
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to