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.

Compiler: CGT 8.1.4 INTERNAL ERROR

Tool/software: TI C/C++ Compiler

I'm trying to compile a TMS320TCI6614 project with the CGT 8.1.4(also tried 8.1.3, 8.2.0, 7.4.21), but in one of the files, the following error occurs

>> Compilation failure
Source/dft/scalar/codelets/subdir_rules.mk:357: recipe for target 'Source/dft/scalar/codelets/t2_64.obj' failed
>> ../Source/dft/scalar/codelets/t2_64.c, line 3808:
INTERNAL ERROR: >>>Register allocation failed: t2_64(int *, int
*, const int *, int, int, int, int)


This may be a serious problem. Please contact customer support with a
description of this problem and a sample of the source files that caused this
INTERNAL ERROR message to appear.

Cannot continue compilation - ABORTING!t2_64.pp.7z

  • Thank you for attaching the preprocessed file. Could you please provide the compiler options as well? You should be able to extract this from the command line seen in the CCS build console.

  • Building file: ../Source/dft/scalar/codelets/t2_64.c
    Invoking: C6000 Compiler
    "/opt/ti/ccsv7/tools/compiler/ti-cgt-c6000_8.1.4/bin/cl6x" -mv6600 --abi=eabi -O3 --include_path="/opt/ti/ccsv7/tools/compiler/ti-cgt-c6000_8.1.4/include" --include_path="Include/" --include_path="Include/api" --include_path="Include/kernel" --include_path="Include/dft" --include_path="Include/dft/scalar" --include_path="Include/rdft" --include_path="Include/rdft/scalar" --include_path="Include/reodft" --symdebug:none --cpp_default --diag_warning=225 --diag_wrap=off --display_error_number --preproc_with_compile --preproc_dependency="Source/dft/scalar/codelets/t2_64.d" --obj_directory="Source/dft/scalar/codelets" "../Source/dft/scalar/codelets/t2_64.c"
  • I am seeing it take an unusually long time to compile the preprocessed file. I let it go about 20-25 mins before I stopped the build and the internal error was not generated by then. Does the original C file take a long time as well before the error is generated? 

  • A long time to compile is required indeed. In my case it take about 30 minutes before the error is generated.
  • On the other hand building this file with optimization level -O1 processed successfully
  • I can reproduce this and have filed CODEGEN-2345 to track this issue. You can track the status of the bug using the SDOWP link in my signature (after allowing some time for the bug to be published).

    Thank you for reporting the issue and for helping us improve our tools.

  • Thanks a lot for your help
  • Hi Dmit,

    I am currently investigating the issue you reported. So far, the size of t2_64() as well as the number and types of the variables in the function makes it hard to say whether we have a bug in the compiler that can readily be addressed or you are experiencing a known issue with the register allocator that will possibly be deferred as a future enhancement feature.

    I have a few questions for you:

    1. Is compiling with -o1 a sufficient workaround for your application?
    2. Are you able to reduce the size of t2_64(), perhaps tweak parameters for generating the function?

    Thanks,
    Dunni

  • Hi Dunni,

    1. Is compiling with -o1 a sufficient workaround for your application?

    For now, yes, I'm compiling this way

    It works fine with -03 on 7.4.21

    Thanks,

    Dmitry