[analyzer] Unroll the loop when it has a unsigned counter.
The original implementation in the LoopUnrolling.cpp didn't consider the case where the counter is unsigned. This case is only handled in simpleCondition(), but this is not enough, we also need to deal with the unsinged counter with the counter initialization.
Since IntegerLiteral is signed, there is a ImplicitCastExpr<IntegralCast> in unsigned counter = IntergerLiteral. This patch add the ignoringParenImpCasts() in the IntegerLiteral matcher.
Reviewers: szepet, a.sidorin, NoQ, george.karpenkov
Reviewed By: szepet, george.karpenkov
Subscribers: xazax.hun, rnkovacs, cfe-commits, MTC
Differential Revision: https://reviews.llvm.org/D45086