blob: 658ee77cb8f98810e0ec4381527ee3425538e8b5 [file] [log] [blame]
//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------
#pragma once
#if DBG
class DbCheckPostLower
{
private:
Func *func;
void Check(IR::Opnd *opnd);
void Check(IR::RegOpnd *regOpnd);
#if defined(_M_IX86) || defined(_M_X64)
bool IsCallToHelper(IR::Instr *instr, IR::JnHelperMethod method);
bool IsEndBoundary(IR::Instr * instr);
void EnsureValidEndBoundary(IR::Instr * instr);
bool IsAssign(IR::Instr * instr);
void EnsureOnlyMovesToRegisterOpnd(IR::Instr * instr);
#endif
public:
DbCheckPostLower(Func *func) : func(func) { }
void Check();
#if defined(_M_IX86) || defined(_M_X64)
void CheckNestedHelperCalls();
#endif
};
#endif // DBG