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.
mzolotukhin edited edge metadata. Comment ActionsLGTM with minor nits. Thanks,
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 223556 llvm/include/llvm/Analysis/TargetTransformInfo.h
llvm/include/llvm/CodeGen/BasicTTIImpl.h
llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
|