[all-commits] [llvm/llvm-project] 86d558: [SCEVExpander] Recompute poison-generating flags o...
Max Kazantsev via All-commits
all-commits at lists.llvm.org
Mon Sep 12 22:56:54 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 86d5586d78d813a6921d786f7ddb1a41c6fb56e0
https://github.com/llvm/llvm-project/commit/86d5586d78d813a6921d786f7ddb1a41c6fb56e0
Author: Max Kazantsev <mkazantsev at azul.com>
Date: 2022-09-13 (Tue, 13 Sep 2022)
Changed paths:
M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/test/Transforms/IndVarSimplify/X86/pr57187.ll
Log Message:
-----------
[SCEVExpander] Recompute poison-generating flags on hoisting. PR57187
Instruction being hoisted could have nuw/nsw flags inferred from the old
context, and we cannot simply move it to the new location keeping them
because we are going to introduce new uses to them that didn't exist before.
Example in https://github.com/llvm/llvm-project/issues/57187 shows how
this can produce branch by poison from initially well-defined program.
This patch forcefully recomputes poison-generating flag in the new context.
Differential Revision: https://reviews.llvm.org/D132022
Reviewed By: fhahn, nikic
More information about the All-commits
mailing list