Fix potential overflow.
Use BEInsns instead of constant 2.
Add a function checking if LoopSize meet unroll preferences.
make check passed
spec2000 - build same for all
Paths
| Differential D21719
Unroll restructure ClosedPublic Authored by evstupac on Jun 24 2016, 7:01 PM.
Details
Summary Fix potential overflow. make check passed
Diff Detail
Event Timelineevstupac updated this object. Comment Actions Hi, Please find a couple of question/remarks below:
Is it possible to compose a test for it?
Why do we need it? At least, we can make it const I think. Thanks,
Comment Actions
That is regarding 32 bits multiplication: (LoopSize - BEInsns) * UP.Count I don't think we should make a test here. However I think it is possible.
That was comment from hfinkel in D19553.
This revision is now accepted and ready to land.Sep 27 2016, 6:46 PM Closed by commit rGc2698cd90313: Minor unroll pass refacoring. (authored by evstupac). · Explain WhyOct 7 2019, 6:40 AM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 61877 include/llvm/Analysis/TargetTransformInfo.h
lib/Transforms/Scalar/LoopUnrollPass.cpp
|
It would make sense to add the initialization to getUnrollingPreferences in BasicTTIImpl.h.