Do not continue propagating values which cannot be set properly.
authorAndrew MacLeod <amacleod@redhat.com>
Tue, 22 Jun 2021 21:46:05 +0000 (17:46 -0400)
committerAndrew MacLeod <amacleod@redhat.com>
Wed, 23 Jun 2021 14:26:16 +0000 (10:26 -0400)
commita03e944e92ee51ae583382079d4739b64bd93b35
treed7417f185d91fb313a96f544561e4036822077c0
parentca4d381662c37733b2a1d49d6c8f5fcfc1348f3d
Do not continue propagating values which cannot be set properly.

If the on-entry cache cannot properly represent a range, do not continue
trying to propagate it.

PR tree-optimization/101148
PR tree-optimization/101014
* gimple-range-cache.cc (ranger_cache::ranger_cache): Adjust.
(ranger_cache::~ranger_cache): Adjust.
(ranger_cache::block_range): Check if propagation disallowed.
(ranger_cache::propagate_cache): Disallow propagation if new value
can't be stored properly.
* gimple-range-cache.h (ranger_cache::m_propfail): New member.
gcc/gimple-range-cache.cc
gcc/gimple-range-cache.h