Open
Description
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?