From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3486 invoked by alias); 24 May 2012 21:53:54 -0000 Received: (qmail 3478 invoked by uid 22791); 24 May 2012 21:53:53 -0000 X-SWARE-Spam-Status: No, hits=-2.6 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED X-Spam-Check-By: sourceware.org Received: from mel.act-europe.fr (HELO mel.act-europe.fr) (194.98.77.210) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 24 May 2012 21:53:41 +0000 Received: from localhost (localhost [127.0.0.1]) by filtered-smtp.eu.adacore.com (Postfix) with ESMTP id 58B63290090; Thu, 24 May 2012 23:53:46 +0200 (CEST) Received: from mel.act-europe.fr ([127.0.0.1]) by localhost (smtp.eu.adacore.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id whHWKT-6Tkxl; Thu, 24 May 2012 23:53:46 +0200 (CEST) Received: from [192.168.0.10] (bny92-4-82-228-126-192.fbx.proxad.net [82.228.126.192]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by mel.act-europe.fr (Postfix) with ESMTP id 650E429008E; Thu, 24 May 2012 23:53:45 +0200 (CEST) Subject: ping x2 : latch mem to reg before multi-access in convert_move Mime-Version: 1.0 (Apple Message framework v1278) Content-Type: text/plain; charset=us-ascii From: Olivier Hainque In-Reply-To: Date: Thu, 24 May 2012 21:53:00 -0000 Cc: Olivier Hainque , rth@redhat.com Content-Transfer-Encoding: 7bit Message-Id: <9F84391B-C2F2-4F29-89D9-7321597380BE@adacore.com> References: To: GCC Patches 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-05/txt/msg01668.txt.bz2 Hello, Ping # 2 for http://gcc.gnu.org/ml/gcc-patches/2012-04/msg00298.html Thanks in advance, Olivier (sorry for a possible empty version of that message sent by mistake a few minutes ago) On Apr 5, 2012, at 17:30 , Olivier Hainque wrote: ... > With a previous version of the compiler, we happened to get there > pretty easily with MEM_P(from) and the multi-insn sequence producing > multiple memory references to the source. > > The original problem we had with this was the introduction of an > artificial race condition in addition to the potential performance > impact. > While our original testcases don't expose the problem with current > versions of the compiler, the issue appears to remain latent and the > change still looks sensible in any case. ... > * expr.c (convert_move): Latch mem integer inputs into a > register before expanding a multi-instructions sequence. > > >