Make all stack spills indirect via C11.
Initial support for handling stack-allocated arrays in cap-stack mode.
This is a very ugly hack and is very fragile, but it works for simple examples...
Set length for all on-stack allocations.
Improve the capability stack pass so that it correctly generates C0-relative pointers when required.
Fix another pointer add case in SelectionDAG.
Make the CHERI stack access rewriting pass report its name.
Simplify the deletion of unused temporary instructions.
This avoids some cases where recursive invocation would try to delete the same instruction twice.
In a debug build, check that we haven't broken the module after each change.
Add support for propagating capabilities through bitcasts.
Trips through ptrtoint then inttoptr will still remain C pointers - for now we'll assume that was what was intended.
Add a flag to select the stack capability ABI.
Conditionally reserve C11 when the compiling for the stack-cap ABI.
Only run the stack rewriting pass for the stack-cap ABI.
Only do capability-relative stack spills with the stack-cap ABI.