The motivation of adding this method is suggestion from @shchenz when reviewing https://reviews.llvm.org/D85288.
When performing peephole optimization, after calling MI.setDesc the boundary between explicit operands and implicit operands might be changed, it's not feasible to call MI.implicit_operands().empty() to check if the MI contains any implicit operand in the mid of constructing a new MI.
This would early out earlier if you check from the back too