[LLVMbugs] [Bug 6879] New: intermittent ice: Why are we unswitching on a constant

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Apr 19 20:03:51 PDT 2010


http://llvm.org/bugs/show_bug.cgi?id=6879

           Summary: intermittent ice: Why are we unswitching on a constant
           Product: new-bugs
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: regehr at cs.utah.edu
                CC: llvmbugs at cs.uiuc.edu, chenyang at cs.utah.edu


Created an attachment (id=4701)
 --> (http://llvm.org/bugs/attachment.cgi?id=4701)
failure inducing C

This one is no fun!  The bug only happens about 50% of the time, something
nondeterministic has crept into the execution.  Valgrind seems to think it is a
use-after-free.

regehr at john-home:~/volatile/bugs/tmp314$ clang -O0 -S -emit-llvm small.c -o
small.bc -w
regehr at john-home:~/volatile/bugs/tmp314$ opt -O3 small.bcWARNING: You're
attempting to print out a bitcode file.
This is inadvisable as it may cause display problems. If
you REALLY want to taste LLVM bitcode first-hand, you
can force output with the `-f' option.

opt: LoopUnswitch.cpp:850:
void<unnamed>::LoopUnswitch::RewriteLoopBodyWithConditionConstant(llvm::Loop*,
llvm::Value*, llvm::Constant*, bool): Assertion `!isa<Constant>(LIC) && "Why
are we unswitching on a constant?"' failed.
0  opt 0x084d9af8
Stack dump:
0.    Program arguments: opt -O3 small.bc 
1.    Running pass 'CallGraph Pass Manager' on module 'small.bc'.
2.    Running pass 'Loop Pass Manager' on function '@func_39'
3.    Running pass 'Unswitch loops' on basic block '%for.cond.i'
Aborted
regehr at john-home:~/volatile/bugs/tmp314$ clang -v
clang version 1.5 (trunk 101819)
Target: i386-pc-linux-gnu
Thread model: posix

-- 
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