From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32937 invoked by alias); 22 Jun 2017 20:27:21 -0000 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 Received: (qmail 32914 invoked by uid 89); 22 Jun 2017 20:27:19 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 spammy=H*r:Client, H*r:present, H*r:did X-HELO: mo4-p00-ob.smtp.rzone.de Received: from mo4-p00-ob.smtp.rzone.de (HELO mo4-p00-ob.smtp.rzone.de) (81.169.146.160) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 22 Jun 2017 20:27:17 +0000 X-RZG-AUTH: :LXoWVUeid/7A29J/hMvvT2k715jHQaJercGOZE+TiTS5oCO8h49K9lw= X-RZG-CLASS-ID: mo00 Received: from [192.168.2.100] (dslb-084-058-201-155.084.058.pools.vodafone-ip.de [84.58.201.155]) by smtp.strato.de (RZmta 41.0 DYNA|AUTH) with ESMTPSA id R0872ct5MKRDFfr (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (curve secp521r1 with 521 ECDH bits, eq. 15360 bits RSA)) (Client did not present a certificate); Thu, 22 Jun 2017 22:27:13 +0200 (CEST) Message-ID: <594C27F7.8030908@gjlay.de> Date: Thu, 22 Jun 2017 20:27:00 -0000 From: Georg-Johann Lay User-Agent: Thunderbird 2.0.0.24 (Windows/20100228) MIME-Version: 1.0 To: gcc-patches CC: Denis Chertykov Subject: [patch,avr][ping #1] PR81075: Move jump-tables out of .text References: In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2017-06/txt/msg01716.txt.bz2 Ping #1 http://gcc.gnu.org/ml/gcc-patches/2017-06/msg01029.html Georg-Johann Lay schrieb: > Hi, > > Since PR71151 we have jump-tables in .text so that branches > crossing the tables have longer offsets that needed. > > This moves jump-tables out of test again, but not into > .progmem.gcc_sw_tables like before PR71151, but into > the currently unused but existing .jumptables. > > Since PR63223 there is no restriction on the location > of jump-tables, they can even reside above 128KiB without > problems. > > Also adds -mlog=insn_addresses to dump insn addresses > as asm comments before respective instruction. > > The patch implements ASM_OUTPUT_ADDR_VEC so that avr.c > gains full control over the table generation. > > Tested on ATmega2560. > > Ok to apply? > > Johann > > > gcc/ > Move jump-tables out of .text again. > > PR target/81075 > * config/avr/avr.c (ASM_OUTPUT_ADDR_VEC_ELT): Remove function. > (ASM_OUTPUT_ADDR_VEC): New function. > (avr_adjust_insn_length) [JUMP_TABLE_DATA_P]: Return 0. > (avr_final_prescan_insn) [avr_log.insn_addresses]: Dump > INSN_ADDRESSes as asm comment. > * config/avr/avr.h (JUMP_TABLES_IN_TEXT_SECTION): Adjust comment. > (ASM_OUTPUT_ADDR_VEC_ELT): Remove define. > (ASM_OUTPUT_ADDR_VEC): Define to avr_output_addr_vec. > * config/avr/avr.md (*tablejump): Adjust comment. > * config/avr/elf.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove. > * config/avr/avr-log.c (avr_log_set_avr_log) : > New detail. > * config/avr/avr-protos.h (avr_output_addr_vec_elt): Remove proto. > (avr_output_addr_vec): New proto. > (avr_log_t) : New field. >