Skip to content
  • Hal Finkel's avatar
    Disable unrolling in the loop vectorizer when disabled in the pass manager · 6d09904c
    Hal Finkel authored
    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).
    
    llvm-svn: 189499
    6d09904c
Loading