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: unassignedb...@nondot.org
Reporter: efrie...@codeaurora.org
CC: dber...@dberlin.org, hiradi...@msn.com,
llvm-bugs@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.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs