Skip to content

Remove baked base addresses; every address should be symbolic #199

Description

@kcirred

The backend can bake a kernel's HBM addresses in as arith.constant, computed from a fixed formula —
pointer i at i × 16 GiB. Nothing supports that path: compiler.py:221-229 already marks it
SOON TO BE DEPRECATED, and per docs/designs/level-d-fixture-coverage.md:385 all 28 device
compiles take the symbolic branch.
Remove it.

Delete

  • _SEGMENT_BYTES, _MAX_POINTER_ARGS, _elem_bytes, _segment_addresses,
    infer_base_addresses_from_ptr_types (backend/compiler.py:113-199); the
    if not options.symbolic_args: block in _make_ktir (:596-600); the .ktir-entry error
    (:651-661).
  • SpyreOptions.base_addresses and symbolic_args, the mutual-exclusion check (:291-296), the
    parse_options inference (:434-435).
  • lib/Transforms/MaterializeBaseAddresses.cpp, its Passes.td entry
    (include/Transforms/Passes.td:136-185), the Passes.h:27 factory declaration, and the 6 lit
    fixtures under test/Transforms/MaterializeBaseAddresses/.
  • bindBaseAddresses / baseAddresses on SpyrecodePipelineOptions (include/Pipeline.h:52-56) and
    the branch at lib/Pipeline.cpp:185-195, whose canonicalize + CSE exist only to fold the
    constants it introduces.
  • SpyreLauncher._check_argument_mode_agrees (backend/driver.py:316-351) — with one mode there is
    nothing to disagree with.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions