[llvm-commits] [llvm] r86748 - in /llvm/trunk: include/llvm/Analysis/ include/llvm/CodeGen/ include/llvm/Transforms/Utils/ lib/Analysis/ lib/CodeGen/AsmPrinter/ lib/CodeGen/SelectionDAG/ lib/Transforms/Utils/

Devang Patel dpatel at apple.com
Wed Mar 10 17:06:36 PST 2010

>>> Thanks.  Is there a test for this ordering stability?
>> You mean test to reason why we use list instead of map because of ordering requirement ?
> I'm not exactly sure how to parse that question, so sorry if this
> isn't an appropriate answer, but I mean something under either test/
> or unittests/ that would fail if anyone removed the list or used the
> map where they should have used the list. For example, it could llc a
> file with several scopes and CHECK that the DW_whatevers appeared in a
> particular order. That would overspecify the requirement, I think, and
> so would need to be updated any time the logic changed, but it would
> fail if the output order depended on anything but the input.

No there is no such test. Such test would check retrieving objects from a pointers' map is not deterministic. And there are tons of places where llvm code base is careful, by using appropriate data structure,  to not introduce nondeterministic behavior. llvm-gcc bootstrap is very sensitive about such things and every one dreads bootstrap failures due to miscompare!


More information about the llvm-commits mailing list