From ba2a27d116bd501552f5dc7d8a27e567595ad690 Mon Sep 17 00:00:00 2001 From: Reid Kleckner Date: Mon, 9 Nov 2015 23:34:42 +0000 Subject: [PATCH] [WinEH] Remove isBarrier from instructions that do not return Fixes machine verification failures with David's latest EH change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@252541 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/X86InstrCompiler.td | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/Target/X86/X86InstrCompiler.td b/lib/Target/X86/X86InstrCompiler.td index e6141ade92b..cc2703eb829 100644 --- a/lib/Target/X86/X86InstrCompiler.td +++ b/lib/Target/X86/X86InstrCompiler.td @@ -163,7 +163,7 @@ let isTerminator = 1, hasSideEffects = 1, isBarrier = 1, hasCtrlDep = 1, [(catchret bb:$dst, bb:$from)]>; } -let hasSideEffects = 1, isBarrier = 1, hasCtrlDep = 1, isCodeGenOnly = 1, +let hasSideEffects = 1, hasCtrlDep = 1, isCodeGenOnly = 1, usesCustomInserter = 1 in def CATCHPAD : I<0, Pseudo, (outs), (ins), "# CATCHPAD", [(catchpad)]>; @@ -172,7 +172,7 @@ def CATCHPAD : I<0, Pseudo, (outs), (ins), "# CATCHPAD", [(catchpad)]>; // parent function or funclet. It generally sets ESP and EBP, and optionally // ESI. It is only needed for 32-bit WinEH, as the runtime restores CSRs for us // elsewhere. -let hasSideEffects = 1, isBarrier = 1, hasCtrlDep = 1, isCodeGenOnly = 1 in +let hasSideEffects = 1, hasCtrlDep = 1, isCodeGenOnly = 1 in def EH_RESTORE : I<0, Pseudo, (outs), (ins), "# EH_RESTORE", []>; let hasSideEffects = 1, isBarrier = 1, isCodeGenOnly = 1, -- 2.34.1