CHERIoT-Platform / llvm-project

Fork of LLVM adding CHERIoT, based on the CHERI LLVM fork
4 stars 6 forks source link

Add parameter attributes for {deep,shallow} {immutable, no-capture} permissions. #4

Open davidchisnall opened 1 year ago

davidchisnall commented 1 year ago

The CHERIoT ISA has permissions that are intended to be useful to remove on call boundaries:

We should add parameter attributes that allow these to be removed declaratively, especially on cross-compartment calls that don't. They should also add the relevant LLVM IR attributes to allow optimisation in the caller based on the properties that we're enforcing in hardware.