Sean,

Yes, this does sound like a better idea.  Thanks.

-John

-----Original Message-----
From: [email protected] [mailto:[email protected]] 
On Behalf Of Sean Silva
Sent: Thursday, October 17, 2013 5:12 PM
To: [email protected]; [email protected]
Cc: [email protected]
Subject: Re: [PATCH] PPCallbacksTest expansion - part 1


  Turning the preprocessor decisions into a serialized textual format is a 
great idea!

  Though this seems like it would be better done as an independent tool. I.e. 
one that reads its file on stdin (or as an argument) and prints out this 
information, for use in conjunction with FileCheck. That would allow idiomatic 
LLVM FileCheck testing similar to:

      ; RUN: opt < %s -sroa -S | FileCheck %s

  (that was from `llvm/test/Transforms/SROA/basictest.ll` but there are 
innumerable other examples).

  so the usage would be something like:

      ; RUN: pp-trace < %s | FileCheck %s

  That would also completely offload the burden of the pattern 
matching/specification to FileCheck, and integrate with developers' existing 
familiarity with FileCheck.


  Also, I'm not a huge fan of this ad-hoc serialization. Could you please use 
YAMLIO <http://llvm.org/docs/YamlIO.html> and have the output be YAML? YAMLIO 
is really simple to use once you get the hang of it. Look at LLVM's r183711 for 
a pretty minimal example; the code there only uses it for input, but YAMLIO is 
inherently bidirectional so output is just a matter of using `<<` rather than 
`>>`. Feel free to ask me questions too.

  YAML output would be *amazing*, since then it would be possible to write 
ad-hoc simple tools in any language (I'm thinking in particular scripting 
languages), for e.g. quickly checking assumptions, scoping out the prevalence 
of a particular pattern, etc.. Many languages have YAML parsers, and turning 
YAML into equivalent JSON is like a 10-line Python program, and then every 
language can access it.

http://llvm-reviews.chandlerc.com/D1966
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits



_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to