[LLVMbugs] [Bug 3595] New: instcombine miscompilation

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Mon Feb 16 12:26:34 PST 2009


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

           Summary: instcombine miscompilation
           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: edwintorok at gmail.com
                CC: llvmbugs at cs.uiuc.edu


Created an attachment (id=2565)
 --> (http://llvm.org/bugs/attachment.cgi?id=2565)
bugpoint-passinput.bc

Using SVN r64664 of clang to compile ClamAV, I get 1 error in 'make check' of
ClamAV:

99%: Checks: 235, Failures: 1, Errors: 0
../../../clamav-devel/unit_tests/check_str.c:61:F:cli_unescape:test_unescape_hex:0:
cli_unescape truncated
FAIL: check_clamav

Bugpoint has reduced this to be an instcombine bug.

Here's bugpoint's output:
*** Found miscompiling pass: -instcombine
Emitted bitcode to 'bugpoint-passinput.bc'

*** You can reproduce the problem with: opt bugpoint-passinput.bc -instcombine
Checking to see if the program is misoptimized when these functions are run
through the pass: cli_unescape cli_hex2int output_utf8 main
  Optimizing functions being tested: done.
  Checking to see if the merged program executes correctly: <llc><gcc><program>
yup.

*** The following functions are being miscompiled:  cli_unescape cli_hex2int
output_utf8 main
Extracted a loop from the breaking portion of the program.
<llc><gcc><program>  Testing after loop extraction:
  Optimizing functions being tested: done.
  Checking to see if the merged program executes correctly: <llc><gcc><program>
yup.
*** Loop extraction masked the problem.  Undoing.
Checking to see if the program is misoptimized when all blocks are extracted.
  Optimizing functions being tested: done.
  Checking to see if the merged program executes correctly: <llc><gcc><program>
yup.
Checking to see if the program is misoptimized when all but these 29 blocks are
extracted: entry for.cond for.body if.then15 lor.lhs.false lor.lhs.false29
lor.lhs.false38 lor.lhs.false47 lor.lhs.false56 if.then65 ...
  Optimizing functions being tested: done.
  Checking to see if the merged program executes correctly: <llc><gcc><program>
yup.
Outputting reduced bitcode files which expose the problem:
  Non-optimized portion: Emitted bitcode to 'bugpoint-tonotoptimize.bc'
  Portion that is input to optimizer: Emitted bitcode to
'bugpoint-tooptimize.bc'


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