common.opt revision 132718
1; Options for the language- and target-independent parts of the compiler. 2; Copyright (C) 2003 Free Software Foundation, Inc. 3; 4; This file is part of GCC. 5; 6; GCC is free software; you can redistribute it and/or modify it under 7; the terms of the GNU General Public License as published by the Free 8; Software Foundation; either version 2, or (at your option) any later 9; version. 10; 11; GCC is distributed in the hope that it will be useful, but WITHOUT ANY 12; WARRANTY; without even the implied warranty of MERCHANTABILITY or 13; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14; for more details. 15; 16; You should have received a copy of the GNU General Public License 17; along with GCC; see the file COPYING. If not, write to the Free 18; Software Foundation, 59 Temple Place - Suite 330, Boston, MA 19; 02111-1307, USA. 20 21; See c.opt for a description of this file's format. 22 23; Please try to keep this file in ASCII collating order. 24 25-help 26Common 27Display this information 28 29-param 30Common Separate 31--param <param>=<value> Set paramter <param> to value. See below for a complete list of parameters 32 33-target-help 34Common 35 36-version 37Common 38 39G 40Common Joined Separate UInteger 41-G<number> Put global and static data smaller than <number> bytes into a special section (on some targets) 42 43O 44Common JoinedOrMissing 45-O<number> Set optimization level to <number> 46 47Os 48Common 49Optimize for space rather than speed 50 51W 52Common RejectNegative 53This switch is deprecated; use -Wextra instead 54 55Waggregate-return 56Common 57Warn about returning structures, unions or arrays 58 59Wcast-align 60Common 61Warn about pointer casts which increase alignment 62 63Wdeprecated-declarations 64Common 65Warn about uses of __attribute__((deprecated)) declarations 66 67Wdisabled-optimization 68Common 69Warn when an optimization pass is disabled 70 71Werror 72Common 73Treat all warnings as errors 74 75Wextra 76Common 77Print extra (possibly unwanted) warnings 78 79Winline 80Common 81Warn when an inlined function cannot be inlined 82 83Wlarger-than- 84Common RejectNegative Joined UInteger 85-Wlarger-than-<number> Warn if an object is larger than <number> bytes 86 87Wmissing-noreturn 88Common 89Warn about functions which might be candidates for __attribute__((noreturn)) 90 91Wpacked 92Common 93Warn when the packed attribute has no effect on struct layout 94 95Wpadded 96Common 97Warn when padding is required to align structure members 98 99Wshadow 100Common 101Warn when one local variable shadows another 102 103Wstrict-aliasing 104Common 105Warn about code which might break strict aliasing rules 106 107Wswitch 108Common 109Warn about enumerated switches, with no default, missing a case 110 111Wswitch-default 112Common 113Warn about enumerated switches missing a \"default:\" statement 114 115Wswitch-enum 116Common 117Warn about all enumerated switches missing a specific case 118 119Wsystem-headers 120Common 121Do not suppress warnings from system headers 122 123Wuninitialized 124Common 125Warn about uninitialized automatic variables 126 127Wunreachable-code 128Common 129Warn about code that will never be executed 130 131Wunused 132Common 133Enable all -Wunused- warnings 134 135Wunused-function 136Common 137Warn when a function is unused 138 139Wunused-label 140Common 141Warn when a label is unused 142 143Wunused-parameter 144Common 145Warn when a function parameter is unused 146 147Wunused-value 148Common 149Warn when an expression value is unused 150 151Wunused-variable 152Common 153Warn when a variable is unused 154 155aux-info 156Common Separate 157-aux-info <file> Emit declaration information into <file> 158 159aux-info= 160Common Joined 161 162auxbase 163Common Separate 164 165auxbase-strip 166Common Separate 167 168d 169Common Joined 170-d<letters> Enable dumps from specific passes of the compiler 171 172dumpbase 173Common Separate 174-dumpbase <file> Set the file basename to be used for dumps 175 176fPIC 177Common 178 179fPIE 180Common 181 182fabi-version= 183Common Joined UInteger 184 185falign-functions 186Common 187Align the start of functions 188 189falign-functions= 190Common RejectNegative Joined UInteger 191 192falign-jumps 193Common 194Align labels which are only reached by jumping 195 196falign-jumps= 197Common RejectNegative Joined UInteger 198 199falign-labels 200Common 201Align all labels 202 203falign-labels= 204Common RejectNegative Joined UInteger 205 206falign-loops 207Common 208Align the start of loops 209 210falign-loops= 211Common RejectNegative Joined UInteger 212 213fargument-alias 214Common 215Specify that arguments may alias each other and globals 216 217fargument-noalias 218Common 219Assume arguments may alias globals but not each other 220 221fargument-noalias-global 222Common 223Assume arguments alias neither each other nor globals 224 225fasynchronous-unwind-tables 226Common 227Generate unwind tables that are exact at each instruction boundary 228 229fbounds-check 230Common 231Generate code to check bounds before indexing arrays 232 233fbranch-count-reg 234Common 235Replace add, compare, branch with branch on count register 236 237fbranch-probabilities 238Common 239Use profiling information for branch probabilities 240 241fbranch-target-load-optimize 242Common 243Perform branch target load optimization before prologue / epilogue threading 244 245fbranch-target-load-optimize2 246Common 247Perform branch target load optimization after prologue / epilogue threading 248 249fcall-saved- 250Common Joined RejectNegative 251-fcall-saved-<register> Mark <register> as being preserved across functions 252 253fcall-used- 254Common Joined RejectNegative 255-fcall-used-<register> Mark <register> as being corrupted by function calls 256 257fcaller-saves 258Common 259Save registers around function calls 260 261fcommon 262Common 263Do not put uninitialized globals in the common section 264 265fcprop-registers 266Common 267Perform a register copy-propagation optimization pass 268 269fcrossjumping 270Common 271Perform cross-jumping optimization 272 273fcse-follow-jumps 274Common 275When running CSE, follow jumps to their targets 276 277fcse-skip-blocks 278Common 279When running CSE, follow conditional jumps 280 281fdata-sections 282Common 283Place data items into their own section 284 285fdefer-pop 286Common 287Defer popping functions args from stack until later 288 289fdelayed-branch 290Common 291Attempt to fill delay slots of branch instructions 292 293fdelete-null-pointer-checks 294Common 295Delete useless null pointer checks 296 297fdiagnostics-show-location= 298Common Joined RejectNegative 299-fdiagnostics-show-location=[once|every-line] How often to emit source location at the beginning of line-wrapped diagnostics 300 301fdump-unnumbered 302Common 303Suppress output of instruction numbers and line number notes in debugging dumps 304 305feliminate-dwarf2-dups 306Common 307Perform DWARF2 duplicate elimination 308 309feliminate-unused-debug-symbols 310Common 311Perform unused type elimination in debug info 312 313feliminate-unused-debug-types 314Common 315Perform unused type elimination in debug info 316 317fexceptions 318Common 319Enable exception handling 320 321fexpensive-optimizations 322Common 323Perform a number of minor, expensive optimizations 324 325ffast-math 326Common 327 328ffinite-math-only 329Common 330Assume no NaNs or infinities are generated 331 332ffixed- 333Common Joined RejectNegative 334-ffixed-<register> Mark <register> as being unavailable to the compiler 335 336ffloat-store 337Common 338Do not store floats in registers 339 340fforce-addr 341Common 342Copy memory address constants into registers before use 343 344fforce-mem 345Common 346Copy memory operands into registers before use 347 348ffunction-cse 349Common 350Allow function addresses to be held in registers 351 352ffunction-sections 353Common 354Place each function into its own section 355 356fgcse 357Common 358Perform global common subexpression elimination 359 360fgcse-lm 361Common 362Perform enhanced load motion during global common subexpression elimination 363 364fgcse-sm 365Common 366Perform store motion after global common subexpression elimination 367 368fgcse-las 369Common 370Perform redundant load after store elimination in global common subexpression elimination 371 372fguess-branch-probability 373Common 374Enable guessing of branch probabilities 375 376fident 377Common 378Process #ident directives 379 380fif-conversion 381Common 382Perform conversion of conditional jumps to branchless equivalents 383 384fif-conversion2 385Common 386Perform conversion of conditional jumps to conditional execution 387 388finhibit-size-directive 389Common 390Do not generate .size directives 391 392finline 393Common 394Pay attention to the \"inline\" keyword 395 396finline-functions 397Common 398Integrate simple functions into their callers 399 400finline-limit- 401Common RejectNegative Joined UInteger 402 403finline-limit= 404Common RejectNegative Joined UInteger 405-finline-limit=<number> Limit the size of inlined functions to <number> 406 407finstrument-functions 408Common 409Instrument function entry and exit with profiling calls 410 411fkeep-inline-functions 412Common 413Generate code for functions even if they are fully inlined 414 415fkeep-static-consts 416Common 417Emit static const variables even if they are not used 418 419fleading-underscore 420Common 421Give external symbols a leading underscore 422 423floop-optimize 424Common 425Perform loop optimizations 426 427fmath-errno 428Common 429Set errno after built-in math functions 430 431fmem-report 432Common 433Report on permanent memory allocation 434 435fmerge-all-constants 436Common 437Attempt to merge identical constants and constant variables 438 439fmerge-constants 440Common 441Attempt to merge identical constants across compilation units 442 443fmessage-length= 444Common RejectNegative Joined UInteger 445-fmessage-length=<number> Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping 446 447fmove-all-movables 448Common 449Force all loop invariant computations out of loops 450 451fnew-ra 452Common 453Use graph-coloring register allocation 454 455fnon-call-exceptions 456Common 457Support synchronous non-call exceptions 458 459fold-unroll-loops 460Common 461Perform loop unrolling when iteration count is known 462 463fold-unroll-all-loops 464Common 465Perform loop unrolling for all loops 466 467fomit-frame-pointer 468Common 469When possible do not generate stack frames 470 471foptimize-register-move 472Common 473Do the full register move optimization pass 474 475foptimize-sibling-calls 476Common 477Optimize sibling and tail recursive calls 478 479fpack-struct 480Common 481Pack structure members together without holes 482 483fpcc-struct-return 484Common 485Return small aggregates in memory, not registers 486 487fpeel-loops 488Common 489Perform loop peeling 490 491fpeephole 492Common 493Enable machine specific peephole optimizations 494 495fpeephole2 496Common 497Enable an RTL peephole pass before sched2 498 499fpic 500Common 501Generate position-independent code if possible 502 503fpie 504Common 505Generate position-independent code for executables if possible 506 507fprefetch-loop-arrays 508Common 509Generate prefetch instructions, if available, for arrays in loops 510 511fprofile 512Common 513Enable basic program profiling code 514 515fprofile-arcs 516Common 517Insert arc-based program profiling code 518 519fprofile-generate 520Common 521Enable common options for generating profile info for profile feedback directed optimizations 522 523fprofile-use 524Common 525Enable common options for performing profile feedback directed optimizations 526 527fprofile-values 528Common 529Insert code to profile values of expressions 530 531frandom-seed 532Common 533 534frandom-seed= 535Common Joined RejectNegative 536-frandom-seed=<string> Make compile reproducible using <string> 537 538freduce-all-givs 539Common 540Strength reduce all loop general induction variables 541 542freg-struct-return 543Common 544Return small aggregates in registers 545 546fregmove 547Common 548Enables a register move optimization 549 550frename-registers 551Common 552Perform a register renaming optimization pass 553 554freorder-blocks 555Common 556Reorder basic blocks to improve code placement 557 558freorder-functions 559Common 560Reorder functions to improve code placement 561 562frerun-cse-after-loop 563Common 564Add a common subexpression elimination pass after loop optimizations 565 566frerun-loop-opt 567Common 568Run the loop optimizer twice 569 570frounding-math 571Common 572Disable optimizations that assume default FP rounding behavior 573 574fsched-interblock 575Common 576Enable scheduling across basic blocks 577 578fsched-spec 579Common 580Allow speculative motion of non-loads 581 582fsched-spec-load 583Common 584Allow speculative motion of some loads 585 586fsched-spec-load-dangerous 587Common 588Allow speculative motion of more loads 589 590fsched-verbose= 591Common RejectNegative Joined 592-fsched-verbose=<number> Set the verbosity level of the scheduler 593 594fsched2-use-superblocks 595Common 596If scheduling post reload, do superblock scheduling 597 598fsched2-use-traces 599Common 600If scheduling post reload, do trace scheduling 601 602fschedule-insns 603Common 604Reschedule instructions before register allocation 605 606fschedule-insns2 607Common 608Reschedule instructions after register allocation 609 610fsched-stalled-insns 611Common 612Allow premature scheduling of queued insns 613 614fsched-stalled-insns= 615Common RejectNegative Joined UInteger 616-fsched-stalled-insns=<number> Set number of queued insns that can be prematurely scheduled 617 618fsched-stalled-insns-dep 619Common 620Set dependence distance checking in premature scheduling of queued insns 621 622fsched-stalled-insns-dep= 623Common RejectNegative Joined UInteger 624-fsched-stalled-insns-dep=<number> Set dependence distance checking in premature scheduling of queued insns 625 626fshared-data 627Common 628Mark data as shared rather than private 629 630fsignaling-nans 631Common 632Disable optimizations observable by IEEE signaling NaNs 633 634fsingle-precision-constant 635Common 636Convert floating point constants to single precision constants 637 638fstack-check 639Common 640Insert stack checking code into the program 641 642fstack-limit 643Common 644 645fstack-limit-register= 646Common RejectNegative Joined 647-fstack-limit-register=<register> Trap if the stack goes past <register> 648 649fstack-limit-symbol= 650Common RejectNegative Joined 651-fstack-limit-symbol=<name> Trap if the stack goes past symbol <name> 652 653fstrength-reduce 654Common 655Perform strength reduction optimizations 656 657fstrict-aliasing 658Common 659Assume strict aliasing rules apply 660 661fsyntax-only 662Common 663Check for syntax errors, then stop 664 665ftest-coverage 666Common 667Create data files needed by \"gcov\" 668 669fthread-jumps 670Common 671Perform jump threading optimizations 672 673ftime-report 674Common 675Report the time taken by each compiler pass 676 677ftls-model= 678Common Joined RejectNegative 679-ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec] Set the default thread-local storage code generation model 680 681ftracer 682Common 683Perform superblock formation via tail duplication 684 685ftrapping-math 686Common 687Assume floating-point operations can trap 688 689ftrapv 690Common 691Trap for signed overflow in addition, subtraction and multiplication 692 693funit-at-a-time 694Common 695Compile whole compilation unit at a time 696 697funroll-loops 698Common 699Perform loop unrolling when iteration count is known 700 701funroll-all-loops 702Common 703Perform loop unrolling for all loops 704 705funsafe-math-optimizations 706Common 707Allow math optimizations that may violate IEEE or ISO standards 708 709funswitch-loops 710Common 711Perform loop unswitching 712 713funwind-tables 714Common 715Just generate unwind tables for exception handling 716 717fverbose-asm 718Common 719Add extra commentary to assembler output 720 721fvpt 722Common 723Use expression value profiles in optimizations 724 725fweb 726Common 727Construct webs and split unrelated uses of single variable 728 729fwrapv 730Common 731Assume signed arithmetic overflow wraps around 732 733fwritable-strings 734Common 735Store strings in writable data section 736 737fzero-initialized-in-bss 738Common 739Put zero initialized data in the bss section 740 741g 742Common JoinedOrMissing 743Generate debug information in default format 744 745gcoff 746Common JoinedOrMissing 747Generate debug information in COFF format 748 749gdwarf-2 750Common JoinedOrMissing 751Generate debug information in DWARF v2 format 752 753ggdb 754Common JoinedOrMissing 755Generate debug information in default extended format 756 757gstabs 758Common JoinedOrMissing 759Generate debug information in STABS format 760 761gstabs+ 762Common JoinedOrMissing 763Generate debug information in extended STABS format 764 765gvms 766Common JoinedOrMissing 767Generate debug information in VMS format 768 769gxcoff 770Common JoinedOrMissing 771Generate debug information in XCOFF format 772 773gxcoff+ 774Common JoinedOrMissing 775Generate debug information in extended XCOFF format 776 777m 778Common Joined 779 780o 781Common Joined Separate 782-o <file> Place output into <file> 783 784p 785Common 786Enable function profiling 787 788pedantic 789Common 790Issue warnings needed for strict compliance to the standard 791 792pedantic-errors 793Common 794Like -pedantic but issue them as errors 795 796quiet 797Common 798Do not display functions compiled or elapsed time 799 800version 801Common 802Display the compiler's version 803 804w 805Common 806Suppress warnings 807 808; This comment is to ensure we retain the blank line above. 809