Confused about rtl generation

Richard Kenner kenner@vlsi1.ultra.nyu.edu
Fri Jun 27 15:15:00 GMT 2003


    Let me make sure I understand this... If I call recog() just after the
    initial RTL generation pass (around when .00.rtl is written and prior
    to optimizations etc.) this routine should fill in the insn ids with
    the same code as the insn that was used to create the rtl originally?

No.

(1) recog returns an insn code, but doesn't set anything to it.

(2) The insn code returned is that of the first pattern in the MD file that
    matches the insn.  This may or may not be the pattern that was used to
    create it.  It is quite common to have a define_expand to create an insn
    and then have an "unnamed" (meaning no name or a name starting with a '*')
    define_insn to match it.  Nearly all the mov patterns on most machines
    work this way, for example.



More information about the Gcc mailing list