Other Parts Discussed in Thread: MATHLIB
Tool/software: TI C/C++ Compiler
Hi,
I have a function that calculate the phase of two complex vector (execute atan2() over two vectors) and use the optimized atan2 from the C6678 MATHLIB (atan2sp_i). I compile with all optimization active:
- opt_level=3
- opt_for_speed=5
- speculate_loads=auto
- optimize_with_debug=on (tied also with supress all debug)
When I compile the function inside a bigger file that call it (test_atan) inside an out loop, test_atan() is SOFTWARE PIPELINED with ii=85 (anyway it doesn't use SPLOOP), and the function atan2sp_i is compiled inline.
The problem is that when I put test_atan (together witth all the called functions declared inline) in a separate file, it is not optimized due:
Loop at line 141 cannot be scheduled efficiently, as it contains a function call ("_Z27atan2f_sr1i_atan2spi_inlineffiii"). Try making "_Z27atan2f_sr1i_atan2spi_inlineffiii" an inline function.
Even if atan2f_sr1i_atan2spi_inline is already declared inline and it is the same that is correctly inlined when I don't compile it isolated.
I would like to keep it in a separate compilation unit both for re-usability reason and also since the compilation process take a lot of time when it is correctly optimized.