Tool/software: Code Composer Studio
hi
I wanna to use --speculated_loads = 'auto' (-mh = 'auto) option in CCS. according to below document from TI, the compiler and linker must be communicate to use from this option. i dont know that select o2 or o3 optimization with this option. because o2 is function level and o3 is file level optimization.
The compiler and linker can provide automatic load speculation via the auto argument to the --
speculate_loads option (i.e. --speculate_loads=auto or -mh=auto). Use of the auto argument makes it
easier to use and benefit from speculative load optimizations. This option can generate speculative loads
of up to 256 bytes beyond memory that the compiler can prove to be allocated.
In addition, the compiler communicates information to the linker to help automatically ensure the required
pre- and post-padding:
• If the symbol of the speculatively loaded buffer is known at compile time, the linker ensures the object
pointed to by the symbol has the required padding to let the speculative load access legal memory.
• If the symbol information is not known during compile time, the linker will ensure that the placement of
data sections will allow legal accessing beyond the boundaries of the data sections. The linker does
this by simply padding the start and end of the memory range(s) where the data sections are placed.
other question is about the 'auto' application and it's work. when i select --speculated_loads = 'auto' option I see .asm document changes but i dont know that this option how change to memory allocation?, because i don't see any change to .map file. has padding work on data sections only or on any array start and end on a loop?
please help me about this option and its work.
thanks
braian