[PATCH] Handle some cases of mismatched types in IRCE
Sanjoy Das
sanjoy at playingwithpointers.com
Sat Jan 24 12:57:38 PST 2015
> I understood your motivation, I just don't understand the code ;) -- why does calling forgetLoop(L) not clear the cache of backedge counts for loop L?
AFAICT it does, but only if NDEBUG is #defined and VerifyIndVars is
true. In other words, SimplifyIndVars has the "correct" behavior in
debug mode when run with '-verify-indvars'.
So one way to fix the problem is to just unconditionally call
SE->forgetLoop() after running indvars. But I am not sure if
SE->forgetLoop() is too big of a hammer when all I need is to adjust
the type of the backedge taken count.
-- Sanjoy
More information about the llvm-commits
mailing list