!(X || Y) && X --> false
https://alive2.llvm.org/ce/z/693Jgv
Details
Details
- Reviewers
spatel - Commits
- rG1fd4d91fa663: [InstSimplify] Fold !(X || Y) && X --> false
Diff Detail
Diff Detail
Unit Tests
Unit Tests
Event Timeline
llvm/lib/Analysis/InstructionSimplify.cpp | ||
---|---|---|
4565–4570 | I guess this pattern also can't accept undef/poision for vector case. |
llvm/lib/Analysis/InstructionSimplify.cpp | ||
---|---|---|
4565–4570 | Just ignore the comment. I am wrong. |
llvm/lib/Analysis/InstructionSimplify.cpp | ||
---|---|---|
4567–4568 | Shorten: if (match(Cond, m_Not(m_c_LogicalOr(m_Specific(TrueVal), m_Value())))) | |
llvm/test/Transforms/InstSimplify/select-logical.ll | ||
190 | typo: comute -> commute | |
223 | The FalseVal of %r is not zero, so this is not showing what the comment describes. This might need a TODO if we don't match the first select as logical-or? |
llvm/test/Transforms/InstSimplify/select-logical.ll | ||
---|---|---|
223 | I'm sorry , this should be a typo. |
Shorten: