Code using calls to functions using __attribute__((c29_protected_call)) in the presence of loops fails with "error: ran out of registers"

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: Medium
    • Code Generation Tools
    • CODEGEN-15386
    • Hide
      C29_3.0.0.LTS*
      C29_2.2.0.LTS
      Show
      C29_3.0.0.LTS* C29_2.2.0.LTS
    • Hide
      C29_3.0.0.LTS*
      C29_2.2.1.LTS*
      Show
      C29_3.0.0.LTS* C29_2.2.1.LTS*
    • default

      With higher optimization levels (-O2 or higher), code involving both protected calls and loops can result in an internal error indicating that the program "ran out of registers".

      Code that will trigger this error is structured similarly to:

      void prot_function() __attribute__((c29_protected_call));
      void loop_function(int n) {
        prot_function();
        for (int i = 0; i < n; i++) {
          ...
        }
      }
      

      Where the 'for' loop can be any loop concept, but importantly will always use 'n'.

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

              Created:
              Updated:
              Resolved:

                Connection: Intermediate to External PROD System
                EXTSYNC-6602 - Code using calls to functions using...
                SYNCHRONIZED
                • Last Sync Date: