Skip to content
Snippets Groups Projects
Commit 0a252c24 authored by Frederik Hennig's avatar Frederik Hennig
Browse files

move CanonicalizeSymbols pass to optimize_cpu

parent 5a65bc4e
No related branches found
No related tags found
1 merge request!373Symbol Canonicalization, Loop-Invariant Code Motion, and AST Factory
Pipeline #64896 passed
......@@ -3,7 +3,7 @@ from typing import cast
from .context import KernelCreationContext
from ..platforms import GenericCpu
from ..transformations import HoistLoopInvariantDeclarations
from ..transformations import CanonicalizeSymbols, HoistLoopInvariantDeclarations
from ..ast.structural import PsBlock
from ...config import CpuOptimConfig
......@@ -17,6 +17,9 @@ def optimize_cpu(
) -> PsBlock:
"""Carry out CPU-specific optimizations according to the given configuration."""
canonicalize = CanonicalizeSymbols(ctx, True)
kernel_ast = cast(PsBlock, canonicalize(kernel_ast))
hoist_invariants = HoistLoopInvariantDeclarations(ctx)
kernel_ast = cast(PsBlock, hoist_invariants(kernel_ast))
......
......@@ -26,7 +26,6 @@ from .backend.kernelcreation.iteration_space import (
from .backend.ast.analysis import collect_required_headers, collect_undefined_symbols
from .backend.transformations import (
CanonicalizeSymbols,
EliminateConstants,
EraseAnonymousStructTypes,
SelectFunctions,
......@@ -99,9 +98,6 @@ def create_kernel(
kernel_ast = platform.materialize_iteration_space(kernel_body, ispace)
# Simplifying transformations
canonicalize = CanonicalizeSymbols(ctx, True)
kernel_ast = cast(PsBlock, canonicalize(kernel_ast))
elim_constants = EliminateConstants(ctx, extract_constant_exprs=True)
kernel_ast = cast(PsBlock, elim_constants(kernel_ast))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment