Uploaded image for project: 'Embedded Software & Tools'
  1. Embedded Software & Tools
  2. EXT_EP-10852

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

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Medium 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_5.0.0.STS*
      C6000_8.3.14*
      C7000_4.1.1.LTS*
      Show
      C7000_5.0.0.STS* C6000_8.3.14* C7000_4.1.1.LTS*
    • 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.

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

              Created:
              Updated: