Test source: git
Source: <stdin> ---------------------------------------- define void @RCModelEstimator() denormal-fp-math=ieee,ieee { %entry: br i1 undef, label %for.body.lr.ph, label %for.end.thread %for.end.thread: assume i1 0 %for.body.lr.ph: br i1 undef, label %for.end, label %for.body %for.body: br i1 undef, label %for.end, label %for.body %for.end: br i1 undef, label %for.body3, label %if.end103 %for.body3: br i1 undef, label %if.then7, label %for.inc11 %if.then7: br label %for.inc11 %for.inc11: br i1 0, label %for.cond14.preheader, label %for.body3 %for.cond14.preheader: br i1 undef, label %for.body16.lr.ph, label %if.end103 %for.body16.lr.ph: br label %for.body16 %for.body16: br i1 undef, label %for.end39, label %for.body16 %for.end39: br i1 undef, label %if.end103, label %for.cond45.preheader %for.cond45.preheader: br i1 undef, label %if.then88, label %if.else %if.then88: %mul89 = fmul double 0.000000, 0.000000, exceptions=ignore %mul90 = fmul double 0.000000, 0.000000, exceptions=ignore %sub91 = fsub double %mul89, %mul90, exceptions=ignore %div92 = fdiv double %sub91, undef, exceptions=ignore %mul94 = fmul double 0.000000, 0.000000, exceptions=ignore %mul95 = fmul double 0.000000, 0.000000, exceptions=ignore %sub96 = fsub double %mul94, %mul95, exceptions=ignore %div97 = fdiv double %sub96, undef, exceptions=ignore br label %if.end103 %if.else: br label %if.end103 %if.end103: %0 = phi double [ 0.000000, %for.end39 ], [ %div97, %if.then88 ], [ 0.000000, %if.else ], [ 0.000000, %for.cond14.preheader ], [ 0.000000, %for.end ] %1 = phi double [ undef, %for.end39 ], [ %div92, %if.then88 ], [ undef, %if.else ], [ 0.000000, %for.cond14.preheader ], [ 0.000000, %for.end ] ret void } => define void @RCModelEstimator() denormal-fp-math=ieee,ieee { %entry: br i1 undef, label %for.body.lr.ph, label %for.end.thread %for.end.thread: assume i1 0 %for.body.lr.ph: br i1 undef, label %for.end, label %for.body %for.body: br i1 undef, label %for.end, label %for.body %for.end: br i1 undef, label %for.body3, label %if.end103 %for.body3: br i1 undef, label %if.then7, label %for.inc11 %if.then7: br label %for.inc11 %for.inc11: br i1 0, label %for.cond14.preheader, label %for.body3 %for.cond14.preheader: br i1 undef, label %for.body16.lr.ph, label %if.end103 %for.body16.lr.ph: br label %for.body16 %for.body16: br i1 undef, label %for.end39, label %for.body16 %for.end39: br i1 undef, label %if.end103, label %for.cond45.preheader %for.cond45.preheader: br i1 undef, label %if.then88, label %if.else %if.then88: br label %if.end103 %if.else: br label %if.end103 %if.end103: ret void } Transformation seems to be correct! ---------------------------------------- define void @intrapred_luma() denormal-fp-math=ieee,ieee { %entry: %conv153 = trunc i32 undef to i16 %arrayidx154 = gep inbounds ptr undef, 26 x i64 0, 2 x i64 12 store i16 %conv153, ptr %arrayidx154, align 8 %arrayidx155 = gep inbounds ptr undef, 26 x i64 0, 2 x i64 11 store i16 %conv153, ptr %arrayidx155, align 2 %arrayidx156 = gep inbounds ptr undef, 26 x i64 0, 2 x i64 10 store i16 %conv153, ptr %arrayidx156, align 4 ret void } => define void @intrapred_luma() denormal-fp-math=ieee,ieee { %entry: %conv153 = trunc i32 undef to i16 %arrayidx154 = gep inbounds ptr undef, 26 x i64 0, 2 x i64 12 store i16 %conv153, ptr %arrayidx154, align 8 %arrayidx155 = gep inbounds ptr undef, 26 x i64 0, 2 x i64 11 store i16 %conv153, ptr %arrayidx155, align 2 %arrayidx156 = gep inbounds ptr undef, 26 x i64 0, 2 x i64 10 store i16 %conv153, ptr %arrayidx156, align 4 ret void } Transformation seems to be correct! (syntactically equal) ---------------------------------------- define void @dct36(ptr %inbuf) denormal-fp-math=ieee,ieee { %entry: %arrayidx41 = gep inbounds ptr %inbuf, 8 x i64 2 %arrayidx44 = gep inbounds ptr %inbuf, 8 x i64 1 %0 = load double, ptr %arrayidx44, align 8 %add46 = fadd double %0, undef, exceptions=ignore store double %add46, ptr %arrayidx41, align 8 %1 = load double, ptr %inbuf, align 8 %add49 = fadd double %1, %0, exceptions=ignore store double %add49, ptr %arrayidx44, align 8 ret void } => define void @dct36(ptr %inbuf) denormal-fp-math=ieee,ieee { %entry: %arrayidx44 = gep inbounds ptr %inbuf, 8 x i64 1 %0 = bitcast ptr %inbuf to ptr %1 = load <2 x double>, ptr %0, align 8 %2 = shufflevector <2 x double> %1, <2 x double> poison, 1, 4294967295 %3 = fadd <2 x double> %1, %2, exceptions=ignore %4 = bitcast ptr %arrayidx44 to ptr store <2 x double> %3, ptr %4, align 8 ret void } Transformation doesn't verify! ERROR: Mismatch in memory Example: ptr %inbuf = pointer(non-local, block_id=1, offset=48) Source: ptr %arrayidx41 = pointer(non-local, block_id=1, offset=64) ptr %arrayidx44 = pointer(non-local, block_id=1, offset=56) double %0 = #x0001000000000000 (0.000000000000?) double %add46 = NaN [based on undef value] double %1 = #x800c000000000000 (-0.000000000000?) double %add49 = #x800b000000000000 (-0.000000000000?) SOURCE MEMORY STATE =================== NON-LOCAL BLOCKS: Block 0 > size: 0 align: 8 alloc type: 0 Block 1 > size: 129 align: 512 alloc type: 0 Target: ptr %arrayidx44 = pointer(non-local, block_id=1, offset=56) ptr %0 = pointer(non-local, block_id=1, offset=48) <2 x double> %1 = < #x800c000000000000 (-0.000000000000?), #x0001000000000000 (0.000000000000?) > <2 x double> %2 = < #x0001000000000000 (0.000000000000?), poison > <2 x double> %3 = < #x800b000000000000 (-0.000000000000?), poison > ptr %4 = pointer(non-local, block_id=1, offset=56) Mismatch in pointer(non-local, block_id=1, offset=64) Source value: #x7ff0000000000000 Target value: poison ------------------- SMT STATS ------------------- Num queries: 8 Num invalid: 0 Num skips: 0 Num trivial: 24 (75.0%) Num timeout: 0 (0.0%) Num errors: 0 (0.0%) Num SAT: 7 (87.5%) Num UNSAT: 1 (12.5%) Alive2: Transform doesn't verify; aborting!
+ : 'RUN: at line 2' + /home/nlopes/alive2/build/opt-alive.sh -basic-aa -slp-vectorizer -dce -S -mtriple=x86_64-apple-macosx10.8.0 -mcpu=corei7 + /bitbucket/nlopes/llvm/build/bin/FileCheck /bitbucket/nlopes/llvm/llvm/test/Transforms/SLPVectorizer/X86/crash_lencod.ll FileCheck error: '<stdin>' is empty. FileCheck command line: /bitbucket/nlopes/llvm/build/bin/FileCheck /bitbucket/nlopes/llvm/llvm/test/Transforms/SLPVectorizer/X86/crash_lencod.ll