--- Comment #32 from jakub at gcc dot gnu dot org 2007-08-30 08:27 ---
Subject: Bug 32758
Author: jakub
Date: Thu Aug 30 08:27:33 2007
New Revision: 127923
URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127923
Log:
PR middle-end/32758
* dce.c (dce_process_block):
--- Comment #33 from jakub at gcc dot gnu dot org 2007-08-30 08:43 ---
Fixed.
--
jakub at gcc dot gnu dot org changed:
What|Removed |Added
Status|ASSIGNED
--- Comment #19 from jakub at gcc dot gnu dot org 2007-08-29 08:07 ---
Binary search among the routines in java_raw_api.c with -fno-inline shows
the noclass testcase fails if either ffi_java_raw_call or
ffi_java_translate_args
is compiled with -O2 -fdce, if both are compiled with -O2
--- Comment #20 from jakub at gcc dot gnu dot org 2007-08-29 08:52 ---
typedef struct {
int abi;
unsigned nargs;
void **arg_types;
void *rtype;
unsigned bytes;
unsigned flags;
} ffi_cif;
void ffi_java_raw_to_ptrarray (ffi_cif *cif, void *raw, void **args);
void
--- Comment #21 from jakub at gcc dot gnu dot org 2007-08-29 11:18 ---
The major difference between say i?86 or x86_64 and ppc here is that
on the former two the hard frame pointer is actually visibly, not just
artificially, used when restoring the stack pointer. ppc restores the
stack
--- Comment #22 from jakub at gcc dot gnu dot org 2007-08-29 11:41 ---
Created an attachment (id=14132)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14132action=view)
gcc43-pr32758.patch
Here is what I will try to regtest (already verified it fixes the testcase).
Alternatively,
--- Comment #23 from paolo dot bonzini at lu dot unisi dot ch 2007-08-29
11:47 ---
Subject: Re: [4.3 Regression] ecj1 hangs
df_simulate_one_insn_forwards and df_simulate_one_insn_backwards
(why we have the former when nothing ever uses it?) both call
df_simulate_fixup_sets to fix
--- Comment #24 from paolo dot bonzini at lu dot unisi dot ch 2007-08-29
12:15 ---
Subject: Re: [4.3 Regression] ecj1 hangs
Here is what I will try to regtest (already verified it fixes the testcase).
This is wrong, because local_live changes during execution of
dce_process_block.
--- Comment #25 from jakub at gcc dot gnu dot org 2007-08-29 13:26 ---
Unfortunately it breaks e.g. memcpy-chk.c, simplified testcase here:
extern void abort (void);
typedef __SIZE_TYPE__ size_t;
extern void *memcpy (void *, const void *, size_t);
extern volatile int chk_fail_allowed;
--- Comment #26 from jakub at gcc dot gnu dot org 2007-08-29 13:56 ---
Apparently dce is the only user of df_simulate_* which at the start of the
basic block compares the resulting bitmap with DF_LR_IN. All other users
of these interfaces don't do that (ifcvt, rtl-factoring,
--- Comment #27 from bonzini at gnu dot org 2007-08-29 14:11 ---
Not all basic blocks have all 4 x86_64 regular_block_artificial_regs registers
set in DF_LR_IN and so oring this in causes infinite loop, as
process_dce_block
always returns something changed.
If so, your previous
--- Comment #28 from bonzini at gnu dot org 2007-08-29 14:14 ---
Apparently dce is the only user of df_simulate_* which at the start of the
basic block compares the resulting bitmap with DF_LR_IN.
Yes. The other two don't get infinite loops from their doing the wrong thing;
they
--- Comment #29 from bonzini at gnu dot org 2007-08-29 14:16 ---
(When I said post your first patch, I meant the first one from comment #26;
if my fixing the mess works, it'll not be necessary anymore).
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32758
--- Comment #30 from zadeck at naturalbridge dot com 2007-08-29 15:34
---
Subject: Re: [4.3 Regression] ecj1 hangs
bonzini at gnu dot org wrote:
--- Comment #29 from bonzini at gnu dot org 2007-08-29 14:16 ---
(When I said post your first patch, I meant the first one from
--- Comment #31 from andreast at gcc dot gnu dot org 2007-08-29 20:17
---
Thanks Jakub!
With this patch: http://gcc.gnu.org/ml/gcc-patches/2007-08/msg02111.html
you not only brought back the testsuite passes, you also made the bytecode
compilation work again on ppc-linux and
--- Comment #14 from aph at gcc dot gnu dot org 2007-08-28 11:44 ---
Is this with -fno-strict-aliasing?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32758
--- Comment #15 from rguenth at gcc dot gnu dot org 2007-08-28 12:16
---
-O1 doesn't enable -fstrict-aliasing, only -O2 does.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32758
--- Comment #16 from andreast at gcc dot gnu dot org 2007-08-28 18:44
---
Volumes/development/gcc/head/objdir/./gcc/xgcc
-B/Volumes/development/gcc/head/objdir/./gcc/
-B/Volumes/development/gcc/head/testbin/powerpc-apple-darwin8.10.0/bin/
--- Comment #17 from jakub at gcc dot gnu dot org 2007-08-28 19:38 ---
I can reproduce this on ppc32-linux, working on a self-contained reproducer.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32758
--- Comment #18 from andreast at gcc dot gnu dot org 2007-08-28 21:00
---
Adding -fno-dce at -O1/O2 helps passing the failing test cases mentioned in
comment #8 on ppc-linux and ppc-darwin.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32758
--- Comment #12 from andreast at gcc dot gnu dot org 2007-08-27 07:57
---
Created an attachment (id=14120)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14120action=view)
Preprocessed source at O1 java_raw_api
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32758
--- Comment #13 from andreast at gcc dot gnu dot org 2007-08-27 07:58
---
Created an attachment (id=14121)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14121action=view)
Assembly output from preprocessing the java_raw_api at O1
--
--- Comment #11 from andreast at gcc dot gnu dot org 2007-08-26 21:28
---
compiling only java_raw_api.c with -O0 succeeds as well. So let us concentrate
on this one. Speaking for darwin-ppc.
Will retry tomorrow on ppc-linux.
--
andreast at gcc dot gnu dot org changed:
--- Comment #10 from andreast at gcc dot gnu dot org 2007-08-24 21:05
---
if libffi is compiled with -O0 the tests pass. If compiled with -O1/O2 they
fail.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32758
--
pinskia at gcc dot gnu dot org changed:
What|Removed |Added
CC||pinskia at gcc dot gnu dot
|
25 matches
Mail list logo