HomePhabricator

[LegacyPM] Use MapVector for OnTheFlyPassManagers.

Description

[LegacyPM] Use MapVector for OnTheFlyPassManagers.

Currently the iteration order of OnTheFlyManagers is not deterministic
between executions, which means some of test/Other/opt-*-pipeline.ll
tests fail non-deterministically if an additional on-the-fly manager is
added, as in D45330.

By using MapVector, we always iterate in the insertion order. As we are
not removing elements, there shouldn't be a performance hit, except that
we store an additional vector with the keys.

Reviewers: efriedma, chandlerc, pcc, jhenderson

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D47317

Details

Committed
fhahnMay 24 2018, 2:33 PM
Reviewer
efriedma
Differential Revision
D47317: [LegacyPM] Use MapVector for OnTheFlyPassManagers.
Parents
rL333230: [C-API] Add functions to create GDB, Intel, Oprofile event listeners.
Branches
Unknown
Tags
Unknown