Displaying 6 results from an estimated 6 matches for "defbb".
2015 Feb 25
4
[LLVMdev] Jump Theading/GVN bug - moving discussion to llvm-dev
....
>
> The code is, IMHO, not even self-consistent
>
>
> // Any unreachable use is dominated, even if Def == User.
> if (!isReachableFromEntry(UseBB))
> return true;
>
> // Unreachable definitions don't dominate anything.
> if (!isReachableFromEntry(DefBB))
> return false;
>
>
>
> Riddle me this: If unreachable definitions dominate nothing, how are
> unreachable uses always dominated by their unreachable defs?
I think the comment is just just missing an "otherwise" at the start.
If we were to define dominance rules...
2015 Feb 25
2
[LLVMdev] Jump Theading/GVN bug - moving discussion to llvm-dev
On 25 February 2015 at 10:58, Daniel Berlin <dberlin at dberlin.org> wrote:
>
>
> On Wed, Feb 25, 2015 at 6:26 AM, Rafael EspĂndola
> <rafael.espindola at gmail.com> wrote:
>>
>> > Maybe.
>> > My view is the ideal is either no-unreachable code, or unreachable
>> > blocks
>> > only contain terminators.
>>
>> I am
2014 May 15
4
[LLVMdev] SROA is slow when compiling a large basic block
...e whether we hit 'B' or the end first.
for (BasicBlock::const_iterator I = A, E = BB->end(); I != E; ++I) {
if (&*I == B)
return true;
}
DominatorTree::dominates
// Loop through the basic block until we find Def or User.
BasicBlock::const_iterator I = DefBB->begin();
for (; &*I != Def && &*I != User; ++I)
/*empty*/;
5. Simply give up doing SROA (and GVN::processLoad) if there is a huge
basic block that can potentially take a long time to compile.
-------------- next part --------------
An HTML attachment was scrubbed...
URL...
2014 May 15
2
[LLVMdev] SROA is slow when compiling a large basic block
...(BasicBlock::const_iterator I = A, E = BB->end(); I != E; ++I) {
>
> if (&*I == B)
>
> return true;
>
> }
>
> DominatorTree::dominates
>
> // Loop through the basic block until we find Def or User.
>
> BasicBlock::const_iterator I = DefBB->begin();
>
> for (; &*I != Def && &*I != User; ++I)
>
> /*empty*/;
>
> I'd be curious to see a proposal here. I've been bitten by the
> DT::dominates issue myself.
>
>
> I was hesitant to make changes in classes such as BasicBlock and...
2015 Feb 25
0
[LLVMdev] Jump Theading/GVN bug - moving discussion to llvm-dev
...en self-consistent
>>
>>
>> // Any unreachable use is dominated, even if Def == User.
>> if (!isReachableFromEntry(UseBB))
>> return true;
>>
>> // Unreachable definitions don't dominate anything.
>> if (!isReachableFromEntry(DefBB))
>> return false;
>>
>>
>>
>> Riddle me this: If unreachable definitions dominate nothing, how are
>> unreachable uses always dominated by their unreachable defs?
> I think the comment is just just missing an "otherwise" at the start.
>
>...
2015 Sep 21
4
When can the dominator tree not contain a node for a basic block?
When looking into https://llvm.org/bugs/show_bug.cgi?id=24866, I
discovered that the root cause of the crash is that I was expecting
every basic block to have a corresponding Node in the dominator tree.
Apparently, the "while.end" basic block in the example does not have a
Node in the Dominator Tree. Can anyone tell me if this is expected?
If so, under what circumstances?