aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/CommandLine.cpp
diff options
context:
space:
mode:
authorquic_hchandel <hchandel@qti.qualcomm.com>2025-09-03 12:35:38 +0530
committerGitHub <noreply@github.com>2025-09-03 12:35:38 +0530
commitd0363815dd4acde08168e930cb529ee10f86b838 (patch)
treec372ff7248283530e9d86af3acc9ca5c98ed2028 /llvm/lib/Support/CommandLine.cpp
parent655cdf2e45a108177f013a59f108d17a8a267783 (diff)
downloadllvm-d0363815dd4acde08168e930cb529ee10f86b838.zip
llvm-d0363815dd4acde08168e930cb529ee10f86b838.tar.gz
llvm-d0363815dd4acde08168e930cb529ee10f86b838.tar.bz2
[RISCV] Add changes to have better coverage for qc.insb and qc.insbi (#154135)
Before this patch, the selection for `QC_INSB` and `QC_INSBI` entirely happens in C++, and does not support more than one non-constant input. This patch seeks to rectify this shortcoming, by moving the C++ into a target-specific DAGCombine, and adding `RISCV::QC_INSB`. One advantage is this simplifies the code for handling `QC_INSBI`, as the C++ no longer needs to choose between the two instructions based on the inserted value (this is still done, but via ISel Patterns). Another advantage of the DAGCombine is that this introduction can also shift the inserted value to the `QC_INSB`, which our patterns need (and were previously doing to the constant), and this shift can be CSE'd/optimised with any prior shifts, if they exist. This allows the inserted value to be variable, rather than a constant.
Diffstat (limited to 'llvm/lib/Support/CommandLine.cpp')
0 files changed, 0 insertions, 0 deletions