diff options
Diffstat (limited to 'doc/ccomp.1')
-rw-r--r-- | doc/ccomp.1 | 36 |
1 files changed, 30 insertions, 6 deletions
diff --git a/doc/ccomp.1 b/doc/ccomp.1 index 374bd2e7..89e8c823 100644 --- a/doc/ccomp.1 +++ b/doc/ccomp.1 @@ -125,7 +125,8 @@ Enabled by default. .TP .B \-O0 Turn off most optimizations. -Synonymous to \fB\-fno\-const\-prop\fP \fB\-fno\-cse\fP \fB\-fno\-redundancy\fP \fB\-fno\-tailcalls\fP. +Synonymous to \fB\-fno\-const\-prop\fP \fB\-fno\-cse\fP \fB\-fno\-if\-conversion\fP +\fB\-fno\-inline\fP \fB\-fno\-redundancy\fP \fB\-fno\-tailcalls\fP. . .TP .BR \-O1 ", " \-O2 ", " \-O3 @@ -136,6 +137,13 @@ Synonymous for \fB\-O\fP. Optimize for code size in preference to code speed. . .TP +.B \-Obranchless +Optimize to generate fewer conditional branches and use branch-free +instruction sequences instead. When \fB-fif\-conversion\fP is +enabled, the conversion is peformed aggressively even if the resulting +code is less performant. +. +.TP .BR \-fconst\-prop ", " \-fno\-const\-prop Turn on/off global constant propagation. Enabled by default. @@ -146,6 +154,11 @@ Turn on/off common subexpression elimination. Enabled by default. . .TP +.BR \-fif\-conversion ", " \-fno\-if\-conversion +Turn on/off generation of conditional moves. +Enabled by default. +. +.TP .BR \-finline ", " \-fno\-inline Turn on/off inlining of functions. Enabled by default. @@ -180,6 +193,12 @@ Set alignment of function entry points to <n> bytes. The default alignment is 16 bytes for x86 targets and 4 bytes for ARM and PowerPC. . .TP +.BR \-fcommon ", " \-fno\-common +Turn on/off placement of global variables defined without an initializer (tentative definitions) in the common section. +Disabling the use of the common section inhibits merging of tentative definitions by the linker and may lead to multiple-definition errors. +Enabled by default. +. +.TP .BR \-ffpu ", " \-fno\-fpu Turn on/off use of FP registers for some integer operations. Enabled by default. @@ -191,12 +210,12 @@ Code Generation Options (PowerPC) .TP .B \-falign\-branch\-targets <n> Set alignment of branch targets to <n> bytes. -The default alignment is 0 bytes, which deactivates alignment of branch targets. +By default alignment of branch targets is deactivated. . .TP .B \-falign\-cond\-branches <n> -Set alignment of conditional branches to <n> bytes. -The default alignment is 0 bytes, which deactivates alignment of conditional branch targets. +Set alignment of conditional branch instructions to <n> bytes. +By default alignment of conditional branches is deactivated. . .SS Code Generation Options (PowerPC with Diab Backend) @@ -424,9 +443,14 @@ Wrong return type for main. Enabled by default. .sp \fImissing\-declarations\fP: -Declations which do not declare anything. +Declarations which do not declare anything. Enabled by default. .sp +\fInon\-linear\-cond\-expr\fP: +Conditional expression that may not be optimized to branchless code. +Only issued in \fB-Obranchless\fP mode. +Disabled by default. +.sp \fIpointer\-type\-mismatch\fP: Use of incompatible pointer types in conditional expressions. Enabled by default. @@ -461,7 +485,7 @@ Disabled by default. .sp \fIunused\-variable\fP: Unused local variables. -Enabled by default. +Disabled by default. .sp \fIvarargs\fP: Promotable vararg arguments. |