| 123456789101112131415161718192021222324252627282930 |
- //-------------------------------------------------------------------------------------------------------
- // 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
- // Shared for x86 and x64
- class AgenPeeps
- {
- private:
- Func * func;
- public:
- AgenPeeps(Func *func) : func(func){}
- void PeepFunc();
- bool DependentInstrs(IR::Instr *instr1, IR::Instr *instr2);
- private:
- int MoveInstrUp(IR::Instr *instr, IR::Instr *startBlock, int distance);
- bool AlwaysDependent(IR::Instr *instr);
- bool DependentOpnds(IR::Opnd *opnd1, IR::Opnd *opnd2);
- bool AgenDependentInstrs(IR::Instr *instr1, IR::Instr *instr2);
- bool IsMemoryInstr(IR::Instr *instr);
- bool IsLoad(IR::Instr *instr);
- bool IsStore(IR::Instr *instr);
- bool IsMemoryOpnd(IR::Opnd *opnd);
- };
|