Because basic block moving and duplication in the default RTL form is
convoluted enought that cfglayout mode has been discovered. The
difference is that in CFGlayout mode the fallthru edges may point to
arbitary block (not to the next one like in linear RTL) and some ugly
RTL ideas (such as notes in between basic blocks) are hidden behind
scenes.
This is temporary situation, in longer run I hope to move everythin in
RTL backend to cfglayout mode and clean up remaining uglyness, but it
still needs some work.
(some parts of RTL optimizer are still ignoring the CFG and accessing
RTL instructions as single chain, but they are slowly dimishing)
The default trees are already having all nice properties of cfglayout
mode in RTL, so you don't need yet another hack.
Duplication can be done easily and reordering shall not be needed at
all.