https://bugs.llvm.org/show_bug.cgi?id=46877
Bug ID: 46877
Summary: Infinite loop in DAGCombiner::Run
Product: new-bugs
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: new bugs
Assignee: unassignedb...@nondot.org
Reporter: ruh...@google.com
CC: htmldevelo...@gmail.com, llvm-bugs@lists.llvm.org,
llvm-...@redking.me.uk, qsh...@cn.ibm.com,
ruh...@google.com, spatel+l...@rotateright.com
Created attachment 23783
--> https://bugs.llvm.org/attachment.cgi?id=23783&action=edit
The program and DAG that hangs.
For the program hangs.ll in the attached hangs.tar.gz, the following command
hangs:
llc -O3 -mcpu=haswell hangs.ll
Debugging shows it is stuck in an infinite while loop processing the worklist
in the function DAGCombiner::Run in
llvm-project/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp.
Debug logging suggests it is repeatedly trying to combine the same node without
making any progress:
Combining: t2747: f32 = fmul nsz contract reassoc t2742, t2746
Combining: t2604: f32 = fmul nsz contract reassoc t2594, t2636
Combining: t2746: f32 = fmul nsz contract reassoc t2744, t36
Combining: t2747: f32 = fmul nsz contract reassoc t2742, t2746
Combining: t2689: f32 = fmul nsz contract reassoc t52, t2726
Combining: t2746: f32 = fmul nsz contract reassoc t2744, t36
Combining: t2747: f32 = fmul nsz contract reassoc t2742, t2746
...
See dag.txt in the attached hangs.tar.gz for a dump of the DAG in question and
additional debug logs.
The infinite loop reproduces on trunk today (git revision
3fac05e49fe3eb4d6becf1761b4df01dbd871aa4).
git bisect shows the infinite loop first started appearing at:
commit 2b59e9f1bdd8d0f8a315f9ddba2cdc87a3e682fb
Author: QingShan Zhang <qsh...@cn.ibm.com>
Date: Wed May 20 02:11:16 2020 +0000
[DAGCombine] Remove the getNegatibleCost to avoid the out of sync with
getNegatedExpression
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs