[all-commits] [llvm/llvm-project] 6cdf59: [InstCombine] If inst in unreachable refers to an ...

hanbeom via All-commits all-commits at lists.llvm.org
Wed Mar 6 00:42:45 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6cdf596c52f028ea7d150e0696f967fbff443ccf
      https://github.com/llvm/llvm-project/commit/6cdf596c52f028ea7d150e0696f967fbff443ccf
  Author: hanbeom <kese111 at gmail.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/Local.h
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/test/Transforms/InstCombine/phi-select-constant.ll
    M llvm/test/Transforms/InstCombine/pr63791.ll
    M llvm/test/Transforms/InstCombine/sink_to_unreachable.ll
    M llvm/test/Transforms/InstCombine/unreachable-code.ll

  Log Message:
  -----------
  [InstCombine] If inst in unreachable refers to an inst change it to poison (#78444)

Instructions in unreachable basic blocks are removed, but terminators
are not. In this case, even instructions that are only referenced by
a terminator, such as a return instruction, cannot be processed
properly.

This patch changes the operand of a return instruction in an
unreachable basic block to poison if it refers to the instruction,
allowing the instruction to be properly processed.

Fixes #65107.



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