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.

C6000-CGT: --legacy option

Part Number: C6000-CGT
Other Parts Discussed in Thread: OMAP-L138

Tool/software:

What does the "--legacy" option do in the C6000 Code Generation Tools v8.3.12?

We have a collection of software projects for the C674x core of OMAP-L138 processors.

We have been using Code Composer Studio v6.1.2 and C6000 Code Generation Tools v7.4.14.

There are obstacles to updating our tool chain, so we froze the tool chain there for several years.

There was a push to update tool chains back around the time of Code Composer Studio v12.2.0 and C6000 CGT v8.3.12.

There were a few challenges to overcome.

There is at least one remaining challenge. At lease one of our C674x applications runs more slowly and blows a deadline. This results in a fault condition that requires user intervention to recover.

This particular application runs on two distinct hardware configurations. I will call them Configuration A and Configuration B.

The fault condition occurs on Configuration A with optimization level 1.

When I use optimization level 2, Configuration A runs well but Configuration B disrupts its communication channel and is taken offline.

When I use optimization level 1 but enable the --legacy option, I get several additional warnings, but the resulting software runs well on Configurations A and B.

Here is a table summarizing my observations so far:

C6000 CGT version --opt_level --opt_for_speed --legacy Configuration A Issue Configuration B Issue
v7.4.14 1 - Local Optimizations 4 (default) n/a no issue observed no issue observed
v8.3.12 1 - Local Optimizations 4 (default) (disabled) faults due to missed deadlines no issue observed
v8.3.12 1 - Local Optimizations 5 (disabled) faults due to missed deadlines no issue observed
v8.3.12 2 - Global Optimizations 4 (default) (disabled) no issue observed comm link dropped
v8.3.12 1 - Local Optimizations 4 (default) enabled Many new compiler warnings.
No run-time issue observed
Many new compiler warnings.
No run-time issue observed

What does the "--legacy" option do in C6000 Code Generation Tools v8.3.12? I find no information about the "--legacy" option in SPRUI04F TMS320C6000 Optimizing C/C++ Compiler v8.3.x User's Guide.

It seems advantageous for us to figure out changes to make to this particular project to get C6000 CGTv8.3.x to build a usable executable binary file without the "--legacy" option.

We would be grateful for some guidance about the "--legacy" option to help us determine next steps.

  • Please consider upgrading to version 8.3.14.  It is the same as version 8.3.12, but has more bug fixes.  

    What does the "--legacy" option do

    It is documented here in the readme.  That link is to the readme for version 8.3.14.  But it works the same in version 8.3.12.

    Thanks and regards,

    -George

  • Thanks for the response.

    I had already found section 5 Compiler Option –legacy in the readme.

    I was hoping to learn more about what compiler features are disabled with the --legacy option.

    I am considering your recommendation to upgrade to version 8.3.14. Is it likely we will experience less of a performance hit going from v7.4.14 to v8.3.14 than we see going from v7.4.14 to v8.3.12?

  • what compiler features are disabled with the --legacy option

    It doesn't work like that.  

    In the version 8.3.x compilers, the part of the compiler that schedules software pipelines is very different from older versions.  It occasionally happens that C/C++ code for important loops is carefully written to work well with older compilers.  Such loops, when compiled with version 8.3.x compilers, run slower.  When this is the case, the best way to regain the lost performance is to build with --legacy.

    Is it likely we will experience less of a performance hit going from v7.4.14 to v8.3.14 than we see going from v7.4.14 to v8.3.12?

    No.  All of the version 8.3.x compilers are likely to have very similar performance.

    Thanks and regards,

    -George