Test source: git
Comments: LLVM PR49080
Source: <stdin> -- 1. ModuleToFunctionPassAdaptor ERROR: Unsupported instruction: store volatile double %D, ptr undef, align 8 ERROR: Unsupported instruction: store volatile double %D, ptr undef, align 8 -- 1. PassManager<Function> : Skipping NOP -- 2. InstCombinePass ---------------------------------------- declare double @floor(double) define float @test_shrink_libcall_floor(float %C) { #0: %D = fpext float %C to double %E = floor double %D %F = fptrunc double %E to float ret float %F } Transformation seems to be correct! (syntactically equal) -- 3. InstCombinePass ---------------------------------------- declare double @floor(double) define float @test_shrink_libcall_floor(float %C) { #0: %D = fpext float %C to double %E = floor double %D %F = fptrunc double %E to float ret float %F } => define float @test_shrink_libcall_floor(float %C) { #0: %#1 = floor float %C ret float %#1 } Transformation doesn't verify! (not unsound) ERROR: Timeout -- 4. PassManager<Function> : Skipping NOP -- 5. PassManager<Function> : Skipping NOP -- 6. InstCombinePass ---------------------------------------- declare double @ceil(double) define float @test_shrink_libcall_ceil(float %C) { #0: %D = fpext float %C to double %E = ceil double %D %F = fptrunc double %E to float ret float %F } Transformation seems to be correct! (syntactically equal) -- 7. InstCombinePass ---------------------------------------- declare double @ceil(double) define float @test_shrink_libcall_ceil(float %C) { #0: %D = fpext float %C to double %E = ceil double %D %F = fptrunc double %E to float ret float %F } => define float @test_shrink_libcall_ceil(float %C) { #0: %#1 = ceil float %C ret float %#1 } Transformation doesn't verify! (not unsound) ERROR: Timeout -- 8. PassManager<Function> : Skipping NOP -- 9. PassManager<Function> : Skipping NOP -- 10. InstCombinePass ---------------------------------------- declare double @round(double) define float @test_shrink_libcall_round(float %C) { #0: %D = fpext float %C to double %E = round double %D %F = fptrunc double %E to float ret float %F } Transformation seems to be correct! (syntactically equal) -- 11. InstCombinePass ---------------------------------------- declare double @round(double) define float @test_shrink_libcall_round(float %C) { #0: %D = fpext float %C to double %E = round double %D %F = fptrunc double %E to float ret float %F } => define float @test_shrink_libcall_round(float %C) { #0: %#1 = round float %C ret float %#1 } Transformation doesn't verify! (not unsound) ERROR: Timeout -- 12. PassManager<Function> : Skipping NOP -- 13. PassManager<Function> : Skipping NOP -- 14. InstCombinePass ---------------------------------------- declare double @roundeven(double) define float @test_shrink_libcall_roundeven(float %C) { #0: %D = fpext float %C to double %E = roundeven double %D %F = fptrunc double %E to float ret float %F } Transformation seems to be correct! (syntactically equal) -- 15. InstCombinePass ---------------------------------------- declare double @roundeven(double) define float @test_shrink_libcall_roundeven(float %C) { #0: %D = fpext float %C to double %E = roundeven double %D %F = fptrunc double %E to float ret float %F } => define float @test_shrink_libcall_roundeven(float %C) { #0: %#1 = roundeven float %C ret float %#1 } Transformation doesn't verify! (not unsound) ERROR: Timeout -- 16. PassManager<Function> : Skipping NOP -- 17. PassManager<Function> : Skipping NOP -- 18. InstCombinePass ---------------------------------------- declare double @nearbyint(double) define float @test_shrink_libcall_nearbyint(float %C) { #0: %D = fpext float %C to double %E = nearbyint double %D %F = fptrunc double %E to float ret float %F } Transformation seems to be correct! (syntactically equal) -- 19. InstCombinePass ---------------------------------------- declare double @nearbyint(double) define float @test_shrink_libcall_nearbyint(float %C) { #0: %D = fpext float %C to double %E = nearbyint double %D %F = fptrunc double %E to float ret float %F } => define float @test_shrink_libcall_nearbyint(float %C) { #0: %#1 = nearbyint float %C ret float %#1 } Transformation doesn't verify! (not unsound) ERROR: Timeout -- 20. PassManager<Function> : Skipping NOP -- 21. PassManager<Function> : Skipping NOP -- 22. InstCombinePass ---------------------------------------- declare double @trunc(double) define float @test_shrink_libcall_trunc(float %C) { #0: %D = fpext float %C to double %E = trunc double %D %F = fptrunc double %E to float ret float %F } Transformation seems to be correct! (syntactically equal) -- 23. InstCombinePass ---------------------------------------- declare double @trunc(double) define float @test_shrink_libcall_trunc(float %C) { #0: %D = fpext float %C to double %E = trunc double %D %F = fptrunc double %E to float ret float %F } => define float @test_shrink_libcall_trunc(float %C) { #0: %#1 = trunc float %C ret float %#1 } Transformation doesn't verify! (not unsound) ERROR: Timeout -- 24. PassManager<Function> : Skipping NOP -- 25. PassManager<Function> : Skipping NOP -- 26. InstCombinePass ---------------------------------------- declare double @fabs(double) define float @test_shrink_libcall_fabs(float %C) { #0: %D = fpext float %C to double %E = fabs double %D %F = fptrunc double %E to float ret float %F } Transformation seems to be correct! (syntactically equal) -- 27. InstCombinePass ---------------------------------------- declare double @fabs(double) define float @test_shrink_libcall_fabs(float %C) { #0: %D = fpext float %C to double %E = fabs double %D %F = fptrunc double %E to float ret float %F } => define float @test_shrink_libcall_fabs(float %C) { #0: %#1 = fabs float %C ret float %#1 } Transformation doesn't verify! (not unsound) ERROR: Timeout -- 28. PassManager<Function> : Skipping NOP -- 29. PassManager<Function> : Skipping NOP -- 30. InstCombinePass ---------------------------------------- declare double @fabs(double) define float @test_shrink_libcall_fabs_fast(float %C) { #0: %D = fpext float %C to double %E = fabs fast double %D %F = fptrunc double %E to float ret float %F } Transformation seems to be correct! (syntactically equal) -- 31. InstCombinePass ---------------------------------------- declare double @fabs(double) define float @test_shrink_libcall_fabs_fast(float %C) { #0: %D = fpext float %C to double %E = fabs fast double %D %F = fptrunc double %E to float ret float %F } => define float @test_shrink_libcall_fabs_fast(float %C) { #0: %#1 = fabs fast float %C ret float %#1 } Transformation doesn't verify! (not unsound) ERROR: Timeout -- 32. PassManager<Function> : Skipping NOP -- 33. PassManager<Function> : Skipping NOP -- 34. InstCombinePass ---------------------------------------- define float @test_shrink_intrin_ceil(float %C) { #0: %D = fpext float %C to double %E = ceil double %D %F = fptrunc double %E to float ret float %F } Transformation seems to be correct! (syntactically equal) -- 35. InstCombinePass ---------------------------------------- define float @test_shrink_intrin_ceil(float %C) { #0: %D = fpext float %C to double %E = ceil double %D %F = fptrunc double %E to float ret float %F } => define float @test_shrink_intrin_ceil(float %C) { #0: %#1 = ceil float %C ret float %#1 } Transformation doesn't verify! (not unsound) ERROR: Timeout -- 36. PassManager<Function> : Skipping NOP -- 37. PassManager<Function> : Skipping NOP -- 38. InstCombinePass ---------------------------------------- define float @test_shrink_intrin_fabs(float %C) { #0: %D = fpext float %C to double %E = fabs double %D %F = fptrunc double %E to float ret float %F } Transformation seems to be correct! (syntactically equal) -- 39. InstCombinePass ---------------------------------------- define float @test_shrink_intrin_fabs(float %C) { #0: %D = fpext float %C to double %E = fabs double %D %F = fptrunc double %E to float ret float %F } => define float @test_shrink_intrin_fabs(float %C) { #0: %#1 = fabs float %C ret float %#1 } Transformation doesn't verify! (not unsound) ERROR: Timeout -- 40. PassManager<Function> : Skipping NOP -- 41. PassManager<Function> : Skipping NOP -- 42. InstCombinePass ---------------------------------------- define float @test_shrink_intrin_floor(float %C) { #0: %D = fpext float %C to double %E = floor double %D %F = fptrunc double %E to float ret float %F } Transformation seems to be correct! (syntactically equal) -- 43. InstCombinePass ---------------------------------------- define float @test_shrink_intrin_floor(float %C) { #0: %D = fpext float %C to double %E = floor double %D %F = fptrunc double %E to float ret float %F } => define float @test_shrink_intrin_floor(float %C) { #0: %#1 = floor float %C ret float %#1 } Transformation doesn't verify! (not unsound) ERROR: Timeout -- 44. PassManager<Function> : Skipping NOP -- 45. PassManager<Function> : Skipping NOP -- 46. InstCombinePass ---------------------------------------- define float @test_shrink_intrin_nearbyint(float %C) { #0: %D = fpext float %C to double %E = nearbyint double %D %F = fptrunc double %E to float ret float %F } Transformation seems to be correct! (syntactically equal) -- 47. InstCombinePass ---------------------------------------- define float @test_shrink_intrin_nearbyint(float %C) { #0: %D = fpext float %C to double %E = nearbyint double %D %F = fptrunc double %E to float ret float %F } => define float @test_shrink_intrin_nearbyint(float %C) { #0: %#1 = nearbyint float %C ret float %#1 } Transformation doesn't verify! (not unsound) ERROR: Timeout -- 48. PassManager<Function> : Skipping NOP -- 49. PassManager<Function> : Skipping NOP -- 50. InstCombinePass ---------------------------------------- define half @test_shrink_intrin_rint(half %C) { #0: %D = fpext half %C to float %E = rint float %D %F = fptrunc float %E to half ret half %F } Transformation seems to be correct! (syntactically equal) -- 51. InstCombinePass ---------------------------------------- define half @test_shrink_intrin_rint(half %C) { #0: %D = fpext half %C to float %E = rint float %D %F = fptrunc float %E to half ret half %F } => define half @test_shrink_intrin_rint(half %C) { #0: %#1 = rint half %C ret half %#1 } Transformation seems to be correct! -- 52. PassManager<Function> : Skipping NOP -- 53. PassManager<Function> : Skipping NOP -- 54. InstCombinePass ---------------------------------------- define float @test_shrink_intrin_round(float %C) { #0: %D = fpext float %C to double %E = round double %D %F = fptrunc double %E to float ret float %F } Transformation seems to be correct! (syntactically equal) -- 55. InstCombinePass ---------------------------------------- define float @test_shrink_intrin_round(float %C) { #0: %D = fpext float %C to double %E = round double %D %F = fptrunc double %E to float ret float %F } => define float @test_shrink_intrin_round(float %C) { #0: %#1 = round float %C ret float %#1 } Transformation doesn't verify! (not unsound) ERROR: Timeout -- 56. PassManager<Function> : Skipping NOP -- 57. PassManager<Function> : Skipping NOP -- 58. InstCombinePass ---------------------------------------- define float @test_shrink_intrin_roundeven(float %C) { #0: %D = fpext float %C to double %E = roundeven double %D %F = fptrunc double %E to float ret float %F } Transformation seems to be correct! (syntactically equal) -- 59. InstCombinePass ---------------------------------------- define float @test_shrink_intrin_roundeven(float %C) { #0: %D = fpext float %C to double %E = roundeven double %D %F = fptrunc double %E to float ret float %F } => define float @test_shrink_intrin_roundeven(float %C) { #0: %#1 = roundeven float %C ret float %#1 } Transformation doesn't verify! (not unsound) ERROR: Timeout -- 60. PassManager<Function> : Skipping NOP -- 61. PassManager<Function> : Skipping NOP -- 62. InstCombinePass ---------------------------------------- define float @test_shrink_intrin_trunc(float %C) { #0: %D = fpext float %C to double %E = trunc double %D %F = fptrunc double %E to float ret float %F } Transformation seems to be correct! (syntactically equal) -- 63. InstCombinePass ---------------------------------------- define float @test_shrink_intrin_trunc(float %C) { #0: %D = fpext float %C to double %E = trunc double %D %F = fptrunc double %E to float ret float %F } => define float @test_shrink_intrin_trunc(float %C) { #0: %#1 = trunc float %C ret float %#1 } Transformation doesn't verify! (not unsound) ERROR: Timeout -- 64. PassManager<Function> : Skipping NOP -- 65. PassManager<Function> : Skipping NOP -- 66. InstCombinePass ---------------------------------------- declare void @use_v2f64(<2 x double>) define <2 x float> @test_shrink_intrin_ceil_multi_use(<2 x float> %C) { #0: %D = fpext <2 x float> %C to <2 x double> %E = ceil <2 x double> %D %F = fptrunc <2 x double> %E to <2 x float> call void @use_v2f64(<2 x double> %D) ret <2 x float> %F } Transformation seems to be correct! (syntactically equal) -- 67. InstCombinePass ---------------------------------------- declare void @use_v2f64(<2 x double>) define <2 x float> @test_shrink_intrin_ceil_multi_use(<2 x float> %C) { #0: %D = fpext <2 x float> %C to <2 x double> %E = ceil <2 x double> %D %F = fptrunc <2 x double> %E to <2 x float> call void @use_v2f64(<2 x double> %D) ret <2 x float> %F } Transformation seems to be correct! (syntactically equal) -- 68. PassManager<Function> : Skipping NOP -- 69. PassManager<Function> : Skipping NOP -- 70. InstCombinePass ---------------------------------------- declare void @use_v2f64(<2 x double>) define <2 x float> @test_shrink_intrin_fabs_multi_use(<2 x float> %C) { #0: %D = fpext <2 x float> %C to <2 x double> %E = fabs <2 x double> %D %F = fptrunc <2 x double> %E to <2 x float> call void @use_v2f64(<2 x double> %E) ret <2 x float> %F } Transformation seems to be correct! (syntactically equal) -- 71. InstCombinePass ---------------------------------------- declare void @use_v2f64(<2 x double>) define <2 x float> @test_shrink_intrin_fabs_multi_use(<2 x float> %C) { #0: %D = fpext <2 x float> %C to <2 x double> %E = fabs <2 x double> %D %F = fptrunc <2 x double> %E to <2 x float> call void @use_v2f64(<2 x double> %E) ret <2 x float> %F } => declare void @use_v2f64(<2 x double>) define <2 x float> @test_shrink_intrin_fabs_multi_use(<2 x float> %C) { #0: %#1 = fabs <2 x float> %C %E = fpext <2 x float> %#1 to <2 x double> call void @use_v2f64(<2 x double> %E) ret <2 x float> %#1 } Transformation doesn't verify! (unsound) ERROR: Source is more defined than target Example: <2 x float> %C = < #xff800085 (SNaN), #x7f8000a1 (SNaN) > Source: <2 x double> %D = < #x7ff00010a0000000 (SNaN), #x7ff0001420000000 (SNaN) > <2 x double> %E = < #x7ff00010a0000000 (SNaN), #x7ff0001420000000 (SNaN) > <2 x float> %F = < #x7f800085 (SNaN), #x7f8000a1 (SNaN) > void = function did not return! SOURCE MEMORY STATE =================== NON-LOCAL BLOCKS: Block 0 > size: 0 align: 1 alloc type: 0 alive: false address: 0 Block 1 > size: 5 align: 2 alloc type: 0 alive: true address: 2 Target: <2 x float> %#1 = < #x7f800085 (SNaN), #x7f8000a1 (SNaN) > <2 x double> %E = < #xfff00010a0000000 (SNaN), #x7ff0001420000000 (SNaN) > void = function did not return! Pass: InstCombinePass Command line: '/home/nlopes/llvm/build/bin/opt' '-load=/home/nlopes/alive2/build/tv/tv.so' '-load-pass-plugin=/home/nlopes/alive2/build/tv/tv.so' '-tv-exit-on-error' '-passes=instcombine' '-S' '-mtriple' 'x86_64-pc-win32' '-tv-smt-to=20000' '-tv-report-dir=/home/nlopes/alive2/build/logs' '-tv-smt-stats' Wrote bitcode to: "/home/nlopes/alive2/build/logs/in_nnVip9T5_csnp.bc" ------------------- SMT STATS ------------------- Num queries: 107 Num invalid: 0 Num skips: 0 Num trivial: 60 (35.9%) Num timeout: 16 (15.0%) Num errors: 0 (0.0%) Num SAT: 66 (61.7%) Num UNSAT: 25 (23.4%) Alive2: Transform doesn't verify; aborting!
RUN: at line 3: /home/nlopes/alive2/build/opt-alive.sh < /bitbucket/nlopes/llvm/llvm/test/Transforms/InstCombine/double-float-shrink-2.ll -passes=instcombine -S -mtriple "i386-pc-linux" | /bitbucket/nlopes/llvm/build/bin/FileCheck /bitbucket/nlopes/llvm/llvm/test/Transforms/InstCombine/double-float-shrink-2.ll --check-prefixes=CHECK,DOUBLE-4BYTE-ALIGN + /home/nlopes/alive2/build/opt-alive.sh -passes=instcombine -S -mtriple i386-pc-linux + /bitbucket/nlopes/llvm/build/bin/FileCheck /bitbucket/nlopes/llvm/llvm/test/Transforms/InstCombine/double-float-shrink-2.ll --check-prefixes=CHECK,DOUBLE-4BYTE-ALIGN RUN: at line 4: /home/nlopes/alive2/build/opt-alive.sh < /bitbucket/nlopes/llvm/llvm/test/Transforms/InstCombine/double-float-shrink-2.ll -passes=instcombine -S -mtriple "i386-pc-win32" | /bitbucket/nlopes/llvm/build/bin/FileCheck /bitbucket/nlopes/llvm/llvm/test/Transforms/InstCombine/double-float-shrink-2.ll --check-prefixes=CHECK,DOUBLE-8BYTE-ALIGN + /bitbucket/nlopes/llvm/build/bin/FileCheck /bitbucket/nlopes/llvm/llvm/test/Transforms/InstCombine/double-float-shrink-2.ll --check-prefixes=CHECK,DOUBLE-8BYTE-ALIGN + /home/nlopes/alive2/build/opt-alive.sh -passes=instcombine -S -mtriple i386-pc-win32 RUN: at line 5: /home/nlopes/alive2/build/opt-alive.sh < /bitbucket/nlopes/llvm/llvm/test/Transforms/InstCombine/double-float-shrink-2.ll -passes=instcombine -S -mtriple "x86_64-pc-win32" | /bitbucket/nlopes/llvm/build/bin/FileCheck /bitbucket/nlopes/llvm/llvm/test/Transforms/InstCombine/double-float-shrink-2.ll --check-prefixes=CHECK,DOUBLE-8BYTE-ALIGN + /home/nlopes/alive2/build/opt-alive.sh -passes=instcombine -S -mtriple x86_64-pc-win32 + /bitbucket/nlopes/llvm/build/bin/FileCheck /bitbucket/nlopes/llvm/llvm/test/Transforms/InstCombine/double-float-shrink-2.ll --check-prefixes=CHECK,DOUBLE-8BYTE-ALIGN FileCheck error: '<stdin>' is empty. FileCheck command line: /bitbucket/nlopes/llvm/build/bin/FileCheck /bitbucket/nlopes/llvm/llvm/test/Transforms/InstCombine/double-float-shrink-2.ll --check-prefixes=CHECK,DOUBLE-8BYTE-ALIGN
NOTE: This test would pass if undef didn't exist!