public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "vries at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/104440] nvptx: FAIL: gcc.c-torture/execute/pr53465.c  execution test
Date: Thu, 17 Feb 2022 07:58:35 +0000	[thread overview]
Message-ID: <bug-104440-4-Js7ll70Mqu@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-104440-4@http.gcc.gnu.org/bugzilla/>

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104440

--- Comment #10 from Tom de Vries <vries at gcc dot gnu.org> ---
A good thing to note at this point: why doesn't init-regs work here?

The pass works per insn, and when hitting the insn with the problematic use:
...
(gdb) call debug_rtx (insn)
(insn 18 17 19 4 (set (reg/v:SI 30 [ c ])
        (reg/v:SI 26 [ d ])) 6 {*movsi_insn}
     (expr_list:REG_DEAD (reg/v:SI 26 [ d ])
        (nil)))
...
and dealing with the use of reg 26 we test:
...
              /* A use is MUST uninitialized if it reaches the top of           
                 the block from the inside of the block (the lr test)           
                 and no def for it reaches the top of the block from            
                 outside of the block (the ur test).  */
              if (bitmap_bit_p (lr, regno)
                  && (!bitmap_bit_p (ur, regno)))
...
where:
...
      bitmap lr = DF_LR_IN (bb);
      bitmap ur = DF_LIVE_IN (bb);
...

But we have:
...
(gdb) p bitmap_bit_p (lr, regno)
$1 = true
(gdb) p bitmap_bit_p (ur, regno)
$2 = true
...
so the test fails.

In terms of the rtl-dump, the insn is here:
...
(code_label 43 42 17 4 4 (nil) [1 uses])
(note 17 43 18 4 [bb 4] NOTE_INSN_BASIC_BLOCK)
(insn 18 17 19 4 (set (reg/v:SI 30 [ c ])
        (reg/v:SI 26 [ d ])) 6 {*movsi_insn}
     (expr_list:REG_DEAD (reg/v:SI 26 [ d ])
        (nil)))
...
and the corresponding df info is:
...
( 7 3 )->[4]->( 8 5 )
;; bb 4 artificial_defs: { }
;; bb 4 artificial_uses: { u-1(1){ }u-1(2){ }u-1(3){ }}
;; lr  in        1 [%stack] 2 [%frame] 3 [%args] 25 26 31 32 52
;; lr  use       1 [%stack] 2 [%frame] 3 [%args] 25 26
;; lr  def       26 30 38
;; live  in      1 [%stack] 2 [%frame] 3 [%args] 25 26 31 32 52
;; live  gen     26 30 38
;; live  kill
;; lr  out       1 [%stack] 2 [%frame] 3 [%args] 25 26 30 31 32 52
;; live  out     1 [%stack] 2 [%frame] 3 [%args] 25 26 30 31 32 52
...

In short, init-regs doesn't work for this example, because reg 26 is defined on
some incoming path, and ptx (or the JIT implementation) needs it to be defined
on all incoming paths.

  parent reply	other threads:[~2022-02-17  7:58 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-08  8:06 [Bug target/104440] New: " vries at gcc dot gnu.org
2022-02-08  8:07 ` [Bug target/104440] " vries at gcc dot gnu.org
2022-02-08  8:09 ` pinskia at gcc dot gnu.org
2022-02-08  8:11 ` pinskia at gcc dot gnu.org
2022-02-08  8:16 ` vries at gcc dot gnu.org
2022-02-08  8:22 ` pinskia at gcc dot gnu.org
2022-02-08  9:25 ` rguenth at gcc dot gnu.org
2022-02-08  9:26 ` rguenth at gcc dot gnu.org
2022-02-17  7:20 ` vries at gcc dot gnu.org
2022-02-17  7:37 ` vries at gcc dot gnu.org
2022-02-17  7:58 ` vries at gcc dot gnu.org [this message]
2022-02-20 22:48 ` vries at gcc dot gnu.org
2022-02-21 15:51 ` cvs-commit at gcc dot gnu.org
2022-02-21 15:52 ` vries at gcc dot gnu.org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-104440-4-Js7ll70Mqu@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).