[PATCH] Add support to FileCheck for out-of-order matching

Jakob Stoklund Olesen stoklund at 2pi.dk
Wed Apr 10 20:32:45 PDT 2013


On Apr 10, 2013, at 3:33 PM, Chandler Carruth <chandlerc at google.com> wrote:

> For folks who missed the discussion, I (and others) have pushed back against this because fundamentally the output of the compiler should be deterministic and stable, even if arbitrary. So encoding a particular arbitrary ordering, while annoying when updating, hasn't historically been a huge burden. It might be a huge burden if it occurs in a very large number of places causing very large churn on innocent changes, but so far it has only come up in a small enough number of places to not be a huge issue. (Register names on the other hand when hard coded did become such a burden, and we've moved to consistently not hard code registers where doing so doesn't make sense.)

And now we are actively working on new scheduling models for ARM, x86, and PPC, and there is even a new MI scheduler.

It was a huge burden for me to fix all the hardcoded register names in test cases before switching register allocators. It will probably be just as much work for Andy to fix the hardcoded schedules. The sooner we can add this feature to FileCheck, the sooner people can start helping him with that task.

Stable output is vaguely defined for a rapidly evolving code generator, and it is a tertiary priority at best after code size and speed. We can test schedule stability in a handful test cases, sure, but spreading it over all 3600 codegen tests is an unreasonable maintenance burden to impose on backend developers.

/jakob

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130410/742042d1/attachment.html>


More information about the llvm-commits mailing list