[C++11] Replacing ObjCContainerDecl iterators meth_begin() and meth_end() with iterator_range methods(). Updating all of the usages of the iterators with range-based for loops.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@203832 91177308-0d34-0410-b5e6-96231b3b80d8
Renaming the recently-created (r203830) props() range API to properties() for clarity.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@203835 91177308-0d34-0410-b5e6-96231b3b80d8
CodeGen: make use of weaker failure orders on cmpxchg.

This makes Clang take advantage of the recent IR addition of a
"failure" memory ordering requirement. As with the "success" ordering,
we try to emit just a single version if the expression is constant,
but fall back to runtime detection (to allow optimisation across
function-call boundaries).

rdar://problem/15996804

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@203837 91177308-0d34-0410-b5e6-96231b3b80d8
CodeGen: use symbolic enumerators for memory order

It makes the code clearer and less error-prone to use our (already
known) special values for the various memory order cases.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@203838 91177308-0d34-0410-b5e6-96231b3b80d8
[C++11] Replacing ObjCContainerDecl iterators instmeth_begin() and instmeth_end() with iterator_range instance_methods(). Updating all of the usages of the iterators with range-based for loops.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@203839 91177308-0d34-0410-b5e6-96231b3b80d8