[llvm-bugs] [Bug 43311] New: Thread safety analysis very slow in long functions because of LocalVariableMap

via llvm-bugs llvm-bugs at lists.llvm.org
Fri Sep 13 11:40:11 PDT 2019


https://bugs.llvm.org/show_bug.cgi?id=43311

            Bug ID: 43311
           Summary: Thread safety analysis very slow in long functions
                    because of LocalVariableMap
           Product: clang
           Version: trunk
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Frontend
          Assignee: unassignedclangbugs at nondot.org
          Reporter: aaronpuchert at alice-dsl.net
                CC: llvm-bugs at lists.llvm.org, neeilans at live.com,
                    richard-llvm at metafoo.co.uk

The LocalVariableMap data structure keeps a set of life values for every
program point, which can be prohibitively expensive for very long functions.
Since the entire state is copied over for every modification, the complexity is
O(n^2) in the worst case. Of course long functions are not good programming
style, but they occur.

Currently the map is only used to find out if branch expressions are related to
the result of a try-acquire function call. That doesn't require tracking all
values in the program though.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20190913/8571371d/attachment.html>


More information about the llvm-bugs mailing list