Closed
Description
While testing #49317 I found that test/llvmpasses/loopinfo.jl
fails on A64FX:
******************** [57/1997]
FAIL: Julia :: loopinfo.jl (32 of 35)
******************** TEST 'Julia :: loopinfo.jl' FAILED ********************
Script:
--
: 'RUN: at line 3'; julia --startup-file=no /snx11273/home/ri-mgiordano/repo/julia/test/llvmpasses/loopinfo.jl /snx11273/home/ri-mgiordano/repo/julia/test/llvmpasses/Output/loopinfo.jl.tmp && llvm-link -S /sn
x11273/home/ri-mgiordano/repo/julia/test/llvmpasses/Output/loopinfo.jl.tmp/* -o /snx11273/home/ri-mgiordano/repo/julia/test/llvmpasses/Output/loopinfo.jl.tmp/module.ll
: 'RUN: at line 4'; cat /snx11273/home/ri-mgiordano/repo/julia/test/llvmpasses/Output/loopinfo.jl.tmp/module.ll | FileCheck /snx11273/home/ri-mgiordano/repo/julia/test/llvmpasses/loopinfo.jl
: 'RUN: at line 5'; cat /snx11273/home/ri-mgiordano/repo/julia/test/llvmpasses/Output/loopinfo.jl.tmp/module.ll | opt -enable-new-pm=0 -load libjulia-codegen.so -LowerSIMDLoop -S - | FileCheck /snx11273/home/
ri-mgiordano/repo/julia/test/llvmpasses/loopinfo.jl -check-prefix=LOWER
: 'RUN: at line 6'; cat /snx11273/home/ri-mgiordano/repo/julia/test/llvmpasses/Output/loopinfo.jl.tmp/module.ll | opt -enable-new-pm=1 --load-pass-plugin=libjulia-codegen.so -passes='LowerSIMDLoop' -S - | Fil
eCheck /snx11273/home/ri-mgiordano/repo/julia/test/llvmpasses/loopinfo.jl -check-prefix=LOWER
: 'RUN: at line 7'; julia --startup-file=no /snx11273/home/ri-mgiordano/repo/julia/test/llvmpasses/loopinfo.jl /snx11273/home/ri-mgiordano/repo/julia/test/llvmpasses/Output/loopinfo.jl.tmp -O && llvm-link -S
/snx11273/home/ri-mgiordano/repo/julia/test/llvmpasses/Output/loopinfo.jl.tmp/* -o /snx11273/home/ri-mgiordano/repo/julia/test/llvmpasses/Output/loopinfo.jl.tmp/module.ll
: 'RUN: at line 8'; cat /snx11273/home/ri-mgiordano/repo/julia/test/llvmpasses/Output/loopinfo.jl.tmp/module.ll | FileCheck /snx11273/home/ri-mgiordano/repo/julia/test/llvmpasses/loopinfo.jl -check-prefix=FIN
AL
--
Exit Code: 1
Command Output (stderr):
--
/snx11273/home/ri-mgiordano/repo/julia/test/llvmpasses/loopinfo.jl:35:10: error: FINAL: expected string not found in input
# FINAL: fadd fast <{{[0-9]+}} x double>
^
<stdin>:6:28: note: scanning from here
define double @julia_simdf_73({} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %0) #0 !dbg !8 {
^
<stdin>:28:16: note: possible intended match here
%8 = bitcast {} addrspace(10)* %0 to double addrspace(13)* addrspace(10)*
^
Input file: <stdin>
Check file: /snx11273/home/ri-mgiordano/repo/julia/test/llvmpasses/loopinfo.jl
-dump-input=help explains the following input dump.
Input was:
<<<<<<
1: ; ModuleID = 'llvm-link'
2: source_filename = "llvm-link"
3: target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
4: target triple = "aarch64-unknown-linux-gnu"
5:
6: define double @julia_simdf_73({} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %0) #0 !dbg !8 {
check:35'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
7: top:
check:35'0 ~~~~~
8: %thread_ptr = call i8* asm "mrs $0, tpidr_el0", "=r"() #4
check:35'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9: %ppgcstack_i8 = getelementptr i8, i8* %thread_ptr, i64 16
check:35'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
10: %ppgcstack = bitcast i8* %ppgcstack_i8 to {}****
check:35'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
11: %pgcstack = load {}***, {}**** %ppgcstack, align 8
check:35'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.
.
.
23: %7 = load i64, i64 addrspace(11)* %6, align 8, !dbg !19, !tbaa !28, !range !31, !alias.scope !32, !noalias !35
check:35'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24: %.not = icmp eq i64 %7, 0, !dbg !40
check:35'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25: br i1 %.not, label %L17, label %L10.lr.ph, !dbg !43
check:35'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
26:
check:35'0 ~
27: L10.lr.ph: ; preds = %top
check:35'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~
28: %8 = bitcast {} addrspace(10)* %0 to double addrspace(13)* addrspace(10)*
check:35'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:35'1 ? possible intended match
29: %9 = addrspacecast double addrspace(13)* addrspace(10)* %8 to double addrspace(13)* addrspace(11)*
check:35'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
30: %10 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %9, align 8, !tbaa !44, !alias.scope !32, !noalias !35, !nonnull !11
check:35'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31: %11 = call i64 @llvm.vscale.i64(), !dbg !46
check:35'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
32: %12 = shl i64 %11, 3, !dbg !46
check:35'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33: %min.iters.check = icmp ult i64 %7, %12, !dbg !46
check:35'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.
.
.
>>>>>>
--