From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1851) id 5B2D83858010; Mon, 22 Nov 2021 12:44:58 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5B2D83858010 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Martin Liska To: gcc-cvs@gcc.gnu.org Subject: [gcc(refs/users/marxin/heads/loop-unswitch-improvement)] Use proper ranges for unswitching candidates. X-Act-Checkin: gcc X-Git-Author: Martin Liska X-Git-Refname: refs/users/marxin/heads/loop-unswitch-improvement X-Git-Oldrev: 258161990f5c37f9824c9ff26ca662aea15afcd9 X-Git-Newrev: 73024919f386f63e8b12d21b7ea0090d973e31cf Message-Id: <20211122124458.5B2D83858010@sourceware.org> Date: Mon, 22 Nov 2021 12:44:58 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Nov 2021 12:44:58 -0000 https://gcc.gnu.org/g:73024919f386f63e8b12d21b7ea0090d973e31cf commit 73024919f386f63e8b12d21b7ea0090d973e31cf Author: Martin Liska Date: Fri Nov 19 14:13:27 2021 +0100 Use proper ranges for unswitching candidates. Diff: --- gcc/tree-ssa-loop-unswitch.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gcc/tree-ssa-loop-unswitch.c b/gcc/tree-ssa-loop-unswitch.c index 74619ed8b24..e1ff06316e6 100644 --- a/gcc/tree-ssa-loop-unswitch.c +++ b/gcc/tree-ssa-loop-unswitch.c @@ -256,7 +256,11 @@ tree_may_unswitch_on (basic_block bb, class loop *loop, gimple_ranger *ranger) if (irange::supports_type_p (TREE_TYPE (lhs))) { ranger->range_on_edge (predicate->true_range, edge_true, lhs); - ranger->range_on_edge (predicate->false_range, edge_false, lhs); + predicate->false_range = predicate->true_range; + + if (!predicate->false_range.varying_p () + && !predicate->false_range.undefined_p ()) + predicate->false_range.invert (); } return predicate;