Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
  • GHC GHC
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 5,344
    • Issues 5,344
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 571
    • Merge requests 571
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Glasgow Haskell CompilerGlasgow Haskell Compiler
  • GHCGHC
  • Issues
  • #21083
Closed
Open
Issue created Feb 15, 2022 by Andreas Klebinger@AndreasKDeveloper

Consider running tag inference before byte code generation.

Currently it's not part of the "regular" stg2stg pipeline and also not run before we generate bytecode. But it's always run when generating Cmm.

I think the interpreter currently upholds the strict field variant (by always using constructor wrappers) so it doesn't need to run it. But it might be desireable to run it before bytecode gen just for consistency. It shouldn't make a big perf difference one way or another.

I might look into this in the future but it's not high priority at this point.


We decided not to do this for the time being. But we need to assert the byte code generator doesn't see constructor workers/strict workers to avoid this biting us in the future.

Edited Mar 11, 2022 by Andreas Klebinger
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking