[all-commits] [llvm/llvm-project] 678420: [MCA][ResourceManager] Fix a bug in the instructio...

Andrea Di Biagio via All-commits all-commits at lists.llvm.org
Mon Sep 16 01:49:05 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6784202b6bb0930d2e4bf231e915c61e446b0585
      https://github.com/llvm/llvm-project/commit/6784202b6bb0930d2e4bf231e915c61e446b0585
  Author: Andrea Di Biagio <35701327+adibiagio at users.noreply.github.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h
    M llvm/lib/MCA/HardwareUnits/ResourceManager.cpp
    A llvm/test/tools/llvm-mca/X86/Znver4/partially-overlapping-group-resources.s

  Log Message:
  -----------
  [MCA][ResourceManager] Fix a bug in the instruction issue logic. (#108386)

Before this patch, the pipeline selection logic in
ResourceManager::issueInstruction() didn't know how to correctly handle
instructions which consume multiple partially overlapping resource
groups. In some cases (like the test case from #108157), the inability
to correctly allocate resources on instruction issue was leading to
crashes.

The presence of multiple partially overlapping groups complicates the
selection process by introducing extra constraints. For those cases, the
issue logic now prioritizes groups which are more constrained than
others.

Fixes #108157



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list