aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@sifive.com>2025-10-07 21:30:09 -0700
committerGitHub <noreply@github.com>2025-10-07 21:30:09 -0700
commitbd1561d5f160a949c0bbf9bfbda3558eb62f98d7 (patch)
tree664f67336857550fece539e8a45fdd1f6717637c /llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
parent4ddc0f3ffd9c609b584db2d089aaec2cec820c06 (diff)
downloadllvm-bd1561d5f160a949c0bbf9bfbda3558eb62f98d7.zip
llvm-bd1561d5f160a949c0bbf9bfbda3558eb62f98d7.tar.gz
llvm-bd1561d5f160a949c0bbf9bfbda3558eb62f98d7.tar.bz2
[RISCV][GISel] Add manual isel for s8/s16/s32 load/store for the GPR bank. (#161995)
GISel doesn't distinquish integer and FP loads and stores. We only know which it is after register bank selection. This results in s16/s32 loads/stores on the GPR register bank that need to be selected. This required extra isel patterns not needed for SDAG and adding i16 and i32 to the GPR register class. Having i16/i32 on the GPR register class makes type interfence in tablegen less effective, requiring explicit casts to be added to patterns. It also increases the size of RISCVGenDAGISel.inc by 2K. This patch removes the extra isel patterns and replaces it with custom instruction selection similar to what is done on AArch64. A future patch will remove i16 and i32 from the GPR register class.
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
0 files changed, 0 insertions, 0 deletions