[PATCH] D115247: [EarlyCSE] Retain poison flags, if program is UB if poison.
Florian Hahn via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Dec 10 11:58:10 PST 2021
fhahn marked an inline comment as done.
fhahn added inline comments.
================
Comment at: llvm/lib/Transforms/Scalar/EarlyCSE.cpp:1369
}
- if (auto *I = dyn_cast<Instruction>(V))
- I->andIRFlags(&Inst);
+ if (auto *I = dyn_cast<Instruction>(V)) {
+ if (programUndefinedIfPoison(I)) {
----------------
reames wrote:
> Per LangRef, nnan and ninf are poison generating. The handling on the other FMF flags is unclear to me. I'd suggest as a stepping stone restricting the preservation of flags to non-float instructions while leaving a clear TODO.
Update and added todo. D115527 still seems helpful, but probably only once the poison-generating FMFs are explicitly handled.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D115247/new/
https://reviews.llvm.org/D115247
More information about the llvm-commits
mailing list