Displaying 8 results from an estimated 8 matches for "hyperedge".
2016 Jun 08
2
Intended behavior of CGSCC pass manager.
...ptually, reference graph should also include variable nodes. With
> variable nodes introduced, the quadratic behavior mentioned can be avoided.
>
Yeah, this is what I was trying to get at with the statement "In the
current LazyCallGraph, this would require adding some sort of notion of
hyperedge."
But you are right: from an implementation perspective of a call graph data
structure that is trying to model the "ref graph" of LazyCallGraph, it is
cleaner to have nodes that are not functions than to introduce a notion of
hyperedge.
>
>
>
>
>>
>>
>&g...
2016 Jun 09
2
Intended behavior of CGSCC pass manager.
...ble nodes. With
>>> variable nodes introduced, the quadratic behavior mentioned can be avoided.
>>>
>>
>> Yeah, this is what I was trying to get at with the statement "In the
>> current LazyCallGraph, this would require adding some sort of notion of
>> hyperedge."
>> But you are right: from an implementation perspective of a call graph
>> data structure that is trying to model the "ref graph" of LazyCallGraph, it
>> is cleaner to have nodes that are not functions than to introduce a notion
>> of hyperedge.
>>
&g...
2016 Jun 16
5
Intended behavior of CGSCC pass manager.
...uadratic behavior mentioned can be
>>>>> avoided.
>>>>>
>>>>
>>>> Yeah, this is what I was trying to get at with the statement "In the
>>>> current LazyCallGraph, this would require adding some sort of notion of
>>>> hyperedge."
>>>> But you are right: from an implementation perspective of a call graph
>>>> data structure that is trying to model the "ref graph" of LazyCallGraph, it
>>>> is cleaner to have nodes that are not functions than to introduce a notion
>>&g...
2016 Jun 08
12
Intended behavior of CGSCC pass manager.
...hine.
This will also open the door to avoiding the potentially quadratic size of
the ref graph, since e.g. in the example I gave above, we can mark the
`funcs` array itself as already having been visited during the walk. In the
current LazyCallGraph, this would require adding some sort of notion of
hyperedge.
Since this is such a high priority (due to blocking PGO inlining), I will
probably try my hand at implementing the CGSCC pass manager sometime soon
unless somebody beats me to it. (I'll probably try the "open-coded SCC
visit" approach).
Another possibility is implementing the new C...
2016 Jun 08
0
Intended behavior of CGSCC pass manager.
...open the door to avoiding the potentially quadratic
> size of the ref graph, since e.g. in the example I gave above, we
> can mark the `funcs` array itself as already having been visited
> during the walk. In the current LazyCallGraph, this would require
> adding some sort of notion of hyperedge.
FWIW, I see no purpose in abstracting one algorithm, especially if that makes things algorithmically harder. Also, the LazyCallGraph abstraction and the iterator abstraction seem like separate issues. Iterator abstractions are often useful because you can use them in generic algorithms, etc.
>...
2016 Jun 08
3
Intended behavior of CGSCC pass manager.
...;> This will also open the door to avoiding the potentially quadratic size of the ref graph, since e.g. in the example I gave above, we can mark the `funcs` array itself as already having been visited during the walk. In the current LazyCallGraph, this would require adding some sort of notion of hyperedge.
>>
>> FWIW, I see no purpose in abstracting one algorithm, especially if that makes things algorithmically harder. Also, the LazyCallGraph abstraction and the iterator abstraction seem like separate issues. Iterator abstractions are often useful because you can use them in generic algo...
2016 Jun 08
2
Intended behavior of CGSCC pass manager.
...> This will also open the door to avoiding the potentially quadratic size of the ref graph, since e.g. in the example I gave above, we can mark the `funcs` array itself as already having been visited during the walk. In the current LazyCallGraph, this would require adding some sort of notion of hyperedge.
> FWIW, I see no purpose in abstracting one algorithm, especially if that makes things algorithmically harder. Also, the LazyCallGraph abstraction and the iterator abstraction seem like separate issues. Iterator abstractions are often useful because you can use them in generic algorithms, etc....
2016 Jun 08
2
Intended behavior of CGSCC pass manager.
...the ref graph, since e.g. in the example I gave above, we can mark
> the
> >>>> `funcs` array itself as already having been visited during the walk.
> In the
> >>>> current LazyCallGraph, this would require adding some sort of notion
> of
> >>>> hyperedge.
> >>>
> >>> FWIW, I see no purpose in abstracting one algorithm, especially if that
> >>> makes things algorithmically harder. Also, the LazyCallGraph
> abstraction and
> >>> the iterator abstraction seem like separate issues. Iterator
> abstra...