Util
-iree-util-annotate-op-ordinalslink
Annotates ops with globally unique IDs for debugging.
-iree-util-apply-patternslink
Applies some risky/IREE-specific canonicalization patterns.
-iree-util-combine-initializerslink
Combines global initializers into one.
-iree-util-drop-compiler-hintslink
Deletes operations that have no runtime equivalent.
Deletes operations that have no runtime equivalent and are only used in the compiler. This should be performed after all other compiler passes.
-iree-util-dump-modulelink
Dumps the module IR to the given file path.
Dumps the module IR to the given file path in either textual (.mlir) or binary (.mlirbc) format. Source locations remain unchanged.
Optionslink
-path : File path to write the module text or binary into.
-iree-util-fixed-point-iteratorlink
Iterates a sub-pipeline to a fixed point.
-iree-util-fold-globalslink
Folds duplicate globals and propagates constants.
Statisticslink
global ops before folding : Number of util.global ops before folding
global ops after folding : Number of util.global ops after folding
-iree-util-fuse-globalslink
Fuses correlated globals together.
-iree-util-hoist-into-globalslink
Greedily hoists eligible constant expressions into globals.
Optionslink
-max-size-increase-threshold : Maximum byte size increase allowed for constant expr hoisting policy toallow hoisting. The threshold is 1MB by default.
-iree-util-import-resourceslink
Imports IR with arbitrary large-data into resources that IREE can manage efficiently
MLIR has many interesting ways to store large constants, most of which derive from *ElementsAttr. Given the uniquing/inline behavior, this exacts very large runtime and memory overhead costs.
This is a temporary pass to convert a majority of the legacy DenseElementsAttr attributes to DenseResourceElementsAttr. Ideally this is done at the source (frontend), but this pass is provided to aid transition and testing by doing a manual conversion with iree-opt.
-iree-util-ipolink
Performs basic inter-procedural optimization.
-iree-util-optimize-int-arithmeticlink
Optimizes integer arithmetic using a variety of dataflow analysis and patterns.
Optionslink
-narrow-to-i32 : Flag indicating if computations that can be performed with 32 bits should be. Mainly used for GPU code generation to not waste registers.
-iree-util-propagate-subrangeslink
Propagates resource subranges across the program.
-iree-util-simplify-global-accesseslink
Hoists loads and sinks stores to variables to decrease data dependency regions.
-iree-util-strip-and-splat-constantslink
Strips constant util.global ops and replaces them with splats.
-iree-util-strip-debug-opslink
Strips debug ops, like assertions.
-iree-util-test-conversionlink
Tests util dialect conversion patterns.
Optionslink
-widen-integers : Tests type conversion by widening integers to i32.
-structural-conversion : Tests generic structural conversion ops.
-iree-util-test-float-range-analysislink
Tests floating point range analysis.
Tests floating point range analysis by evaluating any 'iree_unregistered.test_fprange' op and setting the results on an attribute.