[all-commits] [llvm/llvm-project] 7e64a2: [InstSimplify][IR] Handle trapping constant aggreg...

Nikita Popov via All-commits all-commits at lists.llvm.org
Mon Jun 13 03:35:32 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7e64a29e58382b2616096d64a39c38075e51ebc3
      https://github.com/llvm/llvm-project/commit/7e64a29e58382b2616096d64a39c38075e51ebc3
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2022-06-13 (Mon, 13 Jun 2022)

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/IR/Constants.cpp
    M llvm/test/Transforms/InstSimplify/phi.ll

  Log Message:
  -----------
  [InstSimplify][IR] Handle trapping constant aggregate (PR49839)

Unfortunately, it's not just constant expressions that can trap,
we might also have a trapping constant expression nested inside
a constant aggregate.

Perform the check during phi folding on Constant rather than
ConstantExpr, and extend the Constant::mayTrap() implementation
to also recursive into ConstantAggregates, not just ConstantExprs.

Fixes https://github.com/llvm/llvm-project/issues/49839.




More information about the All-commits mailing list