53 lines
2.1 KiB
C
53 lines
2.1 KiB
C
#pragma once
|
|
|
|
#include "MachineTypes.h"
|
|
|
|
static const uint64 COPT_OPTIMIZE_BASIC = 0x00000001;
|
|
static const uint64 COPT_OPTIMIZE_INLINE = 0x00000002;
|
|
static const uint64 COPT_OPTIMIZE_ASSEMBLER = 0x00000004;
|
|
|
|
static const uint64 COPT_OPTIMIZE_AUTO_INLINE = 0x00000010;
|
|
static const uint64 COPT_OPTIMIZE_AUTO_INLINE_ALL = 0x00000020;
|
|
static const uint64 COPT_OPTIMIZE_AUTO_UNROLL = 0x00000040;
|
|
static const uint64 COPT_OPTIMIZE_CONST_EXPRESSIONS = 0x00000080;
|
|
|
|
static const uint64 COPT_OPTIMIZE_CODE_SIZE = 0x00000100;
|
|
|
|
static const uint64 COPT_EXTENDED_ZERO_PAGE = 0x00010000;
|
|
|
|
static const uint64 COPT_TARGET_PRG = 0x100000000ULL;
|
|
static const uint64 COPT_TARGET_CRT16 = 0x200000000ULL;
|
|
static const uint64 COPT_TARGET_CRT512 = 0x400000000ULL;
|
|
static const uint64 COPT_TARGET_COPY = 0x800000000ULL;
|
|
static const uint64 COPT_TARGET_BIN = 0x1000000000ULL;
|
|
static const uint64 COPT_TARGET_LZO = 0x2000000000ULL;
|
|
|
|
static const uint64 COPT_VERBOSE = 0x10000000000ULL;
|
|
static const uint64 COPT_VERBOSE2 = 0x20000000000ULL;
|
|
|
|
static const uint64 COPT_NATIVE = 0x01000000;
|
|
|
|
static const uint64 COPT_DEFAULT = COPT_OPTIMIZE_BASIC | COPT_OPTIMIZE_INLINE | COPT_OPTIMIZE_CONST_EXPRESSIONS;
|
|
|
|
static const uint64 COPT_OPTIMIZE_DEFAULT = COPT_OPTIMIZE_BASIC | COPT_OPTIMIZE_INLINE | COPT_OPTIMIZE_CONST_EXPRESSIONS;
|
|
|
|
static const uint64 COPT_OPTIMIZE_SIZE = COPT_OPTIMIZE_BASIC | COPT_OPTIMIZE_INLINE | COPT_OPTIMIZE_CONST_EXPRESSIONS | COPT_OPTIMIZE_CODE_SIZE;
|
|
|
|
static const uint64 COPT_OPTIMIZE_SPEED = COPT_OPTIMIZE_BASIC | COPT_OPTIMIZE_INLINE | COPT_OPTIMIZE_AUTO_INLINE | COPT_OPTIMIZE_AUTO_UNROLL | COPT_OPTIMIZE_CONST_EXPRESSIONS | COPT_OPTIMIZE_ASSEMBLER;
|
|
|
|
static const uint64 COPT_OPTIMIZE_ALL = COPT_OPTIMIZE_BASIC | COPT_OPTIMIZE_INLINE | COPT_OPTIMIZE_AUTO_INLINE | COPT_OPTIMIZE_AUTO_INLINE_ALL | COPT_OPTIMIZE_AUTO_UNROLL | COPT_OPTIMIZE_CONST_EXPRESSIONS | COPT_OPTIMIZE_ASSEMBLER;
|
|
|
|
struct CompilerSettings
|
|
{
|
|
uint64 mCompilerFlags;
|
|
uint8 mRegWork;
|
|
uint8 mRegFParam;
|
|
uint8 mRegIP;
|
|
uint8 mRegAccu;
|
|
uint8 mRegAddr;
|
|
uint8 mRegStack;
|
|
uint8 mRegLocals;
|
|
uint8 mRegTmp;
|
|
uint8 mRegTmpSaved;
|
|
};
|