Allow CALLEE_IS_FORCE_INLINE precedent over CALLEE_DOES_NOT_RETURN (#14586)
authorBen Adams <thundercat@illyriad.co.uk>
Thu, 11 Jan 2018 09:10:35 +0000 (09:10 +0000)
committerAndy Ayers <andya@microsoft.com>
Thu, 11 Jan 2018 09:10:35 +0000 (01:10 -0800)
Allow CALLEE_IS_FORCE_INLINE precedent over CALLEE_DOES_NOT_RETURN

src/jit/inlinepolicy.cpp

index 959ef1b..306a04d 100644 (file)
@@ -484,7 +484,8 @@ void DefaultPolicy::NoteInt(InlineObservation obs, int value)
 
             unsigned basicBlockCount = static_cast<unsigned>(value);
 
-            if (m_IsNoReturn && (basicBlockCount == 1))
+            // CALLEE_IS_FORCE_INLINE overrides CALLEE_DOES_NOT_RETURN
+            if (!m_IsForceInline && m_IsNoReturn && (basicBlockCount == 1))
             {
                 SetNever(InlineObservation::CALLEE_DOES_NOT_RETURN);
             }