From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id E79A4385151F for ; Fri, 28 Oct 2022 13:43:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E79A4385151F Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1666964595; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=nbUj4j7m7T9JYFiVRzZtOia1fkyEqBdq3I8AZNn8Y/I=; b=Te6/hK/Iu2Dj+++VbRdqMXzuM2inrg4IlZDRYTNa+gktqKEgZU0DCF+DQ/tRB7spiIJMUc VL+zvm3ClnD2MPmQNX7GmfJE+zUF3Nr2NiKTn0hhKsA9pcGiqslggHlxQmg5mtoAqg4aVH 6GPZTQ70f73MRA+vxqEO4qmZi+AYJ64= Received: from mail-il1-f200.google.com (mail-il1-f200.google.com [209.85.166.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-558-eYQrGRacMAm4Kz00OtoJXw-1; Fri, 28 Oct 2022 09:43:14 -0400 X-MC-Unique: eYQrGRacMAm4Kz00OtoJXw-1 Received: by mail-il1-f200.google.com with SMTP id h20-20020a056e021d9400b00300581edaa5so5093121ila.12 for ; Fri, 28 Oct 2022 06:43:13 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=nbUj4j7m7T9JYFiVRzZtOia1fkyEqBdq3I8AZNn8Y/I=; b=cqKl3DJTffQE6A6AGt2Za6PRranLiyl1egNMgsfic6jjytBe+RJNq8W2nsGzLWj2vD AK8lwAQy4v+XnGVDOEVuKtf6eOjvXonNFZ+m4kDCBh0vaJZGX63QfIT42xZRsch0+MAV y1b5ZByVYDwHd8VI0kws3/c2DD3tOnTV2MkDb7rDHHiCRZnV/GkvMX1KO2VJbO5DoqRN 2Ijiom6X2FefZkLAfNZ4wiR69pqjFhj/8Zfhp8mS1QSeVNhgvJlV6VCYURafX1ITwDYQ a1LJh1V6q0s1+KdNdlMyex8wcp1+r+IxKBSd2SJghGHy+DD0Uy2QbSl2FONi3OXdAuuf taxQ== X-Gm-Message-State: ACrzQf1warhp8bKnaeifmeLGVZ1bzuPYM9+WuH3uWAEMBB/KDWfCa8J3 8ud2HIAki/3POYf17wPRQ+YlhlhTS4dsTAZC8hICBxRmwWjITsMf9kiiP9OZ8MsdY0DMCC4Bbk1 3L9NdfzeWUxKZJhqFdQ== X-Received: by 2002:a05:6638:4803:b0:363:c2ad:878 with SMTP id cp3-20020a056638480300b00363c2ad0878mr11328517jab.230.1666964593278; Fri, 28 Oct 2022 06:43:13 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4DOpL9xOc2L0h1HvbC2Qf8mHzapXbVWF9WQs+JqoAD8w30IYOaWBOQKruKqam0xTSj1XfIxw== X-Received: by 2002:a05:6638:4803:b0:363:c2ad:878 with SMTP id cp3-20020a056638480300b00363c2ad0878mr11328506jab.230.1666964593013; Fri, 28 Oct 2022 06:43:13 -0700 (PDT) Received: from ?IPV6:2607:fea8:a263:f600::72c3? ([2607:fea8:a263:f600::72c3]) by smtp.gmail.com with ESMTPSA id a1-20020a056e020e0100b002dd0bfd2467sm1662933ilk.11.2022.10.28.06.43.11 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 28 Oct 2022 06:43:12 -0700 (PDT) Message-ID: <44fdc256-0326-0859-98bf-5ceb89578658@redhat.com> Date: Fri, 28 Oct 2022 09:43:10 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.1 Subject: Re: RFC - VRP1 default mode To: Richard Biener Cc: gcc-patches , "hernandez, aldy" , Jakub Jelinek , Jeff Law References: From: Andrew MacLeod In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-5.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 10/28/22 03:17, Richard Biener wrote: > On Wed, Oct 26, 2022 at 4:24 PM Andrew MacLeod wrote: >> Figured I would ask what you guys think of making ranger the default for >> the VRP1 pass now. >> >> With partial equivalences and the other bits I checked in the past few >> weeks I'm not aware of much that the legacy VRP pass gets that ranger >> doesn't. The only exception to that which I am aware of is the trick >> played with the unreachable edges to set global ranges, but that is done >> in the DOM passes now anyway... so it just happens slightly later in the >> optimization cycle. > Note DOM should go away at some point. Why can this not happen during > ranger driven VRP? I have been working on that for the last 2 days.  Turns out VRP1 can remove builtin_unreachable from the   if (X)     __builtin_unreachable () idiom and set the appropriate global ranges, but it has to leave those with 2 ssa-names:   if (a_1 != b_2)     __builtin_unreachable() until the second pass of VRP or we lose the relationship between a_1 and b_2.  That triggers some failures.  Specifically a vectorizor fail because it cant be sure that the start and end point are not the same without the condition in the IL. Trying to store global relations over multiple passes would be problematic at this stage of development, so I don't see a problem with leaving it that way. bultin_unreachables() from switches get removed during the second pass of switch-conversion... which I presume remains OK. Anyway, thats pretty much under control.  Patch probably coming later today. >> There is one test case that needs adjustment for >> that which was just checking for a mask in DOM2 >> (gcc.dg/tree-ssa/pr107009.c). At this point I have not aware of >> anything that Id be concerned about, and the testsuite seems to run >> cleanly. > Did you enable Ada? The only feature I don't see implemented is > symbolic range handling which boils down to general base + constant offset > range endpoints (that's what symbolic ranges allow). That area was > specifically improved to optimize range checks emitted by the Ada frontend > but IIRC also applies to fortran -frange-check (not sure about test coverage > of that). I get a clean testsuite run configured and bootstrapped with    --enable-languages=c,c++,go,fortran,ada,obj-c++,jit --enable-host-shared Is there a PR or specific tests in either fortran or ada for those improvements? ie, something specific I should check for? Part of rangers point is to be able to do symbolic relationships without storing the symbolic in the range, just picking it up from the IL as needed. Andrew