This allows the compiler to have more flexibility in it's optimization.
See the help for the CompilationRelaxations enum for details.
--- EDIT ---
At this point, there is a single enum that attribute uses, with only 1 option: NoStringInterning
From the MSDN help, this:
Marks an assembly as not requiring string-literal interning.
In an application domain, the common language runtime creates one string
object for each unique string literal, rather than making multiple copies.
This behavior, called string interning, internally requires building
auxiliary tables that consume memory resources.
This attribute is specified to use an enum, though, so more options can easily be added later. This is the only optimization allowed via this assembly attribute right now, though.