[llvm-bugs] [Bug 35222] New: Regression from r313116: gvn-hoist incorrectly erases load

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Nov 6 18:50:08 PST 2017


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

            Bug ID: 35222
           Summary: Regression from r313116: gvn-hoist incorrectly erases
                    load
           Product: new-bugs
           Version: unspecified
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: efriedma at codeaurora.org
                CC: dberlin at dberlin.org, hiraditya at msn.com,
                    llvm-bugs at lists.llvm.org

Testcase follows.  With "opt -gvn-hoist", the second load gets erased (which is
wrong because @pqdownheap could modify the global).

; ModuleID = 'gvn-hoist-test.ll'
source_filename = "gvn-hoist-test.ll"
target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"

@heap = external global i32, align 4

define i32 @build_tree() unnamed_addr {
entry:
  br label %do.body

do.body:                                          ; preds = %do.body, %entry
  %tmp9 = load i32, i32* @heap, align 4
  %cmp = call i1 @pqdownheap(i32 %tmp9)
  br i1 %cmp, label %do.body, label %do.end

do.end:                                           ; preds = %do.body
  %tmp20 = load i32, i32* @heap, align 4
  ret i32 %tmp20
}

declare i1 @pqdownheap(i32)

-- 
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/20171107/67b6b61e/attachment.html>


More information about the llvm-bugs mailing list