Class: Kumi::IR::DF::Passes::ImportInlining

Inherits:
Passes::Base show all
Defined in:
lib/kumi/ir/df/passes/import_inlining.rb

Defined Under Namespace

Classes: RegGenerator

Instance Method Summary collapse

Constructor Details

#initialize(loader: nil) ⇒ ImportInlining

Returns a new instance of ImportInlining.



8
9
10
# File 'lib/kumi/ir/df/passes/import_inlining.rb', line 8

def initialize(loader: nil)
  @loader = loader
end

Instance Method Details

#run(graph:, context: {}) ⇒ Object



12
13
14
15
16
17
18
19
# File 'lib/kumi/ir/df/passes/import_inlining.rb', line 12

def run(graph:, context: {})
  loader = @loader || build_loader(context)
  return graph unless loader

  @plans = context[:input_plans] || {}
  functions = graph.functions.values.map { |fn| rewrite_function(fn, loader) }
  Kumi::IR::DF::Graph.new(name: graph.name, functions: functions)
end