Well, the AVR backend is being actively developed, I have no idea how good it is. (Although some tooling for embedded systems is rather poor, so one would imagine that LLVM with the right heuristics couldn't do badly).
However, I don't regularly write code for uC-ers - and when I do, it's usually simple enough to be in assembly - so I can't really say anymore than that.