davide accepted this revision. davide added a comment. This revision is now accepted and ready to land. I don't have any other great ideas either and I'd say the proposed alternative is not worth the complexity. https://reviews.llvm.org/D54680