Displaying 3 results from an estimated 3 matches for "nonaliasmemdefs".
2012 Oct 17
1
[LLVMdev] MI DAG constructor indeterminism
...ature. then couple questions:
First, I also do not see an easy way to restructure work sets in this case
- so let's assume std::map is needed here. Then the way I understand it,
there are five objects that cause the indeterminism:
std::map<const Value *, SUnit *> AliasMemDefs, NonAliasMemDefs;
std::map<const Value *, std::vector<SUnit *> > AliasMemUses,
NonAliasMemUses;
std::set<SUnit*> RejectMemNodes;
.since all of them at different point of time are traversed begin to end,
and as such are affected by pointer value.
The case of "std::set<SUnit*&...
2012 Oct 17
0
[LLVMdev] MI DAG constructor indeterminism
On Oct 16, 2012, at 1:43 PM, Sergei Larin <slarin at codeaurora.org> wrote:
>
> Andy,
>
> This is less of a question but rather a status quo verification…
>
> We currently have certain indeterminism in MI scheduler DAG construction – it is introduces by the use of std::map/std::set during edge traversal.
> Result – a random variation in SUnit edge order
2012 Oct 16
2
[LLVMdev] MI DAG constructor indeterminism
Andy,
This is less of a question but rather a status quo verification.
We currently have certain indeterminism in MI scheduler DAG construction
- it is introduces by the use of std::map/std::set during edge traversal.
Result - a random variation in SUnit edge order (which will remain fixed
thereafter). Logically, it is the same DAG, but topologically it is a
slightly different one,