-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Generator based template for reproducing issues. #7999
base: main
Are you sure you want to change the base?
Conversation
d380f5d
to
43c055d
Compare
43c055d
to
ef6f7e9
Compare
For reference, here's the way I like to disagnose instruction selection issues, because I believe that's one reason you want this: To figure out issue #7972 I placed the following file and called it test/correctness/scratch.cpp
It dumps both llvm IR and raw assembly to stdout. I always use the target flags -no_runtime-no_bounds_query-no_asserts just to cut down on the size of the generated code. I then ran |
But it's not necessarily a correctness test, right? A few things I can remember on top of my head I want this for is to demonstrate stuff involving:
I haven't tried your approach, but it seems cumbersome to try to read the generated code from stdout, instead of using the nice tools we already have (like the Stmt HTML) etc. |
No, it's not a correctness test. I just put it there to put it somewhere the build system knows about. I prefer to just read stdout for small things. I'm not saying the PR isn't useful, I'm just letting you know my approach in case it's helpful. |
Good point. I updated the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I appreciate this effort, but as a reminder, CMake is the only Fully Supported way to build Halide; Make is still provided on a best-effort approach, but it breaks frequently (and indeed isn't building properly on my OSX laptop at present). We should really do everything we can to encourage people to work in CMake rather than Make.
Added a README as well on how I envision this being used. With this, I think I can quickly and efficiently open a few issues demonstrating some stuff.
I was a bit confused as to how the folder actually ever gets any files committed to. You make a PR demonstrating the issue, without solving it? In the readme it kinda looks pointless to first copy and rename the directory and reference the issue number.
Also, is the place where I put this fine?
Note, I did not yet attempt any CMake-based build for this template.
Feedback welcome!