aboutsummaryrefslogtreecommitdiff
path: root/src/ARMeilleure/Translation/RegisterUsage.cs
diff options
context:
space:
mode:
authorTSRBerry <20988865+TSRBerry@users.noreply.github.com>2023-06-26 07:25:06 +0200
committerGitHub <noreply@github.com>2023-06-26 07:25:06 +0200
commitff53dcf5607a82ad38388502b4cf5cc8cca77733 (patch)
treeeef4e2781d078ca62eee5da4ace8ed3323914c4a /src/ARMeilleure/Translation/RegisterUsage.cs
parent2de78a2d55a1306761788570ab192897299c55d8 (diff)
[ARMeilleure] Address dotnet-format issues (#5357)
* dotnet format style --severity info Some changes were manually reverted. * dotnet format analyzers --serverity info Some changes have been minimally adapted. * Restore a few unused methods and variables * Silence dotnet format IDE0060 warnings * Silence dotnet format IDE0052 warnings * Address or silence dotnet format IDE1006 warnings * Address or silence dotnet format CA2208 warnings * Address dotnet format CA1822 warnings * Address or silence dotnet format CA1069 warnings * Silence CA1806 and CA1834 issues * Address dotnet format CA1401 warnings * Fix new dotnet-format issues after rebase * Address review comments * Address dotnet format CA2208 warnings properly * Fix formatting for switch expressions * Address most dotnet format whitespace warnings * Apply dotnet format whitespace formatting A few of them have been manually reverted and the corresponding warning was silenced * Add previously silenced warnings back I have no clue how these disappeared * Revert formatting changes for OpCodeTable.cs * Enable formatting for a few cases again * Format if-blocks correctly * Enable formatting for a few more cases again * Fix inline comment alignment * Run dotnet format after rebase and remove unused usings - analyzers - style - whitespace * Disable 'prefer switch expression' rule * Add comments to disabled warnings * Remove a few unused parameters * Adjust namespaces * Simplify properties and array initialization, Use const when possible, Remove trailing commas * Start working on disabled warnings * Fix and silence a few dotnet-format warnings again * Address IDE0251 warnings * Address a few disabled IDE0060 warnings * Silence IDE0060 in .editorconfig * Revert "Simplify properties and array initialization, Use const when possible, Remove trailing commas" This reverts commit 9462e4136c0a2100dc28b20cf9542e06790aa67e. * dotnet format whitespace after rebase * First dotnet format pass * Remove unnecessary formatting exclusion * Add unsafe dotnet format changes * Change visibility of JitSupportDarwin to internal
Diffstat (limited to 'src/ARMeilleure/Translation/RegisterUsage.cs')
-rw-r--r--src/ARMeilleure/Translation/RegisterUsage.cs25
1 files changed, 13 insertions, 12 deletions
diff --git a/src/ARMeilleure/Translation/RegisterUsage.cs b/src/ARMeilleure/Translation/RegisterUsage.cs
index 3ec0a7b4..c8c25062 100644
--- a/src/ARMeilleure/Translation/RegisterUsage.cs
+++ b/src/ARMeilleure/Translation/RegisterUsage.cs
@@ -12,7 +12,7 @@ namespace ARMeilleure.Translation
static class RegisterUsage
{
private const int RegsCount = 32;
- private const int RegsMask = RegsCount - 1;
+ private const int RegsMask = RegsCount - 1;
private readonly struct RegisterMask : IEquatable<RegisterMask>
{
@@ -90,7 +90,7 @@ namespace ARMeilleure.Translation
public static void RunPass(ControlFlowGraph cfg, ExecutionMode mode)
{
// Compute local register inputs and outputs used inside blocks.
- RegisterMask[] localInputs = new RegisterMask[cfg.Blocks.Count];
+ RegisterMask[] localInputs = new RegisterMask[cfg.Blocks.Count];
RegisterMask[] localOutputs = new RegisterMask[cfg.Blocks.Count];
for (BasicBlock block = cfg.Blocks.First; block != null; block = block.ListNext)
@@ -119,7 +119,7 @@ namespace ARMeilleure.Translation
// Compute global register inputs and outputs used across blocks.
RegisterMask[] globalCmnOutputs = new RegisterMask[cfg.Blocks.Count];
- RegisterMask[] globalInputs = new RegisterMask[cfg.Blocks.Count];
+ RegisterMask[] globalInputs = new RegisterMask[cfg.Blocks.Count];
RegisterMask[] globalOutputs = new RegisterMask[cfg.Blocks.Count];
bool modified;
@@ -286,10 +286,12 @@ namespace ARMeilleure.Translation
switch (register.Type)
{
+#pragma warning disable IDE0055 // Disable formatting
case RegisterType.Flag: intMask = (1L << RegsCount) << register.Index; break;
case RegisterType.Integer: intMask = 1L << register.Index; break;
case RegisterType.FpFlag: vecMask = (1L << RegsCount) << register.Index; break;
case RegisterType.Vector: vecMask = 1L << register.Index; break;
+#pragma warning restore IDE0055
}
return new RegisterMask(intMask, vecMask);
@@ -373,15 +375,14 @@ namespace ARMeilleure.Translation
private static OperandType GetOperandType(RegisterType type, ExecutionMode mode)
{
- switch (type)
+ return type switch
{
- case RegisterType.Flag: return OperandType.I32;
- case RegisterType.FpFlag: return OperandType.I32;
- case RegisterType.Integer: return (mode == ExecutionMode.Aarch64) ? OperandType.I64 : OperandType.I32;
- case RegisterType.Vector: return OperandType.V128;
- }
-
- throw new ArgumentException($"Invalid register type \"{type}\".");
+ RegisterType.Flag => OperandType.I32,
+ RegisterType.FpFlag => OperandType.I32,
+ RegisterType.Integer => (mode == ExecutionMode.Aarch64) ? OperandType.I64 : OperandType.I32,
+ RegisterType.Vector => OperandType.V128,
+ _ => throw new ArgumentException($"Invalid register type \"{type}\"."),
+ };
}
private static bool EndsWithReturn(BasicBlock block)
@@ -391,4 +392,4 @@ namespace ARMeilleure.Translation
return last != default && last.Instruction == Instruction.Return;
}
}
-} \ No newline at end of file
+}