[all-commits] [llvm/llvm-project] 65640c: [AssumeBundles] Dereferenceable used in bundle onl...
Florian Hahn via All-commits
all-commits at lists.llvm.org
Thu Feb 13 11:41:44 PST 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 65640c1d4c38bf4ff84d808ec440bc8df1236803
https://github.com/llvm/llvm-project/commit/65640c1d4c38bf4ff84d808ec440bc8df1236803
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/lib/Analysis/Loads.cpp
M llvm/test/Analysis/ValueTracking/assume-queries-counter.ll
M llvm/test/Analysis/ValueTracking/assume.ll
M llvm/test/Transforms/LICM/hoist-speculatable-load.ll
M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
M llvm/test/Transforms/SimplifyCFG/speculate-derefable-load.ll
Log Message:
-----------
[AssumeBundles] Dereferenceable used in bundle only applies at assume. (#126117)
Update LangRef and code using `Dereferenceable` in assume bundles to
only use the information if it is safe at the point of use.
`Dereferenceable` in an assume bundle is only guaranteed at the point of
the assumption, but may not be guaranteed at later points, because the
pointer may have been freed.
Update code using `Dereferenceable` to only use it if the pointer cannot
be freed. This can further be refined to check if the pointer could be
freed between assume and use.
This follows up on https://github.com/llvm/llvm-project/pull/123196.
With that change, it should be safe to expose dereferenceable
assumptions more widely as in
https://github.com/llvm/llvm-project/pull/121789
PR: https://github.com/llvm/llvm-project/pull/126117
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