[LLVMbugs] [Bug 8989] New: Assertion `I != r2iMap_.end() && "Interval does not exist for register"' failed when -fcatch-undefined-behavior is used

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Sun Jan 16 15:41:06 PST 2011


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

           Summary: Assertion `I != r2iMap_.end() && "Interval does not
                    exist for register"' failed when
                    -fcatch-undefined-behavior is used
           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


regehr at home:~/volatile/bugs/tmp345$ clang -c -O1 -fcatch-undefined-behavior
small.c -w
clang:
/mnt/z/z/compiler-build/llvm-r123579/include/llvm/CodeGen/LiveIntervalAnalysis.h:96:
llvm::LiveInterval& llvm::LiveIntervals::getInterval(unsigned int): Assertion
`I != r2iMap_.end() && "Interval does not exist for register"' failed.
0  clang 0x09492668
Stack dump:
0.    Program arguments:
/mnt/z/z/compiler-install/llvm-gcc-r123579-install/bin/clang -cc1 -triple
i386-pc-linux-gnu -emit-obj -disable-free -main-file-name small.c
-mrelocation-model static -mdisable-fp-elim -masm-verbose -mconstructor-aliases
-target-cpu pentium4 -target-linker-version 2.20.51 -resource-dir
/mnt/z/z/compiler-install/llvm-gcc-r123579-install/bin/../lib/clang/2.9 -O1 -w
-ferror-limit 19 -fmessage-length 80 -fcatch-undefined-behavior -fgnu-runtime
-fdiagnostics-show-option -fcolor-diagnostics -o small.o -x c small.c 
1.    <eof> parser at end of file
2.    Code generation
3.    Running pass 'Function Pass Manager' on module 'small.c'.
4.    Running pass 'Simple Register Coalescing' on function '@func_39'
clang: error: unable to execute command: Aborted
clang: error: clang frontend command failed due to signal 1 (use -v to see
invocation)

regehr at home:~/volatile/bugs/tmp345$ clang -v

clang version 2.9 (trunk 123579)
Target: i386-pc-linux-gnu
Thread model: posix

regehr at home:~/volatile/bugs/tmp345$ cat small.c


struct S0
{
  int f1;
  int f3;
  unsigned char f5;
};

int safe (int);

struct S0 func_39 (const int * p_40, int * p_41,
           int * const const uint32p_43)
{
  unsigned char l_46[1][10];
  if (safe (0))
    {
    }
  else
    {
      struct S0 l_60 = {
    1L, 8L
      };
      if (*p_40)
    return l_60;
      else
    for (l_60.f5 = 0; l_60.f5 < 1; l_60.f5 += 1)
      for (l_60.f1 = 0; l_60.f1 < 1; l_60.f1 += 1)
        l_46[l_60.f5][l_60.f1];
    }
  struct S0 l_60 = {
    1L, 8L
  };
  return l_60;
}

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