[all-commits] [llvm/llvm-project] 036af9: [Hexagon] Avoid predicating debug instructions (#2...

Brian Cain via All-commits all-commits at lists.llvm.org
Sun Aug 2 06:05:24 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 036af906f355771a5c2b3bb51a88d995c6010219
      https://github.com/llvm/llvm-project/commit/036af906f355771a5c2b3bb51a88d995c6010219
  Author: Brian Cain <brian.cain at oss.qualcomm.com>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonExpandCondsets.cpp
    A llvm/test/CodeGen/Hexagon/dont-predicate-debug.mir

  Log Message:
  -----------
  [Hexagon] Avoid predicating debug instructions (#212917)

The change is made in HexagonExpandCondsets::(predicate) function. The
debug instructions are not predicable as they cannot be separated into
conditional branches. So while predicating instructions in a machine
basic block if we encounter any debug instructions we need to skip these
instructions and continue with other instructions.

The scan that collects the registers defined and used between the
definition of the source register and the conditional transfer bailed
out as soon as it saw a non-virtual register operand, which a DBG_VALUE
can have. The transfer was then left as an unconditional A2_asrh plus an
A2_tfrf instead of being folded into a single predicated A4_pasrhf, so
again the generated code differed depending on whether debug info was
enabled.

Co-authored-by: Chandana Sinderikeri <csinderi at qti.qualcomm.com>



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