Great. Thanks for getting this clarified. I still think it's hard to understand the semantics. I think the best way to improve it is to define a more general system for invariant attributes then define the metadata version in terms of that. LGTM for now. http://reviews.llvm.org/D6346