[PATCH] Disable unrolling in the loop vectorizer when disabled in the pass manager
Nadav Rotem
nrotem at apple.com
Wed Aug 28 10:46:15 PDT 2013
Hi Hal,
Thanks for working on this. I like your change. LGTM.
Nadav
On Aug 28, 2013, at 10:02 AM, Hal Finkel <hfinkel at anl.gov> wrote:
> Nadav, et al.,
>
> When unrolling is disabled in the pass manager, the loop vectorizer should also
> not unroll loops. This will allow the -fno-unroll-loops option in Clang to
> behave as expected (even for vectorizable loops). The loop vectorizer's
> -force-vector-unroll option will (continue to) override the pass-manager
> setting (including -force-vector-unroll=0 to force use of the internal
> auto-selection logic).
>
> In order to test this, I added a flag to opt (-disable-loop-unrolling) to force
> disable unrolling through opt (the analog of -fno-unroll-loops in Clang). Also,
> this fixes a small bug in opt where the loop vectorizer was enabled only after
> the pass manager populated the queue of passes (the global_alias.ll test needed
> a slight update to the RUN line as a result of this fix).
>
> Please review.
>
> Thanks again,
> Hal
>
> --
> Hal Finkel
> Assistant Computational Scientist
> Leadership Computing Facility
> Argonne National Laboratory
> <no_unroll_vec4.patch>
More information about the llvm-commits
mailing list