[llvm-commits] [llvm] r149468 - in /llvm/trunk: docs/ include/llvm-c/ include/llvm-c/Transforms/ include/llvm/ include/llvm/Transforms/ include/llvm/Transforms/IPO/ lib/Transforms/ lib/Transforms/IPO/ lib/Transforms/Vectorize/ test/Transforms/BBVectorize/ tools/bugpoint/ tools/llvm-ld/ tools/lto/ tools/opt/

Duncan Sands baldrick at free.fr
Wed Feb 1 00:35:52 PST 2012


Hi Hal,

>>> +  if (Vectorize) {
>>> +    MPM.add(createBBVectorizePass());
>>> +    MPM.add(createInstructionCombiningPass());
>>> +    if (OptLevel>   1)
>>> +      MPM.add(createGVNPass());                 // Remove redundancies
>>
>> Whooooaa... GVN is *really* expensive, I find it hard to believe that
>> you want to run it twice even with vectorization on. Are you sure? What
>> is this doing that instcombine isn't?
>
> As I recall, this actually makes a big difference in the resulting code
> quality. I'll revisit this and make some more specific comments.

there is also the EarlyCSE pass, though of course it does much less than GVN.

Ciao, Duncan.



More information about the llvm-commits mailing list