[llvm-bugs] [Bug 29120] New: SCCP elides too much in simple example

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Aug 24 08:38:57 PDT 2016


https://llvm.org/bugs/show_bug.cgi?id=29120

            Bug ID: 29120
           Summary: SCCP elides too much in simple example
           Product: libraries
           Version: 3.9
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Interprocedural Optimizations
          Assignee: unassignedbugs at nondot.org
          Reporter: renato.golin at linaro.org
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

RE: http://lists.llvm.org/pipermail/llvm-dev/2016-August/104018.html

The following code gets the global function elided when it shouldn't:

%empty = type {}

declare %empty @foo()

define i32 @main() {
  %1 = call %empty @foo()
  ret i32 0
}

$ opt -sccp -S file.ll -o -

%empty = type {}

declare %empty @foo()

define i32 @main() {
  ret i32 0
}

Sanjoy Das detected a possible fix in SCCP.cpp:

http://lists.llvm.org/pipermail/llvm-dev/2016-August/104022.html

It seems to work well on the example, but generates a bunch of segfaults on the
tests. I'll let Sanjoy or someone more familiar with SCCP to fix this one.

We'll also need to back-port it to 3.9.0.

cheers,
--renato

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20160824/d7a1f15b/attachment.html>


More information about the llvm-bugs mailing list