Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Analysis] Use BitVector::test in areInlineCompatible (NFC) (#98776)
areInlineCompatible checks to see if CalleeTLI.OverrideAsUnavailable is a subset of OverrideAsUnavailable by computing a union of the two and comparing the union and OverrideAsUnavailable. The problem is that computing a union involves memory allocations. This patch removes the need for memory allocations by switching to BitVector::test. Note that A.test(B) returns true if A - B is non-empty. That is, !A.test(B) is true if A if a subset of B. The use of BitVector::test here saves 0.20% of heap allocations during the compilation of X86ISelLowering.cpp.ii, a preprocessed version of X86ISelLowering.cpp.
- Loading branch information