-mllvm vs -backend

I see there are 2 ways to pass options from clang to the backend, namely -mllvm and -back-end. I am wondering what their differences are ?

Thank you,
Trent