This is off by default, but enabled by the parser when reading a textual IL file. Test files can still override the default to turn off verification. The setting enables IL verifier passes at critical points of the compilation pipeline.
46 lines
1.3 KiB
Python
46 lines
1.3 KiB
Python
"""
|
|
Cretonne shared settings.
|
|
|
|
This module defines settings are are relevant for all code generators.
|
|
"""
|
|
from __future__ import absolute_import
|
|
from cdsl.settings import SettingGroup, BoolSetting, EnumSetting
|
|
|
|
group = SettingGroup('shared')
|
|
|
|
opt_level = EnumSetting(
|
|
"""
|
|
Optimization level:
|
|
|
|
- default: Very profitable optimizations enabled, none slow.
|
|
- best: Enable all optimizations
|
|
- fastest: Optimize for compile time by disabling most optimizations.
|
|
""",
|
|
'default', 'best', 'fastest')
|
|
|
|
enable_verifier = BoolSetting(
|
|
"""
|
|
Run the Cretonne IL verifier at strategic times during compilation.
|
|
|
|
This makes compilation slower but catches many bugs. The verifier is
|
|
disabled by default, except when reading Cretonne IL from a text file.
|
|
""")
|
|
|
|
is_64bit = BoolSetting("Enable 64-bit code generation")
|
|
|
|
is_compressed = BoolSetting("Enable compressed instructions")
|
|
|
|
enable_float = BoolSetting(
|
|
"""Enable the use of floating-point instructions""",
|
|
default=True)
|
|
|
|
enable_simd = BoolSetting(
|
|
"""Enable the use of SIMD instructions.""",
|
|
default=True)
|
|
|
|
enable_atomics = BoolSetting(
|
|
"""Enable the use of atomic instructions""",
|
|
default=True)
|
|
|
|
group.close(globals())
|