aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineCopyPropagation.cpp
diff options
context:
space:
mode:
authorPierre van Houtryve <pierre.vanhoutryve@amd.com>2025-05-08 13:22:57 +0200
committerGitHub <noreply@github.com>2025-05-08 13:22:57 +0200
commit534d221b63bb52f64e1f3ad3c40cfb87323d28ec (patch)
tree36ad21b0cb4fbf33ad66ee13008db325e03a0924 /llvm/lib/CodeGen/MachineCopyPropagation.cpp
parent0d47a4548c17b320e02e33a1e250792626652e59 (diff)
downloadllvm-534d221b63bb52f64e1f3ad3c40cfb87323d28ec.zip
llvm-534d221b63bb52f64e1f3ad3c40cfb87323d28ec.tar.gz
llvm-534d221b63bb52f64e1f3ad3c40cfb87323d28ec.tar.bz2
(reland) [GlobalISel] Diagnose inline assembly constraint lowering errors (#139049)
The initial patch (#135782 caused issues because it emits an error, and llc is sensitive to it. It also caused compiler-rt/lib/scudo/standalone/tests/wrappers_cpp_test.cpp to fail. Use warnings instead + reject lowering. That way, the fallback path is used without llc/clang returning a failure code. If fallback isn't enabled then the warnings provide context as to why lowering failed. Original commit description for #135782: Instead of printing something to dbgs (which is not visible to all users), emit a diagnostic like the DAG does. We still crash later because we fail to select the inline assembly, but at least now users will know why it's crashing. In a future patch we could also recover from the error like the DAG does, so the lowering can keep going until it either crashes or gives a different error later.
Diffstat (limited to 'llvm/lib/CodeGen/MachineCopyPropagation.cpp')
0 files changed, 0 insertions, 0 deletions