[llvm-dev] How to implement lowerReturn for poring GlobalISel to RISCV?

Friedman, Eli via llvm-dev llvm-dev at lists.llvm.org
Thu Dec 21 10:53:42 PST 2017


On 12/20/2017 9:03 PM, Leslie Zhai via llvm-dev wrote:
> Because there are separate trap return instructions[2] per privilege 
> level: MRET, SRET, and URET. MRET is always provided, while SRET must 
> be provided if supervisor mode is supported. URET is only provided if 
> user-mode traps are supported. and David added RISCV privileged 
> instructionsit[3], then merged into upstream, it might be more complex 
> than ARM[4] please give me some hint, thanks a lot!
>

lowerReturn corresponds to the LLVM IR "ret" instruction, which is 
always a normal function return (JALR), not a return from an interrupt.

-Eli

-- 
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project



More information about the llvm-dev mailing list