EarlyCSE should not just ignore assumes. It should use the fact that its condition is true for all dominated instructions.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
Comment Actions
lgtm
| lib/Transforms/Scalar/EarlyCSE.cpp | ||
|---|---|---|
| 638 ↗ | (On Diff #96525) | I think you can do: Instruction *CondI;
if (match(Inst, m_Intrinsic<Intrinsic::assume>(m_Instruction(CondI))) &&
SimpleValue::canHandle(CondI))
AvailableValues.insert(CondI, ConstantInt::getTrue(BB->getContext())); |
Comment Actions
LGTM
I think we should constant fold the condition as well as infer it, but that can be a separate patch.