[RFC] No longer look up bugpoint tools in PATH?

Hello all,

Earlier this week I sent up https://reviews.llvm.org/D54884, which changes how bugpoint finds executables it relies upon to reduce programs. Specifically:

  • Before: bugpoint would only look for ‘opt’ in the user’s PATH
  • After: bugpoint looks for ‘opt’ in the user’s PATH, and if it doesn’t find it, looks for ‘opt’ in the same directory as the bugpoint executable

I made this change because it saves me keystrokes: I always use bugpoint from a source build, and so it’s always placed in a build directory next to opt. By searching there, I no longer need to pass it the --opt-command option. I noticed that tools like Clang & lld behave this way as well.

On the patch Davide Italiano mentions that he’s always found it strange that bugpoint looks in the PATH at all! So I’m wondering: should I modify my patch to change bugpoint’s behavior, and no longer have it look up tools like ‘opt’ in the user PATH? On the one hand, I think people like Davide would find this more intuitive. On the other, I notice bugpoint also relies on tools like valgrind, which are typically not placed in the same build folder as LLVM tools, so those might be harder to look up and find.

I’m looking for people who use bugpoint regularly to respond with their own examples and use cases, to better inform me about how bugpoint should behave. Please let me know which PATH lookup behavior makes the most sense to you!

Thanks!

  • Brian Gesiak

On the patch Davide Italiano mentions that he's always found it

strange that bugpoint looks in the PATH at all!
Thats my impression as well!
Would be nice to remove that, saves some keystrokes (though now I do it subconsciously :wink: ).

regards,
Fedor.

Hello all,

Earlier this week I sent up https://reviews.llvm.org/D54884, which changes how bugpoint finds executables it relies upon to reduce programs. Specifically:

- Before: bugpoint would only look for 'opt' in the user's PATH
- After: bugpoint looks for 'opt' in the user's PATH, and if it doesn't find it, looks for 'opt' in the same directory as the bugpoint executable

I made this change because it saves me keystrokes: I always use bugpoint from a source build, and so it's always placed in a build directory next to opt. By searching there, I no longer need to pass it the --opt-command option. I noticed that tools like Clang & lld behave this way as well.

On the patch Davide Italiano mentions that he's always found it strange that bugpoint looks in the PATH at all! So I'm wondering: should I modify my patch to change bugpoint's behavior, and no longer have it look up tools like 'opt' in the user PATH?

Yes. It has certainly been a long-term annoyance that to make bugpoint use the opt built with bugpoint, I needed to change the PATH, or similar, when using the corresponding opt almost always what I want to do

On the one hand, I think people like Davide would find this more intuitive. On the other, I notice bugpoint also relies on tools like valgrind, which are typically not placed in the same build folder as LLVM tools, so those might be harder to look up and find.

valgrind or other "system" tools should still do a PATH lookup. That's a different matter.

-Hal

I'm looking for people who use bugpoint regularly to respond with their own examples and use cases, to better inform me about how bugpoint should behave. Please let me know which PATH lookup behavior makes the most sense to you!

Thanks!

- Brian Gesiak

+1

I’ve never found this behavior helpful.

– adrian

I guess I don't have to reiterate my point here as I originally
proposed this, so, of course +1.
You might want to wait another day or two to see if somebody is
opposed and then land the patch.