Skip to content

@celox-sim/celox / index / OptimizeOptions

Interface: OptimizeOptions

Defined in: packages/celox/src/types.ts:188

Per-pass optimizer control flags. All default to true when omitted.

Properties

bitExtractPeephole?

optional bitExtractPeephole?: boolean

Defined in: packages/celox/src/types.ts:194

Converts (value >> shift) & mask patterns into direct ranged loads.


coalesceStores?

optional coalesceStores?: boolean

Defined in: packages/celox/src/types.ts:208

Merges consecutive narrow stores into wider Concat+Store operations.


commitSinking?

optional commitSinking?: boolean

Defined in: packages/celox/src/types.ts:200

Sinks commit operations closer to their use site.


eliminateDeadWorkingStores?

optional eliminateDeadWorkingStores?: boolean

Defined in: packages/celox/src/types.ts:204

Removes working-memory stores that are never read.


hoistCommonBranchLoads?

optional hoistCommonBranchLoads?: boolean

Defined in: packages/celox/src/types.ts:192

Hoists loads shared across all branches to the branch entry.


inlineCommitForwarding?

optional inlineCommitForwarding?: boolean

Defined in: packages/celox/src/types.ts:202

Inlines values forwarded through commit operations.


optimizeBlocks?

optional optimizeBlocks?: boolean

Defined in: packages/celox/src/types.ts:196

General block-level optimizations (dead block removal, merging).


reschedule?

optional reschedule?: boolean

Defined in: packages/celox/src/types.ts:206

Reorders instructions for better Cranelift code generation.


splitWideCommits?

optional splitWideCommits?: boolean

Defined in: packages/celox/src/types.ts:198

Splits wide commit operations into narrower ones for efficiency.


storeLoadForwarding?

optional storeLoadForwarding?: boolean

Defined in: packages/celox/src/types.ts:190

Store-load forwarding: propagates stored values to subsequent loads.