James Greenhalgh <[email protected]> writes:
> -For the generate pass, only the names of the insns matter, from either a
> -named @code{define_insn} or a @code{define_expand}. The compiler will
> +When expanding from gimple to RTL, only named @code{define_insn}
> +constructs and @code{define_expand} constructs are used. The compiler will
> choose the pattern with the right name and apply the operands according
> to the documentation later in this chapter, without regard for the RTL
> -template or operand constraints. Note that the names the compiler looks
> -for are hard-coded in the compiler---it will ignore unnamed patterns and
> -patterns with names it doesn't know about, but if you don't provide a
> -named pattern it needs, it will abort.
> +template or operand constraints. Note that the names which are used for
> +expansion are hard-coded in the compiler---unnamed patterns and patterns
> +with names which do not have a standard meaning are ignored during
> +expansion. If you don't provide a named pattern that the compiler is
> +trying to expand, it may try a different expansion strategy. If no
> +other expansion strategies are possible, the compiler will abort.
Minor nit, I think both "which"es here should be "that"s.
> If a @code{define_insn} is used, the template given is inserted into the
> -insn list. If a @code{define_expand} is used, one of three things
> -happens, based on the condition logic. The condition logic may manually
> -create new insns for the insn list, say via @code{emit_insn()}, and
> -invoke @code{DONE}. For certain named patterns, it may invoke @code{FAIL}
> to tell the
> -compiler to use an alternate way of performing that task. If it invokes
> -neither @code{DONE} nor @code{FAIL}, the template given in the pattern
> +insn list.
> +
> +If a @code{define_expand} is used, one of three things happens, encoded in
> +the condition logic. The condition logic may manually create new insns
> +for the insn list, say via @code{emit_insn ()}, and invoke @code{DONE},
> +indicating a successful expansion. If the standard pattern name permits
> +it, the condition logic may invoke @code{FAIL} to express that an alternate
> +strategy should be used to performing the expansion. If the condition logic
> +invokes neither @code{DONE} nor @code{FAIL}, the template given in the
> pattern
Can we s/alternate/alternative/ at the same time? I think "alternative"
is still correct in US English.
s/to performing/to perform/.
Thanks,
Richard