From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 12B54800A3 for ; Thu, 22 Dec 2016 09:40:03 +0100 (CET) Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=mshinwell@janestreet.com; spf=Pass smtp.mailfrom=mshinwell@janestreet.com; spf=None smtp.helo=postmaster@mxout1.mail.janestreet.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of mshinwell@janestreet.com) identity=pra; client-ip=38.105.200.78; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="mshinwell@janestreet.com"; x-sender="mshinwell@janestreet.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of mshinwell@janestreet.com designates 38.105.200.78 as permitted sender) identity=mailfrom; client-ip=38.105.200.78; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="mshinwell@janestreet.com"; x-sender="mshinwell@janestreet.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mxout1.mail.janestreet.com) identity=helo; client-ip=38.105.200.78; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="mshinwell@janestreet.com"; x-sender="postmaster@mxout1.mail.janestreet.com"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3AiNTJABBH8yeOzTs+i0+1UyQJP3N1i/DPJgcQr6Af?= =?us-ascii?q?oPdwSP75p8bcNUDSrc9gkEXOFd2CrakV0KyG6Ou5Az1Ioc7Y9itdINoUD15NoP?= =?us-ascii?q?5VtjJjKfbNMVf8Iv/uYn5yN+V5f3ghwUuGN1NIEt31fVzYry76xzcTHhLiKVg9?= =?us-ascii?q?fbytScb6xv663OGq+pDVfx4AxH/kOeszf12KqlD4ssAXh8NMMKcqwRuB9nJMcu?= =?us-ascii?q?VQg21yJEmYnz7469ex8p8l+CNV7aEP7clFBIDzZadwdrxZCisrN2R9sMjwtRjF?= =?us-ascii?q?UgaL4lMeW2MbiQZSDgXZqhr9W8Gi4WPBquNh1XzCboXNRrcuVGHntv8zRQ=3D?= =?us-ascii?q?=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0A1AAARkFtYfU7IaSZeGQEBAQEBAQEBA?= =?us-ascii?q?QEBBwEBAQEBFAEBAQEBAQEBAQEBBwEBAQEBgwoBAQEBAYIDB448lV6XHYYiAoF?= =?us-ascii?q?fB0MQAQEBAQEBAQEBAQESAQEJFglNgjMEARUBBIIXAQUjBBkBATIFAQ8LCw0CA?= =?us-ascii?q?iYCAiISAQUBHAYTiGwDnDw/ixpogWw8gwsBAQWHcAEBAQEBAQEDAQEBAQEBAQE?= =?us-ascii?q?BFwgSeYUrhFmHRIJdmnyROZBRjiSCSRQegRQ2gXgSA4NEDxyBXXKHC4FPAQEB?= X-IPAS-Result: =?us-ascii?q?A0A1AAARkFtYfU7IaSZeGQEBAQEBAQEBAQEBBwEBAQEBFAE?= =?us-ascii?q?BAQEBAQEBAQEBBwEBAQEBgwoBAQEBAYIDB448lV6XHYYiAoFfB0MQAQEBAQEBA?= =?us-ascii?q?QEBAQESAQEJFglNgjMEARUBBIIXAQUjBBkBATIFAQ8LCw0CAiYCAiISAQUBHAY?= =?us-ascii?q?TiGwDnDw/ixpogWw8gwsBAQWHcAEBAQEBAQEDAQEBAQEBAQEBFwgSeYUrhFmHR?= =?us-ascii?q?IJdmnyROZBRjiSCSRQegRQ2gXgSA4NEDxyBXXKHC4FPAQEB?= X-IronPort-AV: E=Sophos;i="5.33,387,1477954800"; d="scan'208";a="251148793" Received: from mxout1.mail.janestreet.com ([38.105.200.78]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 Dec 2016 09:40:00 +0100 Received: from tot-qpr-mailcore2.delacy.com ([172.27.56.106] helo=tot-qpr-mailcore2) by mxout1.mail.janestreet.com with esmtps (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (Exim 4.84_2) (envelope-from ) id 1cJyut-0004nU-3B for caml-list@inria.fr; Thu, 22 Dec 2016 03:39:59 -0500 X-JS-Flow: external X-JS-Scanner-attachment: (ok) No attachments Received: by tot-qpr-mailcore2 with JS-mailcore (0.1) (envelope-from ) id BYW5Ff-AAACcj-BX; 2016-12-22 03:39:59.045158-05:00 Received: from mail-ua0-f198.google.com ([209.85.217.198]) by mxgoog1.mail.janestreet.com with esmtps (TLSv1.2:AES128-GCM-SHA256:128) (Exim 4.84_2) (envelope-from ) id 1cJyut-0003eo-01 for caml-list@inria.fr; Thu, 22 Dec 2016 03:39:59 -0500 Received: by mail-ua0-f198.google.com with SMTP id y22so45735339uay.0 for ; Thu, 22 Dec 2016 00:39:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=grF73nI8egOBKSb3C6x/bPfQOT4BkmtiDBaCdg1uohM=; b=jAcKgg+odk1gun8uG/R8txLich9o5AJV/KkFdTCqfC3FSTtohe1ZYUJ4OrJIUs1VDq 7q+IPGzAEO8EqdJU9SDoC0Il16N0cIapyrsaQMaywsxTTszq+wsgKDrJ9IqqOjpuyuNF Mm3/gQH5HJ5yx1ObIFXROF5rG/Nw+EaaQNVvw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=grF73nI8egOBKSb3C6x/bPfQOT4BkmtiDBaCdg1uohM=; b=pFM9K5zXO+eG2GonWHoxt82PG9OWRnzw+ysmlWWSFt8amnZSA6QRKmg4t4KVC0Mmvd iINypJTX5kyOJVC18QLzzdNwd6OuARwB5EMVtWpq3rM4K/38XwPhJaW6g1eXlsulj2FP 6FiiJyhY6FgV+ineKs8ySt27UYQIuj3O2eOM3he4QiQc0yzq3PguseFFrNdmBGxk8EFj FlFtTe0JVVbuRftrLi7PWo6C80cnF+8n5rNT9VthOG0rjhLZmfFYguon+IDBX5iCi+pV Am8d4Ss7DG5usO5MMRZmvKXHyTJR72C0cFEVmUPBtqLD6uBLHT0w4mKjx/8+nx+8gnbQ VGMg== X-Gm-Message-State: AIkVDXLRM8fBaDf+iYt2f421aX9W5YGm4M5U8RPrSc1x27PS9Yq77wATeq5MMCyfNCKfH1IHwMThay5K1SdjoqEblbgqQcZPmedNMLORkDA0fmVk3o3PGwNjFrUiOUcwhKdEjlZ5Mfs6KzNpfTo1 X-Received: by 10.176.85.83 with SMTP id u19mr5587015uaa.82.1482395998487; Thu, 22 Dec 2016 00:39:58 -0800 (PST) X-Received: by 10.176.85.83 with SMTP id u19mr5587007uaa.82.1482395998297; Thu, 22 Dec 2016 00:39:58 -0800 (PST) MIME-Version: 1.0 Received: by 10.103.117.136 with HTTP; Thu, 22 Dec 2016 00:39:57 -0800 (PST) In-Reply-To: References: <7bc766a2-d460-524b-35ca-89609a34b719@tu-berlin.de> <1482148297.4629.19.camel@gerd-stolpmann.de> <0F7D3B1B3C4B894D824F5B822E3E5A172CFB9581@IRSMSX102.ger.corp.intel.com> <1482165686.4629.28.camel@gerd-stolpmann.de> <1506c421-618a-28d4-9a7b-7ba49baf47fa@lexifi.com> <45f9251b-c362-ac9f-fa71-07ab42087c90@lexifi.com> <1482337872.4629.108.camel@gerd-stolpmann.de> From:Mark Shinwell Date: Thu, 22 Dec 2016 08:39:57 +0000 Message-ID: To:Alain Frisch Cc:Gabriel Scherer , Yotam Barnoy , Gerd Stolpmann , =?UTF-8?B?RnLDqWTDqXJpYyBCb3Vy?= , "Soegtrop, Michael" , =?UTF-8?Q?Christoph_H=C3=B6ger?= , "caml-list@inria.fr" Content-Type: text/plain; charset=UTF-8 X-JS-Processed-by: mailcore X-Validation-by: mshinwell@janestreet.com Subject: Re: [Caml-list] Closing the performance gap to C I'm not sure I have an answer to that question at the moment---I suggest taking this item to a smaller group for discussion. I think we've mooted the idea of trying to have some variant of Cmmgen that did the Clambda to Cmm translation without doing e.g. the unboxing part (which Flambda would already have done). However, something like that isn't entirely straightforward, as there are various Cmm -> Cmm rewrites that are currently done by Cmmgen and we probably need to preserve. I'm pretty uncertain about how to treat those at the moment; I think it would require some amount of experimentation. Something tangentially related is that we should be able to get to the stage fairly soon (within 2017 I think) where Flambda only generates the subset of the Cmm language that is in SSA form. It doesn't seem to me that keeping Clambda in the Flambda pipeline is actually a bad thing; it forms quite a nice progression. It would however be nice to remove the Un_anf pass which is only there to satisfy specific pattern-matches in the Cmmgen code, and slows down compilation. Mark On 21 December 2016 at 17:43, Alain Frisch wrote: > On 21/12/2016 17:56, Mark Shinwell wrote: >> >> I agree with Gabriel, but, we are planning substantial work within >> Flambda during the coming year to implement unboxing transformations >> therein. I do think we should spend a little time, before diving into >> this particular issue, convincing ourselves that these two tracks of >> work are going to be complementary rather than conflicting. > > > Dealing with boxing/unboxing in flambda rather than keeping it at the cmm > level certainly seems the way to go in the context of the flambda pipeline. > This will probably need to touch the definition of clambda (to bring it > closer to cmm) and thus cmmgen. Do you believe this is compatible with > continuing sharing clambda and cmmgen between the flambda and non-flambda > pipeline? At some point, it might be more natural, or just required, to > compile flambda directly to cmm without going through clambda. What do you > think? > > If the flambda pipeline targets cmm directly without going through > clambda/cmmgen, the approach discussed here (for the non-flambda case) > should not interact too much with the flambda version. As far as I can > tell, they would mostly share the plumbing required to pass more info from > typedtree to lambda. > > > Alain