[NFC] Fix compile time regression seen on some benchmarks after a630ea3003 commit
authorDawid Jurczak <dawid_jurek@vp.pl>
Tue, 12 Jul 2022 13:00:27 +0000 (15:00 +0200)
committerDawid Jurczak <dawid_jurek@vp.pl>
Tue, 12 Jul 2022 13:00:27 +0000 (15:00 +0200)
commit165240fe38b4199adab40e57b61e848cc169a83e
tree7cc3f6ce8a0bf8a1d7972f3e59ab464d57435755
parent81b62f7feb5de2fb37261974ffa0b2a43a2d83ee
[NFC] Fix compile time regression seen on some benchmarks after a630ea3003 commit

The goal of this change is fixing most of compile time slowdown seen after a630ea3003 commit on lencod and sqlite3 benchmarks.
There are 3 improvements included in this patch:

1. In getNumOperands when possible get value directly from SmallNumOps.
2. Inline getLargePtr by moving its definition to header.
3. In TBAAStructTypeNode::getField get all operands once instead taking operands in loop one after one.

Differential Revision: https://reviews.llvm.org/D129468
llvm/include/llvm/IR/Metadata.h
llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
llvm/lib/IR/Metadata.cpp