From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32535 invoked by alias); 16 Oct 2004 05:23:30 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 32518 invoked from network); 16 Oct 2004 05:23:28 -0000 Received: from unknown (HELO vlsi1.ultra.nyu.edu) (128.122.140.213) by sourceware.org with SMTP; 16 Oct 2004 05:23:28 -0000 Received: by vlsi1.ultra.nyu.edu (4.1/1.34) id AA25192; Sat, 16 Oct 04 01:27:13 EDT Date: Sat, 16 Oct 2004 14:36:00 -0000 From: kenner@vlsi1.ultra.nyu.edu (Richard Kenner) Message-Id: <10410160527.AA25192@vlsi1.ultra.nyu.edu> To: pinskia@physics.uc.edu Subject: Re: fold_convert question Cc: gcc@gcc.gnu.org X-SW-Source: 2004-10/txt/msg00653.txt.bz2 What I don't understand is why have two different ARRAY types in the first place? Two different subtypes, for example. This seems very inefficient. As a new GCC developer I would like to see that types be correctly done in the front-end and middle-end. Saying two types are compatible but having a VIEW_CONVERT is just wrong. No, it's not. In the GENERIC tree, we require that the tree be precisely type-correct. The VIEW_CONVERT_EXPR serves that purpose. For GIMPLE, we weaken the type-correctness to compatible types. At that point, the VIEW_CONVERT_EXPR isn't needed and is removed.