[all-commits] [llvm/llvm-project] f0bd70: [CodeGen] Restore MachineBlockPlacement block orde...

John Brawn via All-commits all-commits at lists.llvm.org
Wed Jul 24 02:50:12 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f0bd705c9b6bd59496b44934a893a5b74085a376
      https://github.com/llvm/llvm-project/commit/f0bd705c9b6bd59496b44934a893a5b74085a376
  Author: John Brawn <john.brawn at arm.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineBlockPlacement.cpp
    A llvm/test/CodeGen/ARM/block-order.mir

  Log Message:
  -----------
  [CodeGen] Restore MachineBlockPlacement block ordering (#99351)

PR #91843 changed the algorithm used to find the next unplaced block so
that it iterates through the blocks in BlockFilter instead of iterating
through the blocks in the function and checking if they are in the block
filter. Unfortunately this sometimes results in a different block
ordering being chosen, as the order of blocks in BlockFilter comes from
the order in MachineLoopInfo, and in some cases this differs from the
order they are in the function. This can also give an end result that
has worse performance.

Fix this by making collectLoopBlockSet place blocks in its output in the
order that they are in the function.



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