[Hexagon] Avoid infinite loops in HexagonLoopIdiomRecognition
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>
Thu, 23 Mar 2017 23:01:22 +0000 (23:01 +0000)
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>
Thu, 23 Mar 2017 23:01:22 +0000 (23:01 +0000)
commit10fbac009d007fc11c92a5dc5b2fbf07781fd139
tree2e6079e447a372fbb8f1c0cf2f9abc7e56345555
parent6ca44f91617d2d6f6d1dd0bb371f275a6a1d1bc6
[Hexagon] Avoid infinite loops in HexagonLoopIdiomRecognition

- Avoid explosive growth of the simplification queue by not queuing
  expressions that are alredy in it.
- Add an iteration counter and abort after a sufficiently large number
  of iterations (assuming that it's a symptom of an infinite loop).

llvm-svn: 298655
llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
llvm/test/CodeGen/Hexagon/loop-idiom/pmpy-infinite-loop.ll [new file with mode: 0644]