https://llvm.org/bugs/show_bug.cgi?id=31573
Bug ID: 31573
Summary: NewGVN fails to verify memory congruency
Product: libraries
Version: trunk
Hardware: PC
OS: All
Status: NEW
Severity: normal
Priority: P
Component: Scalar Optimizations
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected], [email protected],
[email protected]
Blocks: 30995
Classification: Unclassified
Reduced from Jonas Paulsson's report.
define void @patatino(i8* %blah) {
entry:
br label %while.cond
while.cond:
%meh = phi i8* [ %blah, %entry ], [ null, %while.body ]
switch i32 undef, label %while.body [
i32 666, label %while.end
]
while.body:
br label %while.cond
while.end:
store i8 0, i8* %meh, align 1
store i8 0, i8* %blah, align 1
ret void
}
$ opt -newgvn patatuccio.ll -o /dev/null
opt: ../lib/Transforms/Scalar/NewGVN.cpp:1477: void
NewGVN::verifyMemoryCongruency(): Assertion
`ValueToClass.lookup(FirstMUD->getMemoryInst()) ==
ValueToClass.lookup(SecondMUD->getMemoryInst()) && "The instructions for these
memory operations should have been in " "the same congruence class"' failed.
[...]
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs