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