[PATCH] nonzero bits as result of PROMOTE_FUNCTION_RETURN

David S. Miller davem@redhat.com
Fri Dec 31 16:38:00 GMT 1999


   Date: Mon, 6 Dec 99 15:03:58 EST
   From: kenner@vlsi1.ultra.nyu.edu (Richard Kenner)

      1999-11-30  Jakub Jelinek  <jakub@redhat.com>

	      * combine.c (check_promoted_subreg, record_promoted_value): New
	      functions.
	      (combine_instructions): Use it.

       Seems reasonable, and no-one has voiced an object thus far, so
       I've installed this patch.

   I meant to get to this.  I don't understand how the new code relates
   to the stated conditional.  It seems to be processing *all* insns
   and that's confusing to me.

It is not *processing* all insns, rather it is *scanning* the PATTERN
of all of them.

SUBREGs exist inside the PATTERN of insns, so check_promoted_subreg's
toplevel behavior is to walk into the INSN looking for SUBREGs of REGs
with SUBREG_PROMOTED_VAR_P set, and calls record_promoted_value for
each such matching rtx found.  It recursively calls itself walking
through the format string of the RTX to find any and all such SUBREGs.

Is it clearer how this work now?

Later,
David S. Miller
davem@redhat.com



More information about the Gcc-patches mailing list