This is a phrase GPS created to describe a type of software development. Basically compiler-directed flow means that the compiler creates most of the (if/branch)-statements, manages variables, and switch-statements by the act of compiling and associating patterns with instructions.
Programs that use compiler-directed flow generally are very application-specfic, because they solve specific problems, rather than general problems. Software designed for reuse tends to be user-directed.
In an ideal world sequences of instructions would flow with as few jumps as possible (mostly for loops), and branching would rarely be needed.
Care to add an example?