-
Notifications
You must be signed in to change notification settings - Fork 481
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Restore auto generation of compiler option table #6373
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,6 +2,11 @@ | |
sidebar_position: 5 | ||
--- | ||
|
||
<!--- | ||
This file is generated by running plutus-tx-plugin:gen-plugin-opts-doc. | ||
Do NOT modify by hand. | ||
---> | ||
|
||
# Plutus Tx compiler options | ||
|
||
These options can be passed to the compiler via the `OPTIONS_GHC` pragma, for instance | ||
|
@@ -13,33 +18,34 @@ These options can be passed to the compiler via the `OPTIONS_GHC` pragma, for in | |
|
||
For each boolean option, you can add a `no-` prefix to switch it off, such as `no-typecheck`, `no-simplifier-beta`. | ||
|
||
| Option | Value Type | Default | Description | | ||
|----------------------------------|---------------|---------|-------------| | ||
| `conservative-optimisation` | Bool | False | When conservative optimisation is used, only the optimisations that never make the program worse (in terms of cost or size) are employed. Implies `no-relaxed-float-in`. | | ||
| `context-level` | Int | 1 | Set context level for error messages. | | ||
| `coverage-all` | Bool | False | Add all available coverage annotations in the trace output | | ||
| `coverage-boolean` | Bool | False | Add boolean coverage annotations in the trace output | | ||
| `coverage-location` | Bool | False | Add location coverage annotations in the trace output | | ||
| `defer-errors` | Bool | False | If a compilation error happens and this option is turned on, the compilation error is suppressed and the original Haskell expression is replaced with a runtime-error expression. | | ||
| `dump-compilation-trace` | Bool | False | Dump compilation trace for debugging | | ||
| `dump-pir` | Bool | False | Dump Plutus IR | | ||
| `dump-plc` | Bool | False | Dump Typed Plutus Core | | ||
| `dump-uplc` | Bool | False | Dump Untyped Plutus Core | | ||
| `max-cse-iterations` | Int | 4 | Set the max iterations for CSE | | ||
| `max-simplifier-iterations-pir` | Int | 12 | Set the max iterations for the PIR simplifier | | ||
| `max-simplifier-iterations-uplc` | Int | 12 | Set the max iterations for the UPLC simplifier | | ||
| `optimize` | Bool | True | Run optimization passes such as simplification and floating let-bindings. | | ||
| `pedantic` | Bool | False | Run type checker after each compilation pass | | ||
| `profile-all` | ProfileOpts | None | Set profiling options to All, which adds tracing when entering and exiting a term. | | ||
| `relaxed-float-in` | Bool | True | Use a more aggressive float-in pass, which often leads to reduced costs but may occasionally lead to slightly increased costs. | | ||
| `remove-trace` | Bool | False | Eliminate calls to `trace` from Plutus Core | | ||
| `simplifier-beta` | Bool | True | Run a simplification pass that performs beta transformations | | ||
| `simplifier-inline` | Bool | True | Run a simplification pass that performs inlining | | ||
| `simplifier-remove-dead-bindings`| Bool | True | Run a simplification pass that removes dead bindings | | ||
| `simplifier-unwrap-cancel` | Bool | True | Run a simplification pass that cancels unwrap/wrap pairs | | ||
| `strictify-bindings` | Bool | True | Run a simplification pass that makes bindings stricter | | ||
| `target-version` | Version | 1.1.0 | The target Plutus Core language version | | ||
| `typecheck` | Bool | True | Perform type checking during compilation. | | ||
| `verbosity` | Verbosity | Quiet | Set logging verbosity level (0=Quiet, 1=Verbose, 2=Debug) | | ||
|
||
|Option|Value Type|Default|Description| | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It's a pity that the nice alignment's gone in the raw markdown now, but that looks as if it'd be quite hard to fix. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yeah but the raw markdown has always been unreliable. |
||
|-|-|-|-| | ||
|`conservative-optimisation`|Bool|False|When conservative optimisation is used, only the optimisations that never make the program worse (in terms of cost or size) are employed. Implies `no-relaxed-float-in`, `no-inline-constants`, and `preserve-logging`.| | ||
|`context-level`|Int|1|Set context level for error messages.| | ||
|`coverage-all`|Bool|False|Add all available coverage annotations in the trace output| | ||
|`coverage-boolean`|Bool|False|Add boolean coverage annotations in the trace output| | ||
|`coverage-location`|Bool|False|Add location coverage annotations in the trace output| | ||
|`defer-errors`|Bool|False|If a compilation error happens and this option is turned on, the compilation error is suppressed and the original Haskell expression is replaced with a runtime-error expression.| | ||
|`dump-compilation-trace`|Bool|False|Dump compilation trace for debugging| | ||
|`dump-pir`|Bool|False|Dump Plutus IR| | ||
|`dump-tplc`|Bool|False|Dump Typed Plutus Core| | ||
|`dump-uplc`|Bool|False|Dump Untyped Plutus Core| | ||
|`inline-constants`|Bool|True|Always inline constants. Inlining constants always reduces script costs slightly, but may increase script sizes if a large constant is used more than once. Implied by `no-conservative-optimisation`.| | ||
|`max-cse-iterations`|Int|4|Set the max iterations for CSE| | ||
|`max-simplifier-iterations-pir`|Int|12|Set the max iterations for the PIR simplifier| | ||
|`max-simplifier-iterations-uplc`|Int|12|Set the max iterations for the UPLC simplifier| | ||
|`optimize`|Bool|True|Run optimization passes such as simplification and floating let-bindings.| | ||
|`pedantic`|Bool|False|Run type checker after each compilation pass| | ||
|`preserve-logging`|Bool|False|Turn off optimisations that may alter (i.e., add, remove or change the order of) trace messages. Implied by `conservative-optimisation`.| | ||
|`profile-all`|ProfileOpts|None|Set profiling options to All, which adds tracing when entering and exiting a term.| | ||
|`relaxed-float-in`|Bool|True|Use a more aggressive float-in pass, which often leads to reduced costs but may occasionally lead to slightly increased costs. Implied by `no-conservative-optimisation`.| | ||
|`remove-trace`|Bool|False|Eliminate calls to `trace` from Plutus Core| | ||
|`simplifier-beta`|Bool|True|Run a simplification pass that performs beta transformations| | ||
|`simplifier-inline`|Bool|True|Run a simplification pass that performs inlining| | ||
|`simplifier-remove-dead-bindings`|Bool|True|Run a simplification pass that removes dead bindings| | ||
|`simplifier-unwrap-cancel`|Bool|True|Run a simplification pass that cancels unwrap/wrap pairs| | ||
|`strictify-bindings`|Bool|True|Run a simplification pass that makes bindings stricter| | ||
|`target-version`|Version|1.1.0|The target Plutus Core language version| | ||
|`typecheck`|Bool|True|Perform type checking during compilation.| | ||
|`verbosity`|Verbosity|Quiet|Set logging verbosity level (0=Quiet, 1=Verbose, 2=Debug)| | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This appears if you look at the rendered markdown on GhiHub. Is it needed to produce the fancy documentation?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes