aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Sema/SemaExprMember.cpp
diff options
context:
space:
mode:
authorAlexis Engelke <engelke@in.tum.de>2024-08-06 18:33:26 +0200
committerGitHub <noreply@github.com>2024-08-06 18:33:26 +0200
commitb7cd564fa3ecc2a9ed0fded98c24f68e2dad63ad (patch)
tree4ece9ebbe93c83fbdbff1612c8b5de8cbd1b5375 /clang/lib/Sema/SemaExprMember.cpp
parent1d2b6d9d4d1074bac4a6ec48dd0ff4253590e34a (diff)
downloadllvm-b7cd564fa3ecc2a9ed0fded98c24f68e2dad63ad.zip
llvm-b7cd564fa3ecc2a9ed0fded98c24f68e2dad63ad.tar.gz
llvm-b7cd564fa3ecc2a9ed0fded98c24f68e2dad63ad.tar.bz2
[IR] Don't verify module flags on every access (#102153)
8b4306ce050bd5 introduced validity checks for every module flag access, because the auto-upgrader uses named metadata before verifying the module. This causes overhead for all other accesses, and the check is, in fact, only need at that single place. Change the upgrader to be careful when accessing module flags before the module is verified and remove the checks on all other occasions. There are two tangential optimizations included: first, when querying a specific flag, don't enumerate all other flags into a vector as well. Second, don't use a Twine for getNamedMetadata(), which has materialization overhead -- all call sites use simple strings that can be implicitly converted to a StringRef.
Diffstat (limited to 'clang/lib/Sema/SemaExprMember.cpp')
0 files changed, 0 insertions, 0 deletions