HomePhabricator

[bugpoint] Find 'opt', etc., in bugpoint directory

Description

[bugpoint] Find 'opt', etc., in bugpoint directory

Summary:
When bugpoint attempts to find the other executables it needs to run,
such as opt or clang, it tries searching the user's PATH. However,
in many cases, the 'bugpoint' executable is part of an LLVM build, and
the 'opt' executable it's looking for is in that same directory.

Many LLVM tools handle this case by using the Paths parameter of
llvm::sys::findProgramByName, passing the parent path of the currently
running executable. Do this same thing for bugpoint. However, to
preserve the current behavior exactly, first search the user's PATH,
and then search for 'opt' in the directory containing 'bugpoint'.

Test Plan:
check-llvm. Many of the existing bugpoint tests no longer need to use the
--opt-command option as a result of these changes.

Reviewers: MatzeB, silvas, davide

Reviewed By: MatzeB, davide

Subscribers: davide, llvm-commits

Differential Revision: https://reviews.llvm.org/D54884

Details

Committed
modocacheDec 9 2018, 4:56 PM
Reviewer
MatzeB
Differential Revision
D54884: [bugpoint] Find 'opt', etc., in bugpoint directory
Parents
rL348733: Re-commit "[IR] Add NODISCARD to attribute functions"
Branches
Unknown
Tags
Unknown