From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24652 invoked by alias); 25 Apr 2002 04:55:48 -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 24590 invoked from network); 25 Apr 2002 04:55:09 -0000 Received: from unknown (HELO hiauly1.hia.nrc.ca) (132.246.100.193) by sources.redhat.com with SMTP; 25 Apr 2002 04:55:09 -0000 Received: from hiauly1.hia.nrc.ca (localhost [127.0.0.1]) by hiauly1.hia.nrc.ca (8.12.0.Beta16/8.12.0.Beta16) with ESMTP id g3P4t7FN021392; Thu, 25 Apr 2002 00:55:08 -0400 (EDT) Received: (from dave@localhost) by hiauly1.hia.nrc.ca (8.12.0.Beta16/8.12.0.Beta16) id g3P4t7o1021391; Thu, 25 Apr 2002 00:55:07 -0400 (EDT) Message-Id: <200204250455.g3P4t7o1021391@hiauly1.hia.nrc.ca> Subject: Re: PA specifies invalid T_ADAFLAGS To: kenner@vlsi1.ultra.nyu.edu (Richard Kenner) Date: Wed, 24 Apr 2002 22:07:00 -0000 From: "John David Anglin" Cc: gcc@gcc.gnu.org In-Reply-To: <10204250200.AA09502@vlsi1.ultra.nyu.edu> from "Richard Kenner" at Apr 24, 2002 10:00:36 pm MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-SW-Source: 2002-04/txt/msg01284.txt.bz2 > The -mdisable-indexing flag is very much still needed for PA due to > the use of virtual arrays in GNAT. I don't know much about GNAT's virtual arrays. However, as long as they are intended for the access of data and not code, then I think the current backend should work without -mdisable-indexing. This patch fixed a lot of problems in this area: 2000-11-22 John David Anglin * function.h (emit_status): Delete member regno_pointer_flag and rename regno_pointer_flag_length to regno_pointer_align_length. Delete define for REGNO_POINTER_FLAG. * integrate.h (inline_remap): Delete member regno_pointer_flag. Add member x_regno_reg_rtx. * rtl.h (rtx_def): Use frame_related bit to indicate register is a pointer in REG expressions. Define REG_POINTER macro. * alias.c (find_base_value, find_base_term): Use REG_POINTER instead of REGNO_POINTER_FLAG. * combine.c (nonzero_bits, num_sign_bit_copies): Likewise. * emit-rtl.c (gen_reg_rtx): Use regno_pointer_align_length instead of regno_pointer_flag_length. Remove code which refers to regno_pointer_flag. (mark_reg_pointer): Use REG_POINTER. (free_emit_status): Remove code which refers to regno_pointer_flag. (init_emit, mark_emit_status): Likewise. * flow.c (dump_flow_info): Likewise. * function.c (preserve_temp_slots): Likewise. * integrate.c (expand_inline_function, copy_rtx_and_substitute): Use x_regno_reg_rtx instead of regno_pointer_flag for function pointer determination in map. * loop.c (strength_reduce, maybe_eliminate_biv_1): Use REG_POINTER. * predict.c (estimate_probability): Likewise. * regclass.c (record_address_regs, reg_scan_mark_refs): Likewise. * unroll.c (unroll_loop): Use x_regno_reg_rtx instead of regno_pointer_flag for function pointer determination in map. * convex.h (RTX_COSTS): Don't test regno_pointer_flag and use REG_POINTER. * pa.c (hppa_legitimize_address, emit_move_sequence, basereg_operand): Use REG_POINTER. (restore_unscaled_index_insn_codes): Revise comment. Has the PA indexing situation been reviewed since the above patch was installed? Dave -- J. David Anglin dave.anglin@nrc.ca National Research Council of Canada (613) 990-0752 (FAX: 952-6605)