[EXT_EP-10852] Restrict parameter to inlined function causes software pipelined loop to have a loop carried dependency Created: 22/Jun/22  Updated: 03/Dec/24  Resolved: 22/Jul/24

Status: Fixed
Project: Embedded Software & Tools
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Medium
Reporter: TI User Assignee: TI User
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Product: Code Generation Tools
Internal ID: CODEGEN-10115
Forum URL: https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/81/t/1111294
Found In Release: C6000_8.2.0
C6000_8.3.0
C7000_4.0.0.STS
C7000_4.1.0.LTS
Fix In Release: C7000_5.0.0.LTS*
C7000_4.1.2.LTS*
C6000_8.3.14*
Affected Platform/Device: default
Workaround: No practical workaround

 Description   

When handling inline functions, whether explicitly marked inline by the user or auto-inlined by the optimizer, the optimizer would sometimes lose track of the restrict keyword. This particular bug would only show up if at least one of the inline function's declared parameters was a restrict-qualified pointer, in which case the generated assembly code would be sub-optimal. This was particularly noticable for software-pipelined loops, where loops could have a worse loop-carried dependence than they should have, and in fact sometimes worse than if the restrict keyword was removed from the source code.


Generated at Wed Apr 02 13:37:36 CDT 2025 using Jira 9.12.17#9120017-sha1:aba4002bcd633f188b6a4bb5dd8a0e1f20b79ee4.