[LLVMbugs] [Bug 3298] New: Assertion `New != this && "this->replaceAllUsesWith(this) is NOT valid!"'

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Thu Jan 8 07:34:29 PST 2009


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

           Summary: Assertion `New != this && "this-
                    >replaceAllUsesWith(this) is NOT valid!"'
           Product: new-bugs
           Version: unspecified
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: regehr at cs.utah.edu
                CC: llvmbugs at cs.uiuc.edu


This works up to and including r61492 on Ubuntu Hardy on x86, and breaks in
more recent versions.

regehr at john-home:~/volatile/tmp115$ llvm-gcc -O2 small.c
cc1: Value.cpp:317: void llvm::Value::replaceAllUsesWith(llvm::Value*):
Assertion `New != this && "this->replaceAllUsesWith(this) is NOT valid!"'
failed.
small.c:29: internal compiler error: Aborted
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://developer.apple.com/bugreporter> for instructions.

regehr at john-home:~/volatile/tmp115$ cat small.c

char
safe_div_func_char_s_s (char _si1, char _si2)
{
  return 1 && _si2 ? : _si2;
}

int
safe_sub_func_int64_t_s_s (int _si1, int _si2)
{
  return 1 << _si2;
}

int
func (int p_79, int p_80)
{
  char l_82 = 1;
  for (p_80 = 0; p_80;)
    {
      for (p_79 = 1; p_79 <= 0; p_79 = safe_sub_func_int64_t_s_s (p_79, 0)) {
        l_82 = 0;
      }
      if (p_80) {
        for (; p_80; p_80 = 1) {
          safe_div_func_char_s_s (p_79, l_82);
        }
      }
    }
  return safe (l_82);
}


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