[llvm-commits] [llvm] r166423 - in /llvm/trunk: lib/Transforms/Vectorize/BBVectorize.cpp test/Transforms/BBVectorize/simple-ldstr.ll

Duncan Sands baldrick at free.fr
Wed Oct 24 00:23:29 PDT 2012


Hi Hal,

On 23/10/12 17:40, Hal Finkel wrote:
> ----- Original Message -----
>> From: "Duncan Sands" <baldrick at free.fr>
>> To: llvm-commits at cs.uiuc.edu
>> Sent: Tuesday, October 23, 2012 2:28:57 AM
>> Subject: Re: [llvm-commits] [llvm] r166423 - in /llvm/trunk: lib/Transforms/Vectorize/BBVectorize.cpp
>> test/Transforms/BBVectorize/simple-ldstr.ll
>>
>> Hi Hal,
>>
>>> BBVectorize should ignore unreachable blocks.
>>>
>>> Unreachable blocks can have invalid instructions. For example,
>>> jump threading can produce self-referential instructions in
>>> unreachable blocks. Also, we should not be spending time
>>> optimizing unreachable code. Fixes PR14133.
>>
>> it seems a pity to require the domtree just for this, and it seems
>> somehow
>> wrong for a per-basic-block pass to be looking at the overall
>> geometry of
>> the function.  Is it feasible to instead notice these kinds of
>> circular
>> self-uses (which may involve several instructions) and bail out when
>> you
>> see one?
>
> Yes, but:
>
>   1. I'm under the impression that we were getting the DomTree anyway via requiring ScalarEvolution (and so it is essentially free after that).

yes, this is true.  So please forget my objections!

Ciao, Duncan.

>   2. We don't want to spend time optimizing unreachable blocks regardless.
>
>   -Hal
>
>>
>> Ciao, Duncan.
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>
>




More information about the llvm-commits mailing list