18 month old fix in llvm-project does not seem to be in current Swift?

I'm looking at this llvm patch: [AVR] Fix incorrect operands of pseudo instruction 'ROLBRd' · llvm/llvm-project@ff75a2b · GitHub and it looks like it possibly isn't in the llvm-project tree that Swift is using, which seems surprising as it's 18 months old?

I know Swift llvm-project has to stay some way behind llvm-project trunk for obvious (and well documented) reasons, but I wasn't expecting 18 month old bug fixes not to be there. Am I missing something?

Thanks for any advice or help.
Cheers,
Carl


My current tree is some weeks old...

Swift is 55189bae (tag: swift-DEVELOPMENT-SNAPSHOT-2024-12-22-a)

llvm-project is 9f6c3d78 ( stable/20240723, tag: swift-DEVELOPMENT-SNAPSHOT-2025-01-02-a, tag: swift-DEVELOPMENT-SNAPSHOT-2024-12-22-a)

There is a very easy way to check this, which I just tried, simply replace the llvm repo in your github commit URL with swiftlang:

If you click on the tag list in that link, you can see it got into the Swift trunk repo around Oct. 2023 and shipped with the Swift 6.0 release. Of course, it's always possible that this change is disabled by some other change in the swiftlang repo, so you may want to check that.

2 Likes

Fantastic. That's really helpful and reassuring!

Exactly as you said, the original fix was in there but was upgraded by a later fix that moved a couple of the lines back to nearly how they were before, and fixed the issue a more sustainable way (hopefully!)

In the end, I think this must not be the source of the issues I'm seeing in IRGen emission on AVR with Swift. I'll have to keep digging and debugging.

Thanks so much for your (very quick) help!

C

3 Likes