VM
-iree-vm-conversion
link
Converts from various dialects (standard, HAL, etc) to the VM dialect.
Optionslink
-index-bits : Target size of `index` when converted to an integer in bits.
-f32-extension : Whether the f32 extension is enabled in the target VM.
-f64-extension : Whether the f64 extension is enabled in the target VM.
-truncate-unsupported-floats : Truncate f64 types to f32 when the f64 extension is not enabled.
-optimize-for-stack-size : Prefer optimizations that reduce VM stack usage over performance.
-iree-vm-deduplicate-rodata
link
Deduplicates vm.rodata ops in the module.
-iree-vm-drop-empty-module-initializers
link
Drops __init/__deinit functions that have no ops.
-iree-vm-drop-unused-calls
link
Drops vm.call ops that have no side effects and are unused.
-iree-vm-global-initialization
link
Creates module-level global init/deinit functions.
Gathers all module-level global init/deinit functions into a single
location such that the runtime can init/deinit everything at once. This
hides the initialization order rules from the runtime behind singular
invocations (__init
and __deinit
) and prevents the need for the dynamic
linker to need initialization order metadata.
-iree-vm-hoist-inlined-rodata
link
Hoists inline vm.rodata.inline values to module-level constant storage.
-iree-vm-ordinal-allocation
link
Assigns module-unique ordinals to function/global/etc symbols within the module.
Assigns per-category ordinals to module-level symbols in the module. Each ordinal is unique per-category and ordinals are contiguous starting from zero.
-iree-vm-reify-rodata-tables
link
Reifies and pads vm.rodata.table.inline
ops.
Converts vm.rodata.table.inline
ops into two vm.rodata.inline
ops: one
for the flat data and the other for a newly constructed table for the
element subviews.
-iree-vm-resolve-rodata-loads
link
Resolves global loads of rodata ops to direct rodata references.
-iree-vm-sink-defining-ops
link
Sinks defining ops with few uses to their use-sites.
Sinks defining ops with few uses to their use-sites to reduce the total number of live registers at the cost of additional storage requirements.