From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12314 invoked by alias); 29 Apr 2011 20:56:13 -0000 Received: (qmail 12306 invoked by uid 22791); 29 Apr 2011 20:56:12 -0000 X-SWARE-Spam-Status: No, hits=-6.3 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,SPF_HELO_PASS,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 29 Apr 2011 20:55:54 +0000 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p3TKtquc001347 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 29 Apr 2011 16:55:53 -0400 Received: from [127.0.0.1] (ovpn-113-53.phx2.redhat.com [10.3.113.53]) by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id p3TKtoOp001365; Fri, 29 Apr 2011 16:55:50 -0400 Message-ID: <4DBB25D5.3060605@redhat.com> Date: Fri, 29 Apr 2011 21:01:00 -0000 From: Jason Merrill User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.15) Gecko/20110307 Fedora/3.1.9-0.39.b3pre.fc14 Lightning/1.0b2 Thunderbird/3.1.9 MIME-Version: 1.0 To: Jakub Jelinek CC: Richard Henderson , Cary Coutant , gcc-patches@gcc.gnu.org, Roland McGrath , Jan Kratochvil , Tom Tromey , Mark Wielaard Subject: Re: [PATCH] Typed DWARF stack References: <20110325113237.GY18914@tyan-ft48-01.lab.bos.redhat.com> <20110416081117.GV17079@tyan-ft48-01.lab.bos.redhat.com> In-Reply-To: <20110416081117.GV17079@tyan-ft48-01.lab.bos.redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2011-04/txt/msg02368.txt.bz2 On 04/16/2011 04:11 AM, Jakub Jelinek wrote: > + case dw_val_class_const_double: > + { > + unsigned HOST_WIDE_INT first, second; > + l = 2 * HOST_BITS_PER_WIDE_INT / HOST_BITS_PER_CHAR; > + > + dw2_asm_output_data (1, l, NULL); > + if (WORDS_BIG_ENDIAN) > + { > + first = val2->v.val_double.high; > + second = val2->v.val_double.low; > + } > + else > + { > + first = val2->v.val_double.low; > + second = val2->v.val_double.high; > + } > + dw2_asm_output_data (HOST_BITS_PER_WIDE_INT / HOST_BITS_PER_CHAR, > + first, NULL); > + dw2_asm_output_data (HOST_BITS_PER_WIDE_INT / HOST_BITS_PER_CHAR, > + second, NULL); > + } How about moving the 2* into the first call to dw2_asm_output_data so that the later calls can just use 'l'? > + unsigned r = val1->v.val_unsigned; > + unsigned long o = get_base_type_offset (val2->v.val_die_ref.die); > + if (for_eh_or_skip>= 0) > + r = DWARF2_FRAME_REG_OUT (r, for_eh_or_skip); > + gcc_assert (size_of_uleb128 (r) > + == size_of_uleb128 (val1->v.val_unsigned)&& o); Maybe move this assert inside the if? > + /* Sort by increasing usage count, as when readding the last "reading" OK with these changes. Jason