From patchwork Sat Nov 23 19:22:50 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Stump X-Patchwork-Id: 293696 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id DB49F2C00D1 for ; Sun, 24 Nov 2013 06:36:16 +1100 (EST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :content-type:subject:date:message-id:cc:to:mime-version; q=dns; s=default; b=gz4x3eH1NXb3D+Qo8TWU/cdwpKJfpPszHLsJ22Xs3pn9fe6g7B K3FhuFwmN8/96KhLd5V5WzWRjMN1JcQ2fg1JoLeaJ2q72e8IcgCKJKH5eImdCLJ2 AnP2yXuvhkgr6w3oNaCb0iiQiKiEZVLjOiYIkv7byLQRCXNa7ZWwb/QWQ= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :content-type:subject:date:message-id:cc:to:mime-version; s= default; bh=jSIYz6/aQfFxYPHd+ILPYb4/wuM=; b=kXDpbrH3XDsmiTh7ImGm leIwTaoCB7gOUfIxwJZFNqpkdBcQFwJ/sT8nnswI1yOzFxq2ViCSNbIvWhuAVE+p VD7CG6JxcMdAUsGlRhwU2fQiLbRltSozKYBS4wyH5OZorY6LiXh4rWZ7+rw0ldf8 ICPmO/8mKG+XM3S6OC3uLVU= Received: (qmail 2492 invoked by alias); 23 Nov 2013 19:22:52 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 2466 invoked by uid 89); 23 Nov 2013 19:22:51 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.2 required=5.0 tests=AWL, BAYES_50, FREEMAIL_FROM, RDNS_NONE, SPF_PASS autolearn=no version=3.3.2 X-HELO: qmta13.emeryville.ca.mail.comcast.net Received: from Unknown (HELO qmta13.emeryville.ca.mail.comcast.net) (76.96.27.243) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 23 Nov 2013 19:22:51 +0000 Received: from omta20.emeryville.ca.mail.comcast.net ([76.96.30.87]) by qmta13.emeryville.ca.mail.comcast.net with comcast id t7GR1m0021smiN4AD7NqN0; Sat, 23 Nov 2013 19:22:50 +0000 Received: from up.mrs.kithrup.com ([24.4.193.8]) by omta20.emeryville.ca.mail.comcast.net with comcast id t7NV1m00v0BKwT48g7Nq7n; Sat, 23 Nov 2013 19:22:50 +0000 From: Mike Stump Subject: wide-int, sched Date: Sat, 23 Nov 2013 11:22:50 -0800 Message-Id: <533804F2-1FEA-40FF-A3DE-DFC670CE0D14@comcast.net> Cc: Jeff Law , Kenneth Zadeck To: "gcc-patches@gcc.gnu.org Patches" Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\)) X-IsSubscribed: yes Richi has asked the we break the wide-int patch so that the individual port and front end maintainers can review their parts without have to go through the entire patch. This patch covers the scheduler code. Ok? * sched-vis.c (print_value): Handle CONST_WIDE_INT. * sel-sched-ir.c (lhs_and_rhs_separable_p): Update comment. diff --git a/gcc/sched-vis.c b/gcc/sched-vis.c index a965c4d..8fa29bf 100644 --- a/gcc/sched-vis.c +++ b/gcc/sched-vis.c @@ -428,6 +428,23 @@ print_value (pretty_printer *pp, const_rtx x, int verbose) pp_scalar (pp, HOST_WIDE_INT_PRINT_HEX, (unsigned HOST_WIDE_INT) INTVAL (x)); break; + + case CONST_WIDE_INT: + { + const char *sep = "<"; + int i; + for (i = CONST_WIDE_INT_NUNITS (x) - 1; i >= 0; i--) + { + pp_string (pp, sep); + sep = ","; + sprintf (tmp, HOST_WIDE_INT_PRINT_HEX, + (unsigned HOST_WIDE_INT) CONST_WIDE_INT_ELT (x, i)); + pp_string (pp, tmp); + } + pp_greater (pp); + } + break; + case CONST_DOUBLE: if (FLOAT_MODE_P (GET_MODE (x))) { diff --git a/gcc/sel-sched-ir.c b/gcc/sel-sched-ir.c index 7dfc703..0db84e6 100644 --- a/gcc/sel-sched-ir.c +++ b/gcc/sel-sched-ir.c @@ -1141,10 +1141,10 @@ lhs_and_rhs_separable_p (rtx lhs, rtx rhs) if (lhs == NULL || rhs == NULL) return false; - /* Do not schedule CONST, CONST_INT and CONST_DOUBLE etc as rhs: no point - to use reg, if const can be used. Moreover, scheduling const as rhs may - lead to mode mismatch cause consts don't have modes but they could be - merged from branches where the same const used in different modes. */ + /* Do not schedule constants as rhs: no point to use reg, if const + can be used. Moreover, scheduling const as rhs may lead to mode + mismatch cause consts don't have modes but they could be merged + from branches where the same const used in different modes. */ if (CONSTANT_P (rhs)) return false;