xref: /freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.cpp (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1 //=- AArch64MachineFunctionInfo.cpp - AArch64 Machine Function Info ---------=//
2 
3 //
4 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5 // See https://llvm.org/LICENSE.txt for license information.
6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //
8 //===----------------------------------------------------------------------===//
9 ///
10 /// \file
11 /// This file implements AArch64-specific per-machine-function
12 /// information.
13 ///
14 //===----------------------------------------------------------------------===//
15 
16 #include "AArch64MachineFunctionInfo.h"
17 
18 using namespace llvm;
19 
20 yaml::AArch64FunctionInfo::AArch64FunctionInfo(
21     const llvm::AArch64FunctionInfo &MFI)
22     : HasRedZone(MFI.hasRedZone()) {}
23 
24 void yaml::AArch64FunctionInfo::mappingImpl(yaml::IO &YamlIO) {
25   MappingTraits<AArch64FunctionInfo>::mapping(YamlIO, *this);
26 }
27 
28 void AArch64FunctionInfo::initializeBaseYamlFields(
29     const yaml::AArch64FunctionInfo &YamlMFI) {
30   if (YamlMFI.HasRedZone.hasValue())
31     HasRedZone = YamlMFI.HasRedZone;
32 }
33