(This is a copy of https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70078)
I'd like to clean up this documentation issue, but need some help: Dominik Vogt 2016-03-04 11:05:16 UTC > The section "Defining How to Split Instructions" in the gccint > manual claims > > The preparation-statements are similar to those statements that are > specified for define_expand. > ... > Unlike those in define_expand, however, these statements must not > generate any new pseudo-registers. Once reload has completed, they > also must not allocate any space in the stack frame. > > Splitters seem to be allowed to generate new pseudos under > certain circumstances (some splitters call can_create_psudo_p()). > So, is this correct instead? > ... > Unlike those in define_expand, however, once reload has completed > these statements must neither generate any new pseudo-registers nor > allocate any space in the stack frame. This can be checked by calling > can_create_pseudo_p. Comment 1 Dominik Vogt 2016-03-04 11:45:00 UTC > Hijacking this bug report for more unclear documentation in that > section; proposed changes in marked with <...>. > > Apart from the bad grammar, the meaning of this sentence is a > mystery: > > Splitting of jump instruction into sequence that over by another jump > instruction is always valid, as compiler expect identical behavior of > new jump. > > => > > Splitting of jump instruction<s> into <a> sequence that <??????> > another jump instruction is always valid, as <the> compiler > expect<s> <???what???>. > > Anybody able to fill in the gaps? Comment 2 Dominik Vogt 2016-03-04 11:50:36 UTC > (I'll make a patch with these and some more corrections once it's > lear how the wording should be.) Ciao Dominik ^_^ ^_^ -- Dominik Vogt IBM Germany