From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19521 invoked by alias); 16 Apr 2008 09:10:13 -0000 Received: (qmail 19510 invoked by uid 22791); 16 Apr 2008 09:10:10 -0000 X-Spam-Check-By: sourceware.org Received: from wf-out-1314.google.com (HELO wf-out-1314.google.com) (209.85.200.172) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 16 Apr 2008 09:09:53 +0000 Received: by wf-out-1314.google.com with SMTP id 28so2583515wfc.14 for ; Wed, 16 Apr 2008 02:09:50 -0700 (PDT) Received: by 10.143.166.12 with SMTP id t12mr1736741wfo.334.1208336990157; Wed, 16 Apr 2008 02:09:50 -0700 (PDT) Received: by 10.143.34.6 with HTTP; Wed, 16 Apr 2008 02:09:50 -0700 (PDT) Message-ID: <5504ae600804160209v77a2c46y2adc4a181b863ad2@mail.gmail.com> Date: Wed, 16 Apr 2008 10:52:00 -0000 From: "=?GB2312?B?1KzBos3+?=" To: gcc-help@gcc.gnu.org, gcc@gcc.gnu.org Subject: A live analysis problem on gcc4.2.3 MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Mailing-List: contact gcc-help-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-help-owner@gcc.gnu.org X-SW-Source: 2008-04/txt/msg00216.txt.bz2 I use propagate_one_insn to get the current insn's live in. But it seems wrong when propagate. Before propagate one insn, there is no reg111 in live out and current insn def the reg111, how can reg111 appear in live in after propagate??? My flag to propagate is: flags = PROP_DEATH_NOTES; flags &= ~(PROP_SCAN_DEAD_CODE | PROP_SCAN_DEAD_STORES | PROP_KILL_DEAD_CODE); This is the dump: current insn: (insn/f 43 42 44 2 (set (reg/f:DI 111 r35) (reg/f:DI 12 r12)) -1 (nil) (nil)) before propagate, insn live in: first = 0x600000000011b0b0 current = 0x600000000011b0b0 indx = 0 0x600000000011b0b0 next = 0x600000000011b0d8 prev = (nil) indx = 0 bits = { 0 1 12 } 0x600000000011b0d8 next = (nil) prev = 0x600000000011b0b0 indx = 2 bits = { 320 328 } before propagate, insn live out: first = 0x600000000011b000 current = 0x600000000011b000 indx = 0 0x600000000011b000 next = 0x600000000011b028 prev = (nil) indx = 0 bits = { 0 1 12 } 0x600000000011b028 next = (nil) prev = 0x600000000011b000 indx = 2 bits = { 320 328 } after propagate, insn live in: first = 0x600000000011b0b0 current = 0x600000000011b0b0 indx = 0 0x600000000011b0b0 next = 0x600000000011b0d8 prev = (nil) indx = 0 bits = { 0 1 12 111 } 0x600000000011b0d8 next = (nil) prev = 0x600000000011b0b0 indx = 2 bits = { 320 328 } after propagate, insn live out: first = 0x600000000011b000 current = 0x600000000011b000 indx = 0 0x600000000011b000 next = 0x600000000011b028 prev = (nil) indx = 0 bits = { 0 1 12 } 0x600000000011b028 next = (nil) prev = 0x600000000011b000 indx = 2 bits = { 320 328 }