84 lines
3.2 KiB
C
84 lines
3.2 KiB
C
#pragma once
|
|
|
|
#include "MachineTypes.h"
|
|
|
|
static const uint64 COPT_OPTIMIZE_BASIC = 1ULL << 0;
|
|
static const uint64 COPT_OPTIMIZE_INLINE = 1ULL << 1;
|
|
static const uint64 COPT_OPTIMIZE_ASSEMBLER = 1ULL << 2;
|
|
|
|
static const uint64 COPT_OPTIMIZE_AUTO_INLINE = 1ULL << 4;
|
|
static const uint64 COPT_OPTIMIZE_AUTO_INLINE_ALL = 1ULL << 5;
|
|
static const uint64 COPT_OPTIMIZE_AUTO_UNROLL = 1ULL << 6;
|
|
static const uint64 COPT_OPTIMIZE_CONST_EXPRESSIONS = 1ULL << 7;
|
|
static const uint64 COPT_OPTIMIZE_AUTO_ZEROPAGE = 1ULL << 8;
|
|
static const uint64 COPT_OPTIMIZE_CONST_PARAMS = 1ULL << 9;
|
|
static const uint64 COPT_OPTIMIZE_MERGE_CALLS = 1ULL << 10;
|
|
static const uint64 COPT_OPTIMIZE_GLOBAL = 1ULL << 11;
|
|
|
|
static const uint64 COPT_OPTIMIZE_CODE_SIZE = 1ULL << 16;
|
|
static const uint64 COPT_NATIVE = 1ULL << 17;
|
|
static const uint64 COPT_EXTENDED_ZERO_PAGE = 1ULL << 20;
|
|
|
|
static const uint64 COPT_TARGET_PRG = 1ULL << 32;
|
|
static const uint64 COPT_TARGET_CRT8 = 1ULL << 33;
|
|
static const uint64 COPT_TARGET_CRT16 = 1ULL << 34;
|
|
static const uint64 COPT_TARGET_CRT_EASYFLASH = 1ULL << 35;
|
|
|
|
static const uint64 COPT_TARGET_CRT = COPT_TARGET_CRT8 | COPT_TARGET_CRT16 | COPT_TARGET_CRT_EASYFLASH;
|
|
|
|
static const uint64 COPT_TARGET_COPY = 1ULL << 36;
|
|
static const uint64 COPT_TARGET_BIN = 1ULL << 37;
|
|
static const uint64 COPT_TARGET_LZO = 1ULL << 38;
|
|
static const uint64 COPT_TARGET_NES = 1ULL << 39;
|
|
|
|
static const uint64 COPT_VERBOSE = 1ULL << 48;
|
|
static const uint64 COPT_VERBOSE2 = 1ULL << 49;
|
|
static const uint64 COPT_VERBOSE3 = 1ULL << 50;
|
|
|
|
static const uint64 COPT_DEBUGINFO = 1ULL << 51;
|
|
|
|
static const uint64 COPT_CPLUSPLUS = 1ULL << 52;
|
|
static const uint64 COPT_PETSCII = 1ULL << 53;
|
|
static const uint64 COPT_ERROR_FILES = 1ULL << 54;
|
|
|
|
static const uint64 COPT_PROFILEINFO = 1ULL << 55;
|
|
static const uint64 COPT_STRICT = 1ULL << 56;
|
|
|
|
|
|
|
|
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_AUTO_INLINE | COPT_OPTIMIZE_CONST_EXPRESSIONS | COPT_OPTIMIZE_CODE_SIZE | COPT_OPTIMIZE_CONST_PARAMS | COPT_OPTIMIZE_MERGE_CALLS | COPT_OPTIMIZE_GLOBAL;
|
|
|
|
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 | COPT_OPTIMIZE_CONST_PARAMS | COPT_OPTIMIZE_MERGE_CALLS | COPT_OPTIMIZE_GLOBAL;
|
|
|
|
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 | COPT_OPTIMIZE_AUTO_ZEROPAGE | COPT_OPTIMIZE_CONST_PARAMS | COPT_OPTIMIZE_MERGE_CALLS | COPT_OPTIMIZE_GLOBAL;
|
|
|
|
enum TargetMachine
|
|
{
|
|
TMACH_C64,
|
|
TMACH_VIC20,
|
|
TMACH_VIC20_3K,
|
|
TMACH_VIC20_8K,
|
|
TMACH_VIC20_16K,
|
|
TMACH_VIC20_24K,
|
|
TMACH_C128,
|
|
TMACH_C128B,
|
|
TMACH_C128E,
|
|
TMACH_PET_8K,
|
|
TMACH_PET_16K,
|
|
TMACH_PET_32K,
|
|
TMACH_PLUS4,
|
|
TMACH_NES,
|
|
TMACH_NES_NROM_H,
|
|
TMACH_NES_NROM_V,
|
|
TMACH_NES_MMC1,
|
|
TMACH_NES_MMC3,
|
|
TMACH_ATARI,
|
|
TMACH_X16
|
|
};
|
|
|
|
|