There was infinite loop because it was trying to change assume(true) into assume(true)
Also added handling when assume(false) appear
Details
Diff Detail
Event Timeline
Typo in summary, "There was ifinite loop" should say "infinite".
include/llvm/IR/Instructions.h | ||
---|---|---|
329 ↗ | (On Diff #33661) | This change isn't logically part of the const propagation bugfix. Either commit it separately or discard it. |
lib/Transforms/Scalar/GVN.cpp | ||
1778–1780 | GVN can directly modify the CFG (unlike InstCombine which calls setPreservesCFG). Rephrase the comment about unreachable instruction into a TODO. |
lib/Transforms/Scalar/GVN.cpp | ||
---|---|---|
1779 | Typo "cound" -> "could". |
I heard that accepting revision is stronger that LGTM, so no worries, nobody greps for it (or do they?).
FYI - LGTM is the 'official' sign off used by the community. We
frequently take an accepted phabricator revision to have been given an
LGTM, but that's not 'officially' okay. Doesn't really matter in
practice; I'm just being pedantic for the record.
Typo "cound" -> "could".