Guard widening should not spend efforts on dealing with guards with trivial true/false conditions.
Such guards can easily be eliminated by any further cleanup pass like instcombine. However we
should not unconditionally delete them because it may be profitable to widen other conditions
into such guards.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
Comment Actions
LGTM bar some minor stylistic stuff.
lib/Transforms/Scalar/GuardWidening.cpp | ||
---|---|---|
354 ↗ | (On Diff #158986) | Can we just check that it is constant? Booleans hardly get any values other than True/False... |
422 ↗ | (On Diff #158986) | Uh... that reads somewhat uneasy, as False/True values are way up and I first read them as just bools :) |