Sha256: 01d3887f4f1af2f855e267a02dd978460c7e4073bdc3d6d76dcb9ecf32e06fa1

Contents?: true

Size: 387 Bytes

Versions: 10

Compression:

Stored size: 387 Bytes

Contents

module Furnace
  module Transform
    module Optimizing
      class FoldConstants
        def transform(anf, method)
          anf.nodes.each do |node|
            if node.is_a? ANF::LetNode
              node.try_propagate
              node.try_eliminate
            end
          end
          anf.eliminate_dead_code

          [ anf, method ]
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
furnace-0.1.2 lib/furnace/transform/optimizing/fold_constants.rb
furnace-0.1.1 lib/furnace/transform/optimizing/fold_constants.rb
furnace-0.1.0 lib/furnace/transform/optimizing/fold_constants.rb
furnace-0.0.8 lib/furnace/transform/optimizing/fold_constants.rb
furnace-0.0.7 lib/furnace/transform/optimizing/fold_constants.rb
furnace-0.0.6 lib/furnace/transform/optimizing/fold_constants.rb
furnace-0.0.4 lib/furnace/transform/optimizing/fold_constants.rb
furnace-0.0.3 lib/furnace/transform/optimizing/fold_constants.rb
furnace-0.0.2 lib/furnace/transform/optimizing/fold_constants.rb
furnace-0.0.1 lib/furnace/transform/optimizing/fold_constants.rb