[LLVMbugs] [Bug 10946] New: Simple program hits assert in induction variable simplification

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Sat Sep 17 08:13:41 PDT 2011


           Summary: Simple program hits assert in induction variable
           Product: new-bugs
           Version: trunk
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: matt at pharr.org
                CC: llvmbugs at cs.uiuc.edu

With top of tree, if I run opt with the short program below, I get the
following assertion failure.  (2.9 doesn't have this issue.  I will start
digging a bit shortly to see if I can find the relevant change.)

% opt -indvars bugpoint-reduced-simplified.ll
Assertion failed: (isSCEVable(V->getType()) && "Value is not SCEVable!"),
function getSCEV, file ScalarEvolution.cpp, line 2653.
[stack trace]
Stack dump:
0.    Program arguments: opt -indvars bugpoint-reduced-simplified.ll 
1.    Running pass 'Function Pass Manager' on module
2.    Running pass 'Loop Pass Manager' on function '@"f_fu___REFUf[]REFUf[]Uf"'
3.    Running pass 'Induction Variable Simplification' on basic block

define void @"f_fu___REFUf[]REFUf[]Uf"() nounwind {
  br i1 undef, label %cif_done, label %for_loop398

cif_done:                                         ; preds = %allocas
  ret void

for_loop398:                                      ; preds = %for_loop398,
  %storemerge35 = phi <4 x i32> [ %storemerge, %for_loop398 ], [ undef,
%allocas ]
  %bincmp431 = icmp sge <4 x i32> %storemerge35, <i32 5, i32 5, i32 5, i32 5>
  %storemerge = bitcast <4 x float> undef to <4 x i32>
  br label %for_loop398

Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

More information about the llvm-bugs mailing list