class_docstr: Fold x * sigmoid(x) into silu(x)
  
  Given:
      %1 = sigmoid(x=%0)
      %2 = mul(x=%0, y=%1) or mul(x=%1, y=%0)
      ...
  
  Result:
      %3 = silu(%0)
      ...
code: def apply(self, prog):
      for f in prog.functions.values():
          block_changed = True
          while block_changed:
              block_changed = _fuse_activation_silu_block(f)
  
file_path: coremltools/coremltools/converters/mil/backend/mil/passes/fuse_activation_silu.py
imports: from coremltools.converters.mil.mil import Builder
  from coremltools.converters.mil.mil.passes.graph_pass import AbstractGraphPass
  from coremltools.converters.mil.mil.passes.helper import block_context_manager
  from coremltools.converters.mil.mil.passes.pass_registry import register_pass
label_desc: Use image node_id 1 for calling the fuse_activation_silu obj's underlying member method code with example usage: obj.apply(prog) without return types