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

Test source: git

Log:

Source: <stdin>
ERROR: Unsupported type: x86_fp80

----------------------------------------
define i129 @halftoui129(half %a) {
#0:
  %conv = fptoui half %a to i129
  ret i129 %conv
}
=>
define i129 @halftoui129(half %a) {
#0:
  %#1 = fptoui half %a to i32
  %#2 = zext i32 %#1 to i129
  ret i129 %#2
}
Transformation seems to be correct!


----------------------------------------
define i129 @floattoui129(float %a) {
#0:
  %conv = fptoui float %a to i129
  ret i129 %conv
}
=>
define i129 @floattoui129(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: 14
Num invalid: 0
Num skips:   0
Num trivial: 3 (17.6%)
Num timeout: 0 (0.0%)
Num errors:  0 (0.0%)
Num SAT:     10 (71.4%)
Num UNSAT:   4 (28.6%)
Alive2: Transform doesn't verify; aborting!

stderr:

Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fptoui129.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-fptoui129.ll | /bitbucket/nlopes/llvm/build/bin/FileCheck /bitbucket/nlopes/llvm/llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fptoui129.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-fptoui129.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-fptoui129.ll
# `-----------------------------
# error: command failed with exit status: 2

--

 

<-- Back