Skip to content

Revert "[opt] remove trivially dead instructions in mandatory combine" #31077

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 16, 2020

Conversation

xedin
Copy link
Contributor

@xedin xedin commented Apr 16, 2020

Reverts #30429

Testing to see whether this is a cause of SIL failure in source compatibility project Kingfisher.

@xedin
Copy link
Contributor Author

xedin commented Apr 16, 2020

@swift-ci please test source compatibility

@xedin
Copy link
Contributor Author

xedin commented Apr 16, 2020

Reverting this PR fixes Kingfisher project failures in debug configuration.

@xedin
Copy link
Contributor Author

xedin commented Apr 16, 2020

/cc @zoecarver @gottesmm

@xedin
Copy link
Contributor Author

xedin commented Apr 16, 2020

@swift-ci please smoke test

@xedin
Copy link
Contributor Author

xedin commented Apr 16, 2020

Looks like there is an unrelated break now related to MovieSwiftUI...

@zoecarver
Copy link
Contributor

@xedin we tested fairly extensively (source compatibility and device filecheck preset). What's the error?

@xedin
Copy link
Contributor Author

xedin commented Apr 16, 2020

@zoecarver
Copy link
Contributor

Hmm I see. It might have somehow removed the destroy_addr. I'll play around with it a bit and see if I can make a reproducer.

@xedin xedin merged commit 386b622 into master Apr 16, 2020
@xedin xedin deleted the revert-30429-optimize/remove-dead-in-mand-combine branch April 16, 2020 23:05
@zoecarver
Copy link
Contributor

Looks like the kingfisher build is now succeeding. Still no reproducer but, it was something to do with one of the enum operators.

@zoecarver
Copy link
Contributor

@xedin I'll keep trying to debug why the crash happened but I'm beginning to suspect it wasn't this commit, actually. When building Kingfisher from master, it doesn't crash anymore but, when I checkout a5d1214220b8ddf29acf7c08c8bb42993ed56c54 and try to build I get the crash. Anyway, as I said, I'll keep trying to figure out what the cause is.

@zoecarver
Copy link
Contributor

zoecarver commented Apr 20, 2020

Ignore the last comment. I tracked down the issue, it was this commit (oops). Here's the pattern that we incorrectly remove (unchecked_take_enum_data_addr):

%96 = alloc_stack $KingfisherOptionsInfoItem    // users: %111, %105, %98, %97
  copy_addr %13 to [initialization] %96 : $*KingfisherOptionsInfoItem // id: %97
  %98 = unchecked_take_enum_data_addr %96 : $*KingfisherOptionsInfoItem, #KingfisherOptionsInfoItem.downloadPriority!enumelt // user: %99
  %99 = load [trivial] %98 : $*Float

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.

2 participants