diff options
author | Johannes Doerfert <johannes@jdoerfert.de> | 2023-01-27 12:10:07 -0800 |
---|---|---|
committer | Johannes Doerfert <johannes@jdoerfert.de> | 2023-08-18 16:44:05 -0700 |
commit | 9c08e76f3e5f2f3e8cb1e3c9fd45827395c712cc (patch) | |
tree | 65cb3356850573fdfa9602b0733b93f516a6d188 /clang/lib/ExtractAPI/DeclarationFragments.cpp | |
parent | 18b211cb15213f984b2014413b74958243a4805f (diff) | |
download | llvm-9c08e76f3e5f2f3e8cb1e3c9fd45827395c712cc.zip llvm-9c08e76f3e5f2f3e8cb1e3c9fd45827395c712cc.tar.gz llvm-9c08e76f3e5f2f3e8cb1e3c9fd45827395c712cc.tar.bz2 |
[Attributor] Introduce AAIndirectCallInfo
AAIndirectCallInfo will collect information and specialize indirect call
sites. It is similar to our IndirectCallPromotion but runs as part of
the Attributor (so with assumed callee information). It also expands
more calls and let's the rest of the pipeline figure out what is UB, for
now. We use existing call promotion logic to improve the result,
otherwise we rely on the (implicit) function pointer cast.
This effectively "fixes" #60327 as it will undo the type punning early
enough for the inliner to work with the (now specialized, thus direct)
call.
Fixes: https://github.com/llvm/llvm-project/issues/60327
Diffstat (limited to 'clang/lib/ExtractAPI/DeclarationFragments.cpp')
0 files changed, 0 insertions, 0 deletions