[LLVMbugs] [Bug 10987] New: Optimizer reduces well-defined load to undef in some situations
    bugzilla-daemon at llvm.org 
    bugzilla-daemon at llvm.org
       
    Thu Sep 22 09:02:45 PDT 2011
    
    
  
http://llvm.org/bugs/show_bug.cgi?id=10987
           Summary: Optimizer reduces well-defined load to undef in some
                    situations
           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: marijnh at gmail.com
                CC: llvmbugs at cs.uiuc.edu
See https://gist.github.com/1235034 for reproduction instructions.
In a very specific situation (a store to the same alloca in multiple branches
(which is optimized to a phi) with at least one of those branches doing an
invoke call with a non-trivial unwind sequence, which takes an output pointer
that is subsequently loaded and used for aforementioned store), a load that, as
far as I can see, is perfectly safe, is removed and replaced by an undef value.
I've seen a similar issue where the load is moved above the call in the output,
but still present. That might be what's happening here too -- first the load is
moved to before the call, at which point the alloca being loaded is
uninitialized, which would make replacing it with undef a valid decision.
-- 
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