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