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]
Other format: [Raw text]

RE: [PATCH] DF_DU_CHAIN | DF_UD_CHAIN flags in new-ra


Hi,

On Wed, 8 Oct 2003, Mukta Punjani, Noida wrote:

> Eg while rematerializing, it may be
> possible to remat of selective defs (which satisfy the remat criteria) and
> not all defs in a web

Have you a feeling how common this is?  Only remat one def needs checking
if the use to which remat should be applied really only depends on that
one def.  I.e. if one reaching def is not rematerializable this use can't
be remat in this way.  Hence I would think that the vast majority where
your optimization applied anyway only catches either webs which have only
one def overall (for which the information in the struct web is exactly
the ud/du-chain), or to webs where all defs are the same structure wise.

> 		..................................
> 		Web:		def1  <-- Remat
> 				use 11
> 				use 12
>
> 				def2	<-- Not remat
> 				use21
> 				use22

For this to be one web, there needs to be a jump from the first chunk
after def2.

> Even if, such def and its corresponding use information is generated during
> some intermediate processing level(functions live_in(), live_out() etc.), I
> cannot use it until this info is available for all the webs after their
> creation.

Well, this is no different with the info from df.*.  It also needs to be
generated before it can be used ;)

> The above patch seems to fix the use-def chain consistency check abort as
> sighted in this thread.
> http://gcc.gnu.org/ml/gcc/2003-09/msg00513.html.
> The patch reallocates memory keeping in view the changed instruction set in
> the incremental passes of register allocator.

And I asked if there are cases where it actually makes the defs and
uses arrays smaller than they were, and why this should fix anything.
I.e. I think it doesn't fix, but somehow hides the real error.

> >better format for most purposes (namely, that the du/ud chains already are
> >connected).
>
> I could not locate it in the existing infrastructure. Can you please
> highlight such kind of information in Webs ?

Indeed the ud/du chains are already connected.  I.e. the information which
defs reach a use are thrown away each round.


Ciao,
Michael.


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