SimpleLayout.h 784 B

1234567891011121314151617181920
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. #pragma once
  6. class SimpleLayout
  7. {
  8. public:
  9. SimpleLayout(Func * func) : func(func), currentStatement(NULL) {}
  10. void Layout();
  11. private:
  12. IR::Instr * MoveHelperBlock(IR::Instr * lastOpHelperLabel, uint32 lastOpHelperStatementIndex, Func* lastOpHelperFunc, IR::LabelInstr * nextLabel,
  13. IR::Instr * instrAfter);
  14. private:
  15. Func * func;
  16. IR::PragmaInstr * currentStatement;
  17. };