[all-commits] [llvm/llvm-project] 46af61: [JumpThreading] Use context when checking speculat...

Nikita Popov via All-commits all-commits at lists.llvm.org
Tue Jun 16 01:02:16 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 46af61a1236e7f1af155efac12eaa5155b0799e7
      https://github.com/llvm/llvm-project/commit/46af61a1236e7f1af155efac12eaa5155b0799e7
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/test/Transforms/JumpThreading/guards.ll

  Log Message:
  -----------
  [JumpThreading] Use context when checking speculatability (#203912)

Pass the terminator of the predecessor as context instruction when
checking for load speculatability. This needs to be done per
(unavailable) predecessor now, because the context is different. Cache
the guaranteed-to-transfer walk between checks, as that part if always
the same.

JumpThreading doesn't use AssumptionCache currently, so I believe this
is only observable under -use-dereferenceable-at-point-semantics. Adjust
the tests to drop nofree attributes that currently hide this issue with
the option enabled.



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