!(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
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/Analysis/InstructionSimplify.cpp | ||
---|---|---|
4564–4568 | I guess this pattern also can't accept undef/poision for vector case. |
llvm/lib/Analysis/InstructionSimplify.cpp | ||
---|---|---|
4564–4568 | Just ignore the comment. I am wrong. |
llvm/lib/Analysis/InstructionSimplify.cpp | ||
---|---|---|
4566–4567 | Shorten: if (match(Cond, m_Not(m_c_LogicalOr(m_Specific(TrueVal), m_Value())))) | |
llvm/test/Transforms/InstSimplify/select-logical.ll | ||
189–190 | typo: comute -> commute | |
224 | 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 | ||
---|---|---|
224 | I'm sorry , this should be a typo. |
Shorten: