This is an archive of the discontinued LLVM Phabricator instance.

[Verifier] Restore defined-resolver verification for IFuncs
ClosedPublic

Authored by ibookstein on Feb 21 2022, 11:25 AM.

Details

Summary

Now that clang no longer emits GlobalIFunc-s with a
declaration for a resolver, we can restore that check.
In addition, add a linkage check like the one we have
on GlobalAlias-es, and a Verifier test for ifuncs.

Signed-off-by: Itay Bookstein <ibookstein@gmail.com>

Diff Detail

Event Timeline

ibookstein created this revision.Feb 21 2022, 11:25 AM
ibookstein requested review of this revision.Feb 21 2022, 11:25 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 21 2022, 11:25 AM

clang-format

MaskRay accepted this revision.Feb 22 2022, 4:03 PM

I know little about the depended cpudispatch patch. This one looks good.

llvm/lib/IR/Verifier.cpp
844
This revision is now accepted and ready to land.Feb 22 2022, 4:03 PM
ibookstein edited the summary of this revision. (Show Details)

Update description, rebase, rerun CI.

ibookstein edited the summary of this revision. (Show Details)

Add verifier test for ifuncs.

add another test with available_externally resolver

This revision was landed with ongoing or failed builds.Feb 26 2022, 2:56 AM
This revision was automatically updated to reflect the committed changes.
ibookstein marked an inline comment as done.