diff options
author | Joel E. Denny <jdenny.ornl@gmail.com> | 2024-06-26 14:51:24 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-26 14:51:24 -0400 |
commit | d29fdfbc4e3b42e9ee0295049493ba7b1471772f (patch) | |
tree | d3835593f85b5f70c9081631cce99acf0097fc60 /llvm/lib/CodeGen/MachineFunctionPass.cpp | |
parent | 3f78d89a2e6170d206a6b91a93b3fdf5e46ab6db (diff) | |
download | llvm-d29fdfbc4e3b42e9ee0295049493ba7b1471772f.zip llvm-d29fdfbc4e3b42e9ee0295049493ba7b1471772f.tar.gz llvm-d29fdfbc4e3b42e9ee0295049493ba7b1471772f.tar.bz2 |
[LTO] Avoid assert fail on failed pass plugin load (#96691)
Without this patch, passing -load-pass-plugin=nonexistent.so to
llvm-lto2 produces a backtrace because LTOBackend.cpp does not handle
the error correctly:
```
Failed to load passes from 'nonexistant.so'. Request ignored.
Expected<T> must be checked before access or destruction.
Unchecked Expected<T> contained error:
Could not load library 'nonexistant.so': nonexistant.so: cannot open shared object file: No such file or directoryPLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
```
Any tool using `lto::Config::PassPlugins` should suffer similarly.
Based on the message "Request ignored" and the continue statement, the
intention was apparently to continue on failure to load a plugin.
However, no one appears to rely on that behavior now given that it
crashes instead, and terminating is consistent with opt.
Diffstat (limited to 'llvm/lib/CodeGen/MachineFunctionPass.cpp')
0 files changed, 0 insertions, 0 deletions