[AArch64] Enable global merge pass.


git-svn-id: http://llvm.org/svn/llvm-project/llvm/trunk@206861 91177308-0d34-0410-b5e6-96231b3b80d8
R600: Make sign_extend_inreg legal.

Don't know why I didn't just do this in the first place.

git-svn-id: http://llvm.org/svn/llvm-project/llvm/trunk@206862 91177308-0d34-0410-b5e6-96231b3b80d8
R600: Change how vector truncating stores are packed.

Don't introduce new operations on an illegal sub 32-bit type.
Do the operations on a 32-bit value, and then use a truncating store.

git-svn-id: http://llvm.org/svn/llvm-project/llvm/trunk@206864 91177308-0d34-0410-b5e6-96231b3b80d8
Use unique_ptr to manage ParsedBinariesAndObjects in LLVMSymbolizer

git-svn-id: http://llvm.org/svn/llvm-project/llvm/trunk@206866 91177308-0d34-0410-b5e6-96231b3b80d8
Revert "Use value semantics to manage DbgVariables rather than dynamic allocation/pointers."

This reverts commit r206780.

This commit was regressing gdb.opt/inline-locals.exp in the GDB 7.5 test
suite. Reverting until I can fix the issue.

git-svn-id: http://llvm.org/svn/llvm-project/llvm/trunk@206867 91177308-0d34-0410-b5e6-96231b3b80d8
[X86] Don't use BZHI for short masks (>=32 bits). Thanks to Ben Kramer for the
review.


git-svn-id: http://llvm.org/svn/llvm-project/llvm/trunk@206869 91177308-0d34-0410-b5e6-96231b3b80d8
Fix an infinite loop bug in DAG Combine about keeping transfering between ANY_EXTEND and SIGN_EXTEND.

git-svn-id: http://llvm.org/svn/llvm-project/llvm/trunk@206873 91177308-0d34-0410-b5e6-96231b3b80d8
ARM: disable emission of __XYZvfp in soft-float environment.

The point of these calls is to allow Thumb-1 code to make use of the VFP unit
to perform its operations. This is not desirable with -msoft-float, since most
of the reasons you'd want that apply equally to the runtime library.

rdar://problem/13766161

git-svn-id: http://llvm.org/svn/llvm-project/llvm/trunk@206874 91177308-0d34-0410-b5e6-96231b3b80d8
AArch64/ARM64: mark fmul intrinsic as commutative.

This gives DAG patterns matching indexed patterns where either side is an
indexed vector.

git-svn-id: http://llvm.org/svn/llvm-project/llvm/trunk@206875 91177308-0d34-0410-b5e6-96231b3b80d8
AArch64/ARM64: add patterns for scalar_to_vector/extract pairs

git-svn-id: http://llvm.org/svn/llvm-project/llvm/trunk@206876 91177308-0d34-0410-b5e6-96231b3b80d8
AArch64/ARM64: enable various AArch64 tests on ARM64.

git-svn-id: http://llvm.org/svn/llvm-project/llvm/trunk@206877 91177308-0d34-0410-b5e6-96231b3b80d8
[mips] Clang-format MipsAsmParser.

No functional changes.


git-svn-id: http://llvm.org/svn/llvm-project/llvm/trunk@206878 91177308-0d34-0410-b5e6-96231b3b80d8
[X86] Use tablegen instead of DAG combines to match BZHI instructions, as
suggested by Ben Kramer in review of r206738.

Thanks again Ben!



git-svn-id: http://llvm.org/svn/llvm-project/llvm/trunk@206879 91177308-0d34-0410-b5e6-96231b3b80d8
[X86] Remove Tablegen def of X86bzhi SDNode: It's not needed as of r206879.


git-svn-id: http://llvm.org/svn/llvm-project/llvm/trunk@206880 91177308-0d34-0410-b5e6-96231b3b80d8
[asan] Support outline instrumentation for wide types and delete dead code, patch by Yuri Gribov 

git-svn-id: http://llvm.org/svn/llvm-project/llvm/trunk@206883 91177308-0d34-0410-b5e6-96231b3b80d8
[AVX512] Implemented integer conversions up/down with masking.
Added encoding tests.


git-svn-id: http://llvm.org/svn/llvm-project/llvm/trunk@206884 91177308-0d34-0410-b5e6-96231b3b80d8
[X86] Require HasBMI2 for the new BZHI tablegen patterns.

Evidently tablegen doesn't infer this from the HasBMI2 predicate on the BZHI
instructions. This should fix the recent bot failures.


git-svn-id: http://llvm.org/svn/llvm-project/llvm/trunk@206885 91177308-0d34-0410-b5e6-96231b3b80d8
AArch64/ARM64: add extra testing from AArch64 to ARM64

git-svn-id: http://llvm.org/svn/llvm-project/llvm/trunk@206887 91177308-0d34-0410-b5e6-96231b3b80d8
AArch64/ARM64: make use of ANDS and BICS instructions for comparisons.

git-svn-id: http://llvm.org/svn/llvm-project/llvm/trunk@206888 91177308-0d34-0410-b5e6-96231b3b80d8
AArch64/ARM64: more testing from AArch64 to ARM64

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