Restrict parameter to inlined function causes software pipelined loop to have a loop carried dependency

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: Medium
    • Code Generation Tools
    • CODEGEN-10115
    • Hide
      C6000_8.2.0
      C6000_8.3.0
      C7000_4.0.0.STS
      C7000_4.1.0.LTS
      Show
      C6000_8.2.0 C6000_8.3.0 C7000_4.0.0.STS C7000_4.1.0.LTS
    • Hide
      C7000_4.1.2.LTS*
      C7000_5.0.0.LTS
      C6000_8.3.14
      Show
      C7000_4.1.2.LTS* C7000_5.0.0.LTS C6000_8.3.14
    • default
    • No practical workaround

      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.

            Assignee:
            TI User
            Reporter:
            TI User
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved:

                Connection: Intermediate to External PROD System
                EXTSYNC-3430 - Restrict parameter to inlined funct...
                SYNCHRONIZED
                • Last Sync Date: