From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8978 invoked by alias); 9 Nov 2012 12:29:27 -0000 Received: (qmail 8956 invoked by uid 22791); 9 Nov 2012 12:29:25 -0000 X-SWARE-Spam-Status: No, hits=-5.0 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE X-Spam-Check-By: sourceware.org Received: from mail-pa0-f47.google.com (HELO mail-pa0-f47.google.com) (209.85.220.47) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 09 Nov 2012 12:29:19 +0000 Received: by mail-pa0-f47.google.com with SMTP id fa11so2621380pad.20 for ; Fri, 09 Nov 2012 04:29:19 -0800 (PST) MIME-Version: 1.0 Received: by 10.66.81.138 with SMTP id a10mr31165536pay.53.1352464158877; Fri, 09 Nov 2012 04:29:18 -0800 (PST) Received: by 10.66.246.232 with HTTP; Fri, 9 Nov 2012 04:29:18 -0800 (PST) In-Reply-To: References: Date: Fri, 09 Nov 2012 12:29:00 -0000 Message-ID: Subject: Re: [off-list] Re: [PATCH] Vzeroupper placement/47440 From: Uros Bizjak To: Vladimir Yakovlev Cc: "H.J. Lu" , Igor Zamyatin , gcc-patches@gcc.gnu.org Content-Type: text/plain; charset=ISO-8859-1 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: 2012-11/txt/msg00735.txt.bz2 On Fri, Nov 9, 2012 at 1:18 PM, Vladimir Yakovlev wrote: >> These assert should tell you what is wrong with the control flow. >> Please look at control_flow_insn_p, which condition returns true. > > There is a note after call insn. > > (call_insn:TI 908 35558 50534 1681 (call (mem:QI (symbol_ref:DI > ("_gfortran_stop_string") [flags 0x41] _gfortran_stop_string>) [0 _gfortran_stop_string S1 A8]) > (const_int 0 [0])) huygens.fppized.f90:190 616 {*call} > (expr_list:REG_DEAD (reg:DI 5 di) > (expr_list:REG_DEAD (reg:SI 4 si) > (expr_list:REG_NORETURN (const_int 0 [0]) > (nil)))) > (expr_list:REG_FRAME_RELATED_EXPR (use (reg:DI 5 di)) > (expr_list:REG_BR_PRED (use (reg:SI 4 si)) > (nil)))) > (note 50534 908 909 1681 (expr_list:REG_DEP_TRUE (concat:DI (reg:DI 5 di) > (const_int 0 [0])) > (expr_list:REG_DEP_TRUE (concat:SI (reg:SI 4 si) > (const_int 0 [0])) > (nil))) NOTE_INSN_CALL_ARG_LOCATION) > Huh, this RTX is ignored: --cfgrtl.c-- bool control_flow_insn_p (const_rtx insn) { switch (GET_CODE (insn)) { case NOTE: case CODE_LABEL: case DEBUG_INSN: return false; --cfgrtl.c-- The problem is noreturn call. BTW: What happens if the new pass is put before pro_and_epilogue pass? Uros,