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: unassignedb...@nondot.org
          Reporter: renato.go...@linaro.org
                CC: llvm-bugs@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.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to