[all-commits] [llvm/llvm-project] 8101d1: [Support] Assert that DomTree nodes share parent (...
Alexis Engelke via All-commits
all-commits at lists.llvm.org
Sat Aug 10 09:19:26 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 8101d1863cc3a6ca0ca49962903f2d7651b25659
https://github.com/llvm/llvm-project/commit/8101d1863cc3a6ca0ca49962903f2d7651b25659
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M llvm/include/llvm/Support/GenericDomTree.h
M llvm/lib/Analysis/TypeMetadataUtils.cpp
M llvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
A llvm/test/Transforms/AlignmentFromAssumptions/domtree-crash.ll
Log Message:
-----------
[Support] Assert that DomTree nodes share parent (#101198)
A dominance query of a block that is in a different function is
ill-defined, so assert that getNode() is only called for blocks that are
in the same function.
There are two cases, where this behavior did occur. LoopFuse didn't
explicitly do this, but didn't invalidate the SCEV block dispositions,
leaving dangling pointers to free'ed basic blocks behind, causing
use-after-free. We do, however, want to be able to dereference basic
blocks inside the dominator tree, so that we can refer to them by a
number stored inside the basic block.
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