Using an invalid -O falls back on -O3 instead of an error

Summary:
Currently with clang:
$ clang -O20 foo.c 
error: invalid value '20' in '-O20'

With the patch:
$ clang -O20 foo.c 
warning: invalid value '20' in '-O20'. Fall back on value '3'

Reviewers: rengolin, hfinkel

Reviewed By: rengolin

CC: cfe-commits, hfinkel, rengolin

Differential Revision: http://llvm-reviews.chandlerc.com/D2125

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@194403 91177308-0d34-0410-b5e6-96231b3b80d8
Improve the documentation of the optimization flags

Reviewers: rafael.espindola, rengolin, hfinkel

Reviewed By: rengolin

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D2138

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@194405 91177308-0d34-0410-b5e6-96231b3b80d8
[AArch64] The shift right/left and insert immediate builtins expect 3
source operands, a vector, an element to insert, and a shift amount.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@194407 91177308-0d34-0410-b5e6-96231b3b80d8
Darwin(ish): we don't want __ARM_EABI__ even on v7a embedded targets.

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

The assert this patch deletes was valid only when aliasing D2 to D1, not when
looking at a base class. Since the assert was in the path where we had already
decided to not produce an alias, just drop it.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@194411 91177308-0d34-0410-b5e6-96231b3b80d8
Improve the documentation (bis) with Arthur and Chandler's comments

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@194412 91177308-0d34-0410-b5e6-96231b3b80d8
Remove -### from the -O20 test, it was failing the test (?)

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