https://bugs.llvm.org/show_bug.cgi?id=50876
Bug ID: 50876
Summary: [BranchFolding] Removing a block as dead while still
used by branch instruction
Product: libraries
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: Common Code Generator Code
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]
Created attachment 24982
--> https://bugs.llvm.org/attachment.cgi?id=24982&action=edit
reduced testcase
It seems that BranchFolder::OptimizeBranches() is finding an MBB to have no
predecessors and therefore calls RemoveDeadBlock(). There is however still a
branch instruction branching to that target. As a result that instruction gets
a target '%bb.-1', since the block no longer exists.
llc -mcpu=arch13 -O3 -enable-tail-merge=false tc_ifconv.ll -o -
...
# %bb.5: # %bb13
blhr %r14
j ".LBB0_-1"
...
(j .LBB0_-1 since the block has been removed)
--
You are receiving this mail because:
You are on the CC list for the bug._______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs