Test source: git
Source: <stdin> ---------------------------------------- define void @test() { %entry: br label %for.body %for.body: %a.01 = phi i16 [ undef, %entry ], [ %a.0, %for.cond ] %inc = add nsw i16 %a.01, 1 br i1 0, label %for.cond, label %for.end %for.cond: %a.0 = phi i16 [ %inc, %for.body ] %cmp = icmp sle i16 %a.0, 2 br i1 %cmp, label %for.body, label %for.end %for.end: ret void } => define void @test() { %entry: br label %for.body %for.body: %a.01 = phi i16 [ undef, %entry ], [ %inc, %for.body ] %inc = add nsw i16 %a.01, 1 %cmp = icmp sle i16 %inc, 2 %or.cond = and i1 0, %cmp br i1 %or.cond, label %for.body, label %for.end %for.end: ret void } Transformation doesn't verify! ERROR: Source is more defined than target Example: Source: i16 %a.01 = any i16 %inc = poison Target: i16 %a.01 = #x7fff (32767) i16 %inc = poison i1 %cmp = poison i1 %or.cond = poison ------------------- SMT STATS ------------------- Num queries: 3 Num invalid: 0 Num skips: 0 Num trivial: 0 (0.0%) Num timeout: 0 (0.0%) Num errors: 0 (0.0%) Num SAT: 2 (66.7%) Num UNSAT: 1 (33.3%)
+ : 'RUN: at line 2' + /home/nlopes/alive2/build/opt-alive.sh -S -indvars -loop-load-elim + /home/nlopes/llvm/build/bin/FileCheck /home/nlopes/llvm/llvm/test/Transforms/LoopLoadElim/pr-49141.ll /home/nlopes/llvm/llvm/test/Transforms/LoopLoadElim/pr-49141.ll:8:16: error: CHECK-LABEL: expected string not found in input ; CHECK-LABEL: @test( ^ <stdin>:1:1: note: scanning from here ^ <stdin>:1:11: note: possible intended match here ^ Input file: <stdin> Check file: /home/nlopes/llvm/llvm/test/Transforms/LoopLoadElim/pr-49141.ll -dump-input=help explains the following input dump. Input was: <<<<<< 1: label:8'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found label:8'1 ? possible intended match 2: Alive2: Transform doesn't verify; aborting! label:8'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>>>>>