Skip to content

[GitHub] Add description to llvm::instcombine label to cover instsimplify / vectorcombine as well #145286

Open
@RKSimon

Description

@RKSimon

CC @nikic @dtcxzyw

As explained here: https://llvm.org/docs/InstCombineContributorGuide.html#pick-the-correct-optimization-pass

Would it be OK to use the github label llvm::InstCombine to refer to the sibling passes as well:

    InstructionSimplify: For folds that do not create new instructions (either fold to existing value or constant).
    InstCombine: For folds that create or modify instructions.
    AggressiveInstCombine: For folds that are expensive, or violate InstCombine requirements.
    VectorCombine: For folds of vector operations that require target-dependent cost-modelling.

or would you prefer they all have separate labels?

The doc also refers to:

    ConstantFolding: For folding instructions with constant arguments to a constant. (Mainly relevant for intrinsics.)
    ValueTracking: For analyzing instructions, e.g. for known bits, non-zero, etc. Tests should usually use -passes=instsimplify.

But these probably should use the llvm::analysis label?

Metadata

Metadata

Assignees

No one assigned

    Labels

    github:workflowllvm:instcombineCovers the InstCombine, InstSimplify and AggressiveInstCombine passesquestionA question, not bug report. Check out https://llvm.org/docs/GettingInvolved.html instead!

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions