This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CGT 7.0.4 returns "opt6x.exe experienced a fatal internal fault"

Attached is the .pp generated for a source file that will not compile with the TI tools.  The workaround used thus far is to insert the pragma UNROLL before both inner loops of the function.

CGT version:  C6000 Code Generation Tools 7.0.4

Options: -mv64+ -g -O2 --preproc_only --preproc_with_compile --define="DEBUG" --display_error_number --issue_remarks --verbose_diagnostics --diag_warning="225" --consultant --gen_func_subsections --mem_model:const=far --mem_model:data=far --debug_software_pipeline --optimizer_interlist --src_interlist --asm_listing --output_all_syms --obj_directory="src"

-Aaron

dfti.zip
  • The crash is probably a stack overflow.  I believe the optimiser has unrolled the inner loops completely, combined all the recurrent assignments into single very large statements for sum and n, and is getting into exponential-growth territory in trying to simplify them.  Your workaround is the correct one.

    In previous similar cases, sometimes we find a key simplifying trick that speeds it up, and sometimes we just have to set a limit on how complicated an expression we try to improve.

  • Thank you for sending in a test case that is so easy to work with.  I filed SDSCM00039264 in the SDOWP system.  Feel free to track it with the SDOWP link in my sig below.

    Thanks and regards,

    -George