[PATCH] D23781: Fix SystemZ hang caused by r279105

Elliot Colp via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 22 11:26:46 PDT 2016


colpell created this revision.
colpell added a reviewer: uweigand.
colpell added subscribers: jonpa, llvm-commits.

The change in r279105 causes an infinite loop in some cases, as it sets the upper bits of an AND mask constant, which DAGCombiner::SimplifyDemandedBits then unsets.
This patch reverts that part of the behaviour, instead relying on .td peepholes to perform the transformation to NILL. I reapplied my original fix for the problem addressed by r279105 (unsetting the upper bits, which prevents a compiler abort for a different reason).

https://reviews.llvm.org/D23781

Files:
  lib/Target/SystemZ/SystemZISelLowering.cpp
  lib/Target/SystemZ/SystemZInstrInfo.td

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D23781.68886.patch
Type: text/x-patch
Size: 5362 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160822/5a1773d4/attachment.bin>


More information about the llvm-commits mailing list