SPRUI04F july 2015 – april 2023
These options are specific to the TMS302C6000 toolset. See the referenced sections for more information. TMS320C6000-specific assembler options are listed in Section 3.3.12.
The C6000 compiler now supports only the Embedded Application Binary Interface (EABI) ABI, which uses the ELF object format and the DWARF debug format. Refer to the C6000 Embedded Application Binary Interface Application Report (SPRAB89) for details about EABI. If you want support for the legacy COFF ABI, please use the C6000 v7.4.x Code Generation Tools and refer to SPRU187 and SPRU186 for documentation.
--assume_control_regs_read | Tells the compiler to assume that the FP and SAT control bits are read somewhere in the program. As a result, the compiler does not speculate instructions that may set the FP or SAT control bits. See Section 8.6.15 for more information. | |
--advice:performance | Generates compile-time optimization advice. See Section 3.14. | |
--big_endian | Produces code in big-endian format. By default, little-endian code is produced. | |
--common={on|off} | When on (the default ), uninitialized file scope variables are emitted as common symbols. When off, common symbols are not created. The benefit of allowing common symbols to be created is that generated code can remove unused variables that would otherwise increase the size of the .bss section. (Uninitialized variables of a size larger than 32 bytes are separately optimized through placement in separate subsections that can be omitted from a link.) Variables cannot be common symbols if they are assigned to a section other than .bss or have a specified memory bank. | |
--debug_software_pipeline | Produces verbose software pipelining report. See Section 4.6.2. | |
--disable_software_pipeline | Turns off software pipelining. See Section 4.6.1. | |
--fp_not_associative | Compiler does not reorder floating-point operations. See Section 4.13. | |
--interrupt_threshold=n | Specifies an interrupt threshold value n that sets the maximum cycles the compiler can disable interrupts. See Section 3.12. | |
--mem_model:const=type | Allows const objects to be made far independently of the --mem_model:data option. The type can be data, far, or far_aggregates. See Section 8.1.4.3 | |
--mem_model:data=type | Specifies data access model as type far, far_aggregates, or near. Default is far_aggregates. See Section 8.1.4.1. | |
--pending_instantiations=# | Specify the number of template instantiations that may be in progress at any given time. Use 0 to specify an unlimited number. | |
--silicon_version=num | Selects the target CPU version. See Section 3.3.5. | |
--speculate_loads=n | Specifies speculative load byte count threshold. Allows speculative execution of loads with bounded addresses. See Section 4.6.3.1. | |
--speculate_unknown_loads | Allows speculative execution of loads with unbounded addresses. | |
--static_template_instantiation | Instantiates all template entities in the current file as needed though the parser. These instantiations are also given internal (static) linkage. This option may provide a slight improvement to compilation speed. | |
--use_const_for_alias_analysis | Uses const to disambiguate pointers. | |
--wchar_t={32|16} | Sets the size (in bits) of the C/C++ type wchar_t. By default the compiler generates 16-bit wchar_t. 16-bit wchar_t objects are not compatible with 32-bit wchar_t objects; an error is generated if they are combined. When the --linux option is specified, it implies --wchar_t=32 since Linux uses 32-bit extended characters. |