This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: RFA: Change D30V port to use init/mark/free machine_status


On Wed, Jan 10, 2001 at 04:12:55PM -0800, Nick Clifton wrote:
> Hi Mike,
> 
> : No, it causes a segfault in building _muldi:
> 
> Darn - I made missed the fact that the code silently relies upon
> eh_epilogue_sp_ofs being initialised to NULL_RTX.  The patch below
> fixes this by changing the call to xmalloc into a call to xcalloc.
> 
> With this patch applied _muldi builds but the build of libgcc2.a still
> fails, this time in dp-bit.c.  This is due to another of those
> problems with verify_local_live_at_start ().  Is this a known problem
> with the current d30v sources or something that my patch could have
> caused ?
> 
>   dp-bit.c: In function `__unpack_d':
>   dp-bit.c:393: Internal compiler error in print_rtl_and_abort, at flow.c:6514
> 

This is a known problem (at least on the d30v with conditional execution).  The
problem is if you have:

	if (cond) {
		tmp = ...;
		....
	}

where tmp is a register that is not live, flow wants tmp to be live when the
THEN block is converted to COND_EXEC format, and complains.  I would say, check
in the patch.....

-- 
Michael Meissner, Red Hat, Inc.  (GCC group)
PMB 198, 174 Littleton Road #3, Westford, Massachusetts 01886, USA
Work:	  meissner@redhat.com		phone: +1 978-486-9304
Non-work: meissner@spectacle-pond.org	fax:   +1 978-692-4482

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]