[PATCH] Use loop unrolling pragma metadata in the loop unroller (take 2)

Hal Finkel hfinkel at anl.gov
Mon Jun 16 15:15:40 PDT 2014


----- Original Message -----
> From: "Mark Heffernan" <meheff at google.com>
> To: meheff at google.com, eliben at google.com, hfinkel at anl.gov, public at my.anl.gov, full at mailrelay.anl.gov, "name com"
> <name.com at mailrelay.anl.gov>
> Cc: llvm-commits at cs.uiuc.edu
> Sent: Monday, June 16, 2014 2:00:36 PM
> Subject: Re: [PATCH] Use loop unrolling pragma metadata in the loop unroller (take 2)
> 
> ================
> Comment at: lib/Transforms/Scalar/LoopUnrollPass.cpp:54
> @@ +53,3 @@
> +static cl::opt<unsigned>
> +PragmaUnrollThreshold("pragma-unroll-threshold", cl::init(4096),
> cl::Hidden,
> +  cl::desc("Unrolled size limit for loops with an unroll(enable) or
> "
> ----------------
> hfinkel at anl.gov wrote:
> > 4096 is much too small... we're worried about catching cases that
> > might cause us to segfault, right? Make this at least an order of
> > magnitude larger. You should experiment with this, take some
> > simple loop and set the limit so that the memory size increase is
> > limited to 200 MB or something like that.
> I built a release build and ran it over a simple loop with pragma
> unroll(enable) with various values.  Looks like 32K results in a
> couple hundred more MB being consumed so changed to that value.

Okay; I'm satisfied with this. Thanks! To be on the safe side, maybe cut it in half again (because because not all instructions contribute to the cost, so there is some variance here).

 -Hal

> 
> http://reviews.llvm.org/D4147
> 
> 
> 

-- 
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory



More information about the llvm-commits mailing list