Test Failure: Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fptosi129.ll

Test source: git

Log:

Source: <stdin>
ERROR: Unsupported type: x86_fp80

----------------------------------------
define i129 @halftosi129(half %a) {
#0:
  %conv = fptosi half %a to i129
  ret i129 %conv
}
=>
define i129 @halftosi129(half %a) {
#0:
  %#1 = fptosi half %a to i32
  %#2 = sext i32 %#1 to i129
  ret i129 %#2
}
Transformation doesn't verify! (not unsound)
ERROR: Timeout

Pass: 
Command line: '/home/nlopes/llvm/build/bin/opt' '-load=/home/nlopes/alive2/build/tv/tv.so' '-tv-exit-on-error' '-tv' '-S' '-mtriple=x86_64--' '--expand-ir-insts' '-tv' '-tv-smt-to=20000' '-tv-report-dir=/home/nlopes/alive2/build/logs' '-tv-smt-stats'


----------------------------------------
define i129 @floattosi129(float %a) {
#0:
  %conv = fptosi float %a to i129
  ret i129 %conv
}
=>
define i129 @floattosi129(float %a) {
fp-to-i-entry:
  %#0 = bitcast float %a to i32
  %#1 = zext i32 %#0 to i129
  %#2 = icmp sgt i32 %#0, 4294967295
  %sign = select i1 %#2, i129 1, i129 680564733841876926926749214863536422911
  %#3 = lshr i129 %#1, 23
  %biased.exp = and i129 %#3, 255
  %#4 = and i129 %#1, 8388607
  %significand = or i129 %#4, 8388608
  %exp.is.negative = icmp ult i129 %biased.exp, 127
  br i1 %exp.is.negative, label %fp-to-i-cleanup, label %fp-to-i-if-check.saturate

fp-to-i-if-check.saturate:
  %#5 = add i129 %biased.exp, 680564733841876926926749214863536422656
  %#6 = icmp ult i129 %#5, 680564733841876926926749214863536422783
  br i1 %#6, label %fp-to-i-if-saturate, label %fp-to-i-if-check.exp.size

fp-to-i-if-saturate:
  %saturated = select i1 %#2, i129 340282366920938463463374607431768211455, i129 340282366920938463463374607431768211456
  br label %fp-to-i-cleanup

fp-to-i-if-check.exp.size:
  %exp.smaller.mantissa.width = icmp ult i129 %biased.exp, 150
  br i1 %exp.smaller.mantissa.width, label %fp-to-i-if-exp.small, label %fp-to-i-if-exp.large

fp-to-i-if-exp.small:
  %#7 = sub i129 150, %biased.exp
  %#8 = lshr i129 %significand, %#7
  %#9 = mul i129 %#8, %sign
  br label %fp-to-i-cleanup

fp-to-i-if-exp.large:
  %#10 = add i129 %biased.exp, 680564733841876926926749214863536422762
  %#11 = shl i129 %significand, %#10
  %#12 = mul i129 %#11, %sign
  br label %fp-to-i-cleanup

fp-to-i-cleanup:
  %#13 = phi i129 [ %saturated, %fp-to-i-if-saturate ], [ %#9, %fp-to-i-if-exp.small ], [ %#12, %fp-to-i-if-exp.large ], [ 0, %fp-to-i-entry ]
  ret i129 %#13
}
Transformation doesn't verify! (unsound)
ERROR: Source is more defined than target

Example:
float %a = poison

Source:
i129 %conv = poison

Target:
i32 %#0 = poison
i129 %#1 = poison
i1 %#2 = poison
i129 %sign = poison
i129 %#3 = poison
i129 %biased.exp = poison
i129 %#4 = poison
i129 %significand = poison
i1 %exp.is.negative = poison
UB triggered on br


Pass: 
Command line: '/home/nlopes/llvm/build/bin/opt' '-load=/home/nlopes/alive2/build/tv/tv.so' '-tv-exit-on-error' '-tv' '-S' '-mtriple=x86_64--' '--expand-ir-insts' '-tv' '-tv-smt-to=20000' '-tv-report-dir=/home/nlopes/alive2/build/logs' '-tv-smt-stats'


------------------- SMT STATS -------------------
Num queries: 12
Num invalid: 0
Num skips:   0
Num trivial: 2 (14.3%)
Num timeout: 1 (8.3%)
Num errors:  0 (0.0%)
Num SAT:     10 (83.3%)
Num UNSAT:   1 (8.3%)
Alive2: Transform doesn't verify; aborting!

stderr:

Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fptosi129.ll' FAILED ********************
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 2
/home/nlopes/alive2/build/opt-alive.sh -S -mtriple=x86_64-- --expand-ir-insts < /bitbucket/nlopes/llvm/llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fptosi129.ll | /bitbucket/nlopes/llvm/build/bin/FileCheck /bitbucket/nlopes/llvm/llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fptosi129.ll
# executed command: /home/nlopes/alive2/build/opt-alive.sh -S -mtriple=x86_64-- --expand-ir-insts
# .---command stderr------------
# `-----------------------------
# error: command failed with exit status: 1
# executed command: /bitbucket/nlopes/llvm/build/bin/FileCheck /bitbucket/nlopes/llvm/llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fptosi129.ll
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line:  /bitbucket/nlopes/llvm/build/bin/FileCheck /bitbucket/nlopes/llvm/llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fptosi129.ll
# `-----------------------------
# error: command failed with exit status: 2

--

 

<-- Back