davide requested changes to this revision. davide added a comment. This revision now requires changes to proceed. I'm fine with this refactoring, but I'd like to understand what's your long(er) term plan for this first? https://reviews.llvm.org/D32798