Add a legalize_signature method to TargetIsa.

This entry point will be used for controlling ABI conventions when
legalizing.

Provide an empty implementation for RISC-V and let the other ISAs crash
in legalization.

This is just the scaffolding. We still need to:

- Rewrite the entry block arguments to match the legalized signature.
- Rewrite call and return instructions.
- Implement the legalize_signature() function for all ISAs.
- Add shared generic types to help with the legalize_signature()
  functions.
This commit is contained in:
Jakob Stoklund Olesen
2017-03-01 11:53:52 -08:00
parent cb3e503f07
commit 408395db25
5 changed files with 54 additions and 7 deletions

View File

@@ -0,0 +1,12 @@
//! RISC-V ABI implementation.
//!
//! This module implements the RISC-V calling convention through the primary `legalize_signature()`
//! entry point.
use ir::Signature;
use settings as shared_settings;
/// Legalize `sig` for RISC-V.
pub fn legalize_signature(_sig: &mut Signature, _flags: &shared_settings::Flags) {
// TODO: Actually do something.
}