>From the gcc-4.3.1 manual: > -fno-sched-interblock > Don't schedule instructions across basic blocks. This is normally > enabled by default when scheduling before register allocation, > i.e. with -fschedule-insns or at -O2 or higher. > > -fno-sched-spec > Don't allow speculative motion of non-load instructions. This is > normally enabled by default when scheduling before register > allocation, i.e. with -fschedule-insns or at -O2 or higher.
The meaning of the second sentence for each option cannot be clearly understood. From reading the man page, I cannot say what the defaults are for these settings. In the first case: is scheduling of instructions across basic blocks enabled by default when [â¦], or is the option to /disable/ it enabled by default when [â¦]? In the second case: Is speculative motion of non-load instructions enabled by default when [â¦], or is /not allowing it/ enabled by default when [â¦]? Please change the wording to make things clear. Perhaps the meaning can be expressed without a negation, with a changed sentence structure, and/or with an additional sentence giving an explanation. -- Summary: Documentation for some options starting with âno-â not clear Product: gcc Version: 4.3.1 Status: UNCONFIRMED Severity: minor Priority: P3 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: n-roeser at gmx dot net http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36572