[all-commits] [llvm/llvm-project] 9bdcf7: [RISCV] Software guard direct calls in large code ...
Jesse Huang via All-commits
all-commits at lists.llvm.org
Thu Sep 26 22:04:38 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 9bdcf7aa18ae8061ebe2209433ddeecac4464bc2
https://github.com/llvm/llvm-project/commit/9bdcf7aa18ae8061ebe2209433ddeecac4464bc2
Author: Jesse Huang <jesse.huang at sifive.com>
Date: 2024-09-27 (Fri, 27 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/test/CodeGen/RISCV/calls.ll
M llvm/test/CodeGen/RISCV/tail-calls.ll
Log Message:
-----------
[RISCV] Software guard direct calls in large code model (#109377)
Support for large code model are added recently, and sementically
direct calls are lowered to an indirect branch with a constant pool target.
By default it does not use the x7 register and this is suboptimal with
Zicfilp because it introduces landing pad check, which is unnecessary
since the constant pool is read-only and unlikely to be tampered.
Change direct calls and tail calls to use x7 as the scratch
register (a.k.a. software guarded branch in the CFI spec)
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list