My (very limited) understanding is that Roslyn is a lot more like clang than llvm.
From comment on Eric Lippert's blog:
*
So, is this like LLVM for the CTS/CLR?
Absolutely not. Low-Level Virtual Machine (LLVM) is a tool that takes code in an intermediate form from the semantic analysis of a compiler, optimizes that intermediate form, and then emits optimized machine code. Roslyn takes in C# and VB source code and produces a lexical, syntactic and semantic analysis of it for you, and then emits the code in an intermediate form. The thing in .NET that most closely resembles LLVM is the jitter.
It's interesting to see what doors Roslyn can open for us in the craft of software development.
And I'm also really looking forward to seeing some of Bret Victor's ideas implemented [1]
Seems pretty cool, and it'll definitely be interesting to see what people will do with it.
However, some parts of this (introspection and modification of ASTs) are already possible in other languages, such as Scala (through the presentation compiler and the macro system) or even Smalltalk (which doesn't have code in text files).