llvm-project
d7a09fb4 - [ADT][NFC] Simplify llvm::unique_function (#208251)

Commit
97 days ago
[ADT][NFC] Simplify llvm::unique_function (#208251) Refactor the core of UniqueFunctionBase to move away from static function pointer tables, which consume ~4kiB in .data.rel.ro. Instead, store two function pointers on construction of the UniqueFunctionBase, one for call and one that combines move and destruction. Retain the memcpy path for trivial inline structs. (I haven't verified whether this is actually beneficial.) Also, greatly simplify the class and implement the callbacks using lambdas.
Author
Parents
Loading