define_split

Joern Rennecke amylaar@spamcop.net
Tue Nov 2 13:22:00 GMT 2010


Quoting Ian Lance Taylor <iant@google.com>:

> That said, this is not a very interesting use of splits these days and
> it could probably be removed without doing any noticeable harm.  These
> days most people just write the complex pattern using define_insn, and
> then write a define_split (or a define_insn_and_split) which splits up
> the insn just before register allocation or just before instruction
> scheduling.

Although such patterns are justified in some cases, adding them willy-nilly
can make your port worse, if such patterns that need to be split into
multiple insns are generated by rtl passes from simpler instructions
to increase the total instruction count after splitting, or when they
hide scheduling opportunities.

combine-split patterns are still the pattern of choice when you want to
prevent the whole pattern tfrom being considered a single instruction.



More information about the Gcc mailing list