[LLVMdev] [RFC] Removing BBVectorize?

Hal Finkel hfinkel at anl.gov
Thu Nov 27 21:10:19 PST 2014


Hi Everyone,

I propose that we remove BBVectorize from trunk. Here's why:

 - It never made it from "interesting experiment" to "production quality" (it is not part of any in-tree optimization pipeline).

 - We now have an SLP vectorizer that we do use in production, had have for some time.

 - BBVectorize otherwise needs refactoring, and the implementation has lots of cutoffs (because the underlying algorithm is asymptotically expensive).

 - It has bugs (the way it tracks anti-dependencies from calls, for example, is broken: PR20600).

In short, while BBVectorize was useful when it was added, it is unclear to me whether or not its continuing presence outweighs the ongoing maintenance costs and resulting user confusion (I still occasionally see users turning it on when they likely would be happier with the SLP vectorizer instead).

So, if you're using it and would like it to stay, please speak up! Also, BBVectorize has an API. Is anyone using it?

Thanks again (and happy Thanksgiving),
Hal

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



More information about the llvm-dev mailing list