[BOLT] Improve annotations format and processing
Summary: Change the way annotations are stored and processed. Embed annotation type/index into immediate value stored as an operand. This limits the effective range of values that could be stored as annotations to 56 bits, which is still plenty for most integer types that we use and for pointers on real systems. High 8 bits are reserved for storing annotation type/index. Expand the interface for general annotations to include reference to annotations by index. The main purpose of this interface is to improve performance of annotations that are used by heavy (>O(N)) algorithms, such as data flow analysis. For -frame-opt pass, new memory usage and processing times are slightly better compared to those before refactoring. (cherry picked from FBD7492017)
Loading
Please sign in to comment