From 899f3cd5817e410402a2f39a636a3bb4b119b3e2 Mon Sep 17 00:00:00 2001 From: Martin Storsjo Date: Mon, 6 May 2019 21:18:15 +0000 Subject: [PATCH] [AArch64] Default to SEH exception handling on MinGW The SEH implementation is pretty mature at this point. Differential Revision: https://reviews.llvm.org/D61590 llvm-svn: 360080 --- llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp | 4 +--- llvm/test/CodeGen/AArch64/dwarf-cfi.ll | 2 +- llvm/test/CodeGen/AArch64/wineh-mingw.ll | 4 ++-- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp b/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp index 728e91572e1c..ecff1ab0a8b3 100644 --- a/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp +++ b/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp @@ -130,8 +130,6 @@ AArch64MCAsmInfoGNUCOFF::AArch64MCAsmInfoGNUCOFF() { CodePointerSize = 8; CommentString = "//"; - ExceptionsType = ExceptionHandling::DwarfCFI; - // The default is dwarf, but WinEH can be enabled optionally, which requires - // WinEHEncodingType to be set. + ExceptionsType = ExceptionHandling::WinEH; WinEHEncodingType = WinEH::EncodingType::Itanium; } diff --git a/llvm/test/CodeGen/AArch64/dwarf-cfi.ll b/llvm/test/CodeGen/AArch64/dwarf-cfi.ll index a75bcd19c69c..1447ad364075 100644 --- a/llvm/test/CodeGen/AArch64/dwarf-cfi.ll +++ b/llvm/test/CodeGen/AArch64/dwarf-cfi.ll @@ -1,4 +1,4 @@ -; RUN: llc -mtriple aarch64-windows-gnu -filetype=asm -o - %s | FileCheck %s +; RUN: llc -mtriple aarch64-windows-gnu -exception-model=dwarf -filetype=asm -o - %s | FileCheck %s define void @_Z1gv() personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { entry: diff --git a/llvm/test/CodeGen/AArch64/wineh-mingw.ll b/llvm/test/CodeGen/AArch64/wineh-mingw.ll index 77a6461594cd..3e95789a3d4a 100644 --- a/llvm/test/CodeGen/AArch64/wineh-mingw.ll +++ b/llvm/test/CodeGen/AArch64/wineh-mingw.ll @@ -1,5 +1,5 @@ -; RUN: llc < %s -exception-model=wineh -mtriple=aarch64-pc-mingw32 | FileCheck %s -check-prefix=WINEH -; RUN: llc < %s -exception-model=wineh -mtriple=aarch64-pc-mingw32 -filetype=obj | llvm-readobj -S | FileCheck %s -check-prefix=WINEH-SECTIONS +; RUN: llc < %s -mtriple=aarch64-pc-mingw32 | FileCheck %s -check-prefix=WINEH +; RUN: llc < %s -mtriple=aarch64-pc-mingw32 -filetype=obj | llvm-readobj -S | FileCheck %s -check-prefix=WINEH-SECTIONS ; Check emission of eh handler and handler data declare i32 @_d_eh_personality(i32, i32, i64, i8*, i8*)