[COFF][ARM64] Reorder handling of aarch64 MSVC builtins
authorDavid Major <dmajor@mozilla.com>
Tue, 30 Jul 2019 15:32:49 +0000 (15:32 +0000)
committerDavid Major <dmajor@mozilla.com>
Tue, 30 Jul 2019 15:32:49 +0000 (15:32 +0000)
commit027bb52790ed825788806799f6b7391e2f17c2c1
tree604dfeb58f506350ceaaf357198cb98a8e410661
parentbe612ea471bf3cef443f04588434b1648c27d532
[COFF][ARM64] Reorder handling of aarch64 MSVC builtins

In `CodeGenFunction::EmitAArch64BuiltinExpr()`, bulk move all of the aarch64 MSVC-builtin cases to an earlier point in the function (the `// Handle non-overloaded intrinsics first` switch block) in order to avoid an unreachable in `GetNeonType()`. The NEON type-overloading logic is not appropriate for the Windows builtins.

Fixes https://llvm.org/pr42775

Differential Revision: https://reviews.llvm.org/D65403

llvm-svn: 367323
clang/lib/CodeGen/CGBuiltin.cpp
clang/test/CodeGen/arm64-microsoft-intrinsics.c