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