[AArch64] Add support for NEON scalar floating-point convert to fixed-point instructions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194395 91177308-0d34-0410-b5e6-96231b3b80d8
Add test for r194350.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194396 91177308-0d34-0410-b5e6-96231b3b80d8
ObjectiveC migrator. More testing of instancetype migration in
method implementations. // rdar://15438505


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194402 91177308-0d34-0410-b5e6-96231b3b80d8
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: https://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: https://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: https://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: https://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: https://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: https://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: https://llvm.org/svn/llvm-project/cfe/trunk@194414 91177308-0d34-0410-b5e6-96231b3b80d8
Revert "Remove -### from the -O20 test, it was failing the test (?)"

This reverts commit r194414.

Was breaking too many tests...



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194419 91177308-0d34-0410-b5e6-96231b3b80d8
Revert "Using an invalid -O falls back on -O3 instead of an error"

This reverts commit r194403.

Was breaking too many tests...



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194420 91177308-0d34-0410-b5e6-96231b3b80d8
[mips] Partially revert r193640. Stack alignment should not be determined by
the floating point register mode.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194426 91177308-0d34-0410-b5e6-96231b3b80d8
Add a testcase where we replace a destructor with an alias.

This is a reduced testcase from a cast to Function failing during bootstrap.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194430 91177308-0d34-0410-b5e6-96231b3b80d8
ObjectiveC. By default allow array/dictionary subscripting in
ObjectiveC legacy runtime too. // rdar://15363492


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194434 91177308-0d34-0410-b5e6-96231b3b80d8
ObjectiveC. Try to unbreak buildbot.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194435 91177308-0d34-0410-b5e6-96231b3b80d8
REFACTOR: Have PushLambdaScope return the LambdaScopeInfo that it creates.

No Functionality change.

This refactoring avoids having to call getCurLambda right after PushLambdaScope, to obtain the LambdaScopeInfo that was created during the call to PushLambdaScope. 

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194438 91177308-0d34-0410-b5e6-96231b3b80d8
COSMETIC: Right justify an asterix in the previous refactoring.

Hopefully Richard won't notice this terrible egregiocity - clearly the work of a malevolent poltergeist - fixed now ;)

No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194439 91177308-0d34-0410-b5e6-96231b3b80d8
-fms-compatibility: Use C++98 null pointer constant rules

Patch by Will Wilson!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194441 91177308-0d34-0410-b5e6-96231b3b80d8
Rather than duplicating extension diagnostics to allow them to cause a
substitution failure, allow a flag to be set on the Diagnostic object,
to mark it as 'causes substitution failure'.

Refactor Diagnostic.td and the tablegen to use an enum for SFINAE behavior
rather than a bunch of flags.


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