[llvm] r233447 - [SCEV] Look at backedge dominating conditions.
Sanjoy Das
sanjoy at playingwithpointers.com
Wed Apr 1 11:33:43 PDT 2015
I just re-landed r233447 + a fix as rL233829. The new change has a fix
that avoids the compile-time blowup in 1.i. Please let me know if the
fix does not fix other cases you care about.
-- Sanjoy
On Tue, Mar 31, 2015 at 3:35 AM, Evgeniy Stepanov <eugenis at google.com> wrote:
> You latest patch does not help.
> Attaching a sample source file (this is a pre-processed bn_asm.c from
> openssl with a custom config).
> Build with -fsanitize=memory -O1.
>
>
>
> On Tue, Mar 31, 2015 at 1:27 AM, Sanjoy Das
> <sanjoy at playingwithpointers.com> wrote:
>>> The isSingleEdge() call you make in this patch will be linear time, sadly ;(
>>
>> Yes, looks like isSingleEdge is O(# of successors). It should be
>> possible to write a faster but less precise version of isSingleEdge
>> such that it only looks at blocks with two successors. I think I can
>> also exploit LoopInfo::isLoopExiting to make this faster.
>>
>> However, before I do any of the above, I want to understand what
>> actually is causing the slowdown. :)
>>
>> -- Sanjoy
More information about the llvm-commits
mailing list