Bugpoint support for miscompilations that result in a crash.

This change allows bugpoint to pinpoint the "opt" pass and bitcode
segment responsible for a crash caused by miscompilation. At least it
works well for me now, without having to create any custom execution
wrappers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131186 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Andrew Trick
2011-05-11 16:31:24 +00:00
parent de5d5ded64
commit 7c863eb8cc
6 changed files with 33 additions and 11 deletions

View File

@ -96,9 +96,11 @@ namespace sys {
///< expires, the child is killed and this call returns. If zero,
///< this function will wait until the child finishes or forever if
///< it doesn't.
std::string* ErrMsg ///< If non-zero, provides a pointer to a string
std::string* ErrMsg, ///< If non-zero, provides a pointer to a string
///< instance in which error messages will be returned. If the string
///< is non-empty upon return an error occurred while waiting.
const char *SignalPrefix ///< If non-zero, provides a prefix to be
///< prepended to ErrMsg if the process is terminated abnormally.
);
/// This function terminates the program.
@ -137,7 +139,8 @@ namespace sys {
const sys::Path** redirects = 0,
unsigned secondsToWait = 0,
unsigned memoryLimit = 0,
std::string* ErrMsg = 0);
std::string* ErrMsg = 0,
const char *SignalPrefix = 0);
/// A convenience function equivalent to Program prg; prg.Execute(..);
/// @see Execute