Skip to content

Conversation

@nikic
Copy link
Contributor

@nikic nikic commented Oct 14, 2025

Usually calls to intrinsics get auto-upgraded if the intrinsic name/signature changes. However, this currently doesn't happen if the intrinsic declaration is omitted, which is the preferred form in new tests.

Make sure that intrinsic calls without declaration also get upgraded.

Usually calls to intrinsics get auto-upgraded if the intrinsic
name/signature changes. However, this currently doesn't happen
if the intrinsic declaration is omitted, which is the preferred
form in new tests.

Make sure that intrinsic calls without declaration also get
upgraded.
Copy link
Contributor

@antoniofrighetto antoniofrighetto left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks.

ret void
}

define void @no_suffix2() {
Copy link
Contributor

@antoniofrighetto antoniofrighetto Oct 14, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is convenient for extra coverage, but the intrinsic declaration is not really differing from no_suffix1() (just passing a different pointer), correct?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right. The purpose of this test is to check that even though no_suffix1 and no_suffix2 both call @llvm.lifetime.start, they get upgraded to two different intrinsics, depending on address space.

@nikic nikic merged commit 11bf901 into llvm:main Oct 15, 2025
11 checks passed
@nikic nikic deleted the upgrade-no-proto branch October 15, 2025 07:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants