From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id E0BE6385800B; Mon, 2 Nov 2020 07:43:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E0BE6385800B From: "rguenth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/97656] Specify that there is no address arithmetic on a pointer Date: Mon, 02 Nov 2020 07:43:54 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: middle-end X-Bugzilla-Version: 11.0 X-Bugzilla-Keywords: missed-optimization X-Bugzilla-Severity: enhancement X-Bugzilla-Who: rguenth at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cc Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Nov 2020 07:43:55 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D97656 Richard Biener changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |hubicka at gcc dot gnu.org, | |rguenth at gcc dot gnu.org --- Comment #1 from Richard Biener --- It's of course not that simple since the GIMPLE IL can require pointer arithmetic as implementation detail. I guess we could try modeling this as= 'fn spec' by making 'direct' even stricter meaning 'direct w/o additional offset' so we can build an exact ao_ref here. Maybe use ". WT" for this? And the discussed 'a'...'z' for the "upper case" '1'...'9', both to denote the range is exact? Note we discussed that we can this way specify a must-def but here it's a may-def but with known offset. Guess must vs. may would rather be another first letter like 'D'? (and only 'dire= ct' supported there obviously) And the upper case size specification means at zero offset?=